Ambigious reference to member request() issues with Alamofire after migration to swift 3
I have Alamofire swift3
branch working in Xcode 8.0 ß6 with the following code:
Alamofire.request("https://\(ip)/api/version", withMethod: .get,
parameters: nil, encoding: .json, headers: headers)
.validate()
.responseJSON { response in
//debugPrint(response)
switch response.result {
case .success:
if let JSON = response.result.value {
let version = Mapper<Version>().map(JSON)
print("Version \(version?.server!)")
}
case .failure(let error):
print (error)
}
}
Pay close attention to the order and types of your arguments to .request
You should have only one Alamofire framework active. Try to redo it in another clone, or maybe try the following in the clone you have?
pod cache clean --all
pod install
What does your Podfile
have in it?
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'NewApp' do
pod 'Alamofire',
:git => 'https://github.com/Alamofire/Alamofire.git',
:branch => 'swift3'
end
I had the same problem - they reordered parameters in the method, so now '.get' should be placed after withMethod.
If you use Alamofire 4.0 in your project (I assume you do, because this error I got on version 4) you need to write
Alamofire.request(serverRequest, withMethod: .get)
or for example
Alamofire.request(serverRequest, withMethod: .get, parameters: nil, encoding: .url, headers: nil)