これは、私が読んだすべての例とドキュメントに基づいて非常に簡単なもののようですが、奇妙な理由でこれを機能させることができません。
Alamofire Frame work を使用して、instagram からビデオをダウンロードしています。ダウンロードしたら、ビデオをカメラロールに保存したいと思います。ビデオをダウンロードしてディスクに保存するコードは次のとおりです。
let destination: (NSURL, NSHTTPURLResponse) -> (NSURL) = {
(temporaryURL, response) in
if let directoryURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as? NSURL {
let finalPath = directoryURL.URLByAppendingPathComponent("\(Scripts.dateToString2(date: NSDate())).\(response.suggestedFilename!)")
InstagramEngine.downloadMediaPath = finalPath
Scripts.log("Final Path >> \(finalPath)")
return finalPath
}
return temporaryURL
}
let request = Alamofire.download(.GET, self.videoURL, destination)
request.response { _, response, data, error in
NSNotificationCenter.defaultCenter().postNotificationName(kMediaDownloadComplete, object: nil)
}
ダウンロードが完了すると、この関数を呼び出してカメラロールに保存する通知がトリガーされます。
UISaveVideoAtPathToSavedPhotosAlbum(InstagramEngine.downloadMediaPath.URLString, self, Selector("video:didFinishSavingWithError:contextInfo:"), nil)
ログステートメントに基づいてすべてが呼び出されており、エラーは発生していません。UISaveVideoAtPathToSavedPhotosAlbum に対して didFinishSavingWithError も正常に呼び出されており、エラーが見つからないことを確認しました。しかし、カメラロールを確認すると、そこにはまだビデオが保存されていません。何か案は?