Когда я использую ImagePicker от sourceType.camera, я хочу получить AssetUrl, чтобы получить объект PHAsset. Я звонил Info[UIImagePickerControllerReferenceURL]
, но всегда nil
. Есть ли способ решить эту проблему? или какие-то другие пути заменены? Я использую Xcode 8.3 и Swift 3.1.
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
//
if info[UIImagePickerControllerReferenceURL] != nil{
let imageAssetUrl: URL = (info[UIImagePickerControllerReferenceURL] as? URL)!
print("\(imageAssetUrl)")
let allPhotosOptions = PHFetchOptions()
// sort by create
allPhotosOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
//OriginalImage
allPhotosOptions.predicate = NSPredicate(format: "mediaType = %d", PHAssetMediaType.image.rawValue)
let fetchResult = PHAsset.fetchAssets(withALAssetURLs: [imageAssetUrl], options: allPhotosOptions)
if fetchResult.count > 0 {
let asset = fetchResult.firstObject
}
}
picker.dismiss(animated: true) {
//
}
}