我想初始化一個Alamofire Manager
與DVR Session
爲了記錄和回放測試的網絡請求。當Manager
's initializer訪問Session
的代表時,它會拋出一個unrecognized selector
異常。如果任何人使用Alamofire
和DVR
在一起,你能分享你的初始化代碼嗎?如何使用DVR會話初始化Alamofire Manager?
這是我有:在Alamofire
let api: OurAPI
let maybeSession = dvrCassetteName.flatMap{ cassetteName -> Session? in
let delegate = Manager.SessionDelegate()
let backingSession = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration(), delegate: delegate, delegateQueue: nil)
let maybeBundle = NSBundle.allBundles().filter{ $0.bundlePath.lowercaseString.containsString("xctest") }.first
if let bundle = maybeBundle {
let session = Session(outputDirectory: "~/Desktop/DVR/", cassetteName: cassetteName, testBundle: bundle, backingSession: backingSession)
return session
} else {
return nil
}
}
if let session = maybeSession, manager = Alamofire.Manager(session: session, delegate: Manager.SessionDelegate()) {
api = OurAPI(manager: manager)
} else {
api = OurAPI()
}
Here's the PR,介紹我使用的初始化,在其討論他們討論我的使用情況,但有沒有unrecognized selector
提及。我也試過撥DVR
並覆蓋delegate
指向backingSession.delegate
但仍然得到例外。