San*_*rar 2 objective-c deprecated ios swift ios9
我通过以下链接演示了如何将文件从 Gallery 复制到应用程序或其他目录(正确答案):
如何将 iOS 照片库 (ALAssetsLibrary) 中的图像文件复制到应用程序的本地目录?
但是对于 ALAssetsLibrary 类文档,Apple 表示它现在已从 iOS 9.0 开始弃用,而是使用照片框架。
自 iOS 9.0 起,资产库框架已弃用。相反,请改用照片框架,它在 iOS 8.0 及更高版本中提供更多功能和更好的性能来处理用户的照片库。有关更多信息,请参阅照片框架参考。
如何使用照片框架将资源从图库复制到其他 URL?
这似乎相当容易。我为可能有帮助的人添加了一个示例代码:
var item: PHAsset! // you update with actual PHAsset at runtime
let docuPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.ApplicationDirectory, NSSearchPathDomainMask.UserDomainMask, true) as NSArray
let targetImgeURL = (docuPath[0] as! String) + "/IMG_0005.JPG"
let phManager = PHImageManager.defaultManager()
let options = PHImageRequestOptions()
options.synchronous = true; // do it if you want things running in background thread
phManager.requestImageDataForAsset(item, options: options)
{ imageData,dataUTI,orientation,info in
if let newData:NSData = imageData
{
try! newData.writeToFile(targetImgeURL, atomically: true)
}
}
Run Code Online (Sandbox Code Playgroud)