UIImagePickerController Camera
を撮った画像の場所を取得する方法を複数試みました。私が達成したい何UIImagePickerControllerから画像の位置を取得
は私がUIImagePickerController
Camera
を使用して画像を選択したい、ということであると私はそれだけで、私はそれからPHAsset
ともそれに関連する場所を取り戻すことができPhoto Library
にそれを保存する必要があります。
//MARK: Saving an Image to PhotoLibrary and taking back the PHAsset
class func savingThis(image : UIImage, completion : (asset : PHAsset?) ->())
{
var localIdentifier : String?
let imageManager = PHPhotoLibrary.sharedPhotoLibrary()
imageManager.performChanges({() -> Void in
let request = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
if let properAsset = request.placeholderForCreatedAsset {
localIdentifier = properAsset.localIdentifier
}
else {
completion(asset: nil)
}
}, completionHandler: { (success, error) -> Void in
if let properLocalIdentifier = localIdentifier {
let result = PHAsset.fetchAssetsWithLocalIdentifiers([properLocalIdentifier], options: nil)
if result.count > 0 {
completion(asset: result[0] as? PHAsset)
}
else {
completion(asset: nil)
}
}
else {
completion(asset: nil)
}
})
}
PHAssetを保存して戻すためにこのコードを試しました。しかし、問題は、このPHAsset
には、それに関連する場所が何もないという理由がありますか?そして私が見逃したことは?
GPS
のデータを画像のメタデータに手動で設定する必要はありません。私はPhotos Framework
またはAsset Library
がそれを処理すると思います。だから、Asset Library
は廃止されましたが、私たちの唯一の選択肢はPhotos Framework
です。オンラインで読むと、Photo Library
に画像を保存することができます。正しいのではないですか?
代替手段はありますか?画像をCamera Roll
に保存するには、UIImageWriteToSavedPhotosAlbum
メソッドを使用する必要があります。Photos Framework
を使用して、最近の写真を取り戻すことができます。しかし、私はUIImageWriteToSavedPhotosAlbum
が場所物を世話するとは思わない。
あなたは考えがありますか?
画像のパスを取得しようとしていますか? –
私はUIImagePickerControllerのソースタイプとしてCameraを設定して、新しい写真を撮るためにUIImagePickerControllerを使用しています。画像を選択した後、画像をフォトライブラリに保存し、PHAssetとして取り戻します。 PHAssetには関連付けられた場所がありません.PHAssetを使用して場所を欲しいです。 –