0
현재 cocoapods 1.1.0.rc.2를 사용하고 있습니다. Alamofire 포드를 설치했습니다. 1.1.0.rc.2 버전에서는 swift 3.0에서도 작동합니다. 그러나 나는 다음과 같은 열거 형이를 구축 할 때 나는 다음과 같은 오류가 발생하지만enum 라우터 선언 Alamofire swift 3.0
enum Router: URLRequestConvertible {
static let baseURLString = "https://api.instagram.com"
static let clientID = "myID"
static let redirectURI = "http://www.example.com/"
static let clientSecret = "mySecret"
case PopularPhotos(String, String)
case requestOauthCode
static func requestAccessTokenURLStringAndParms(code: String) -> (URLString: String, Params: [String: AnyObject]) {
let params = ["client_id": Router.clientID, "client_secret": Router.clientSecret, "grant_type": "authorization_code", "redirect_uri": Router.redirectURI, "code": code]
let pathString = "/oauth/access_token"
let urlString = Instagram.Router.baseURLString + pathString
return (urlString, params as [String : AnyObject])
}
// MARK: URLRequestConvertible
var URLRequest: NSMutableURLRequest {
let result: (path: String, parameters: [String: AnyObject]?) = {
switch self {
case .PopularPhotos (let userID, let accessToken):
let params = ["access_token": accessToken]
let pathString = "/v1/users/" + userID + "/media/recent"
return (pathString, params as [String : AnyObject]?)
case .requestOauthCode:
let pathString = "/oauth/authorize/?client_id=" + Router.clientID + "&redirect_uri=" + Router.redirectURI + "&response_type=code"
return (pathString, nil)
}
}()
let baseURL = NSURL(string: Router.baseURLString)!
let URLRequest = NSURLRequest(url: NSURL(string: result.path ,relativeTo:baseURL as URL)! as URL)
let encoding = Alamofire.ParameterEncoding.encode(baseURL as! ParameterEncoding)
//let encoding = Alamofire.ParameterEncoding.URL
return encoding.encode(URLRequest, parameters: result.parameters).0
}
}
을 선언하기 위해 노력하고있어.
Type 'Router' does not conform to protocol 'URLRequestConvertible'
내가 여기에없는 것을 아는 사람이 있습니까?
동일한 문제가 발생합니다. 이것에 대한 해결책을 찾았습니까? 감사합니다 –
@ravisendhav 아니요 아직 불행히도 아무것도 발견하지 못했습니다 – NoSixties
당신은 내 아래 게시물 에서이 솔루션을 확인할 수 있습니다. –