通过UIImagepickerController在swift中获取元数据 [英] Getting metadata in swift by UIImagepickerController
本文介绍了通过UIImagepickerController在swift中获取元数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在Objective-C的 iOS 8 UIImage元数据中实现答案在SWIFT中如下
I'm trying to implement the answer in iOS 8 UIImage Metadata for Objective-C in SWIFT as follows
//source: http://stackanswers.com/questions/24227578/ios-8-uiimage-metadata
func metaDataFromAssetLibrary(info: NSDictionary) {
var assetURL = info.objectForKey(UIImagePickerControllerReferenceURL) as NSURL
var assetLibrary = ALAssetsLibrary()
assetLibrary.assetForURL(assetURL as NSURL, resultBlock: {
(asset: ALAsset!) in
var metadata: NSDictionary = asset.defaultRepresentation().metadata() as NSDictionary
NSLog ("imageMetaData from AssetLibrary %@",metadata);
}, failureBlock: {
(error: NSError!) in
NSLog("Error!")
})
}
我用
func imagePickerController(picker: UIImagePickerController!, didFinishPickingMediaWithInfo info: NSDictionary!){
// https://stackoverflow.com/questions/3088874/didfinishpickingmediawithinfo-return-nil-photo
picker.dismissViewControllerAnimated(true, completion: nil)
let image = info.objectForKey("UIImagePickerControllerOriginalImage") as UIImage
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let createAssetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
let assetPlaceholder = createAssetRequest.placeholderForCreatedAsset
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.assetCollection, assets: self.photosAsset)
albumChangeRequest.addAssets([assetPlaceholder])
}, completionHandler: {(success, error)in
NSLog("Adding Image to Library -> %@", (success ? "Sucess":"Error!"))
picker.dismissViewControllerAnimated(true, completion: nil)
})
metaDataFromAssetLibrary(info)
}
导致致命错误:在解包可选值时意外发现nil
which results in a "fatal error: unexpectedly found nil while unwrapping an Optional value"
推荐答案
试试这段代码:
let metadata = info[UIImagePickerControllerMediaMetadata] as? NSDictionary
let image = info[UIImagePickerControllerOriginalImage] as? UIImage
这篇关于通过UIImagepickerController在swift中获取元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文