ユーザーのカメラロール/写真ライブラリから取得した、ユーザーが送信した写真の GPS 座標にアクセスする必要があります。現代性のために、ALAsset の代わりに PHAsset を実装しています。
ユーザーの現在の場所を出力でき、"NSLocationAlwaysUsageDescription"、"NSLocationWhenInUseDescription"、および "privacy - location usage description" キーを info.plist ファイルに追加したため、位置情報サービスが有効になっていることがわかりました。ViewController の .h ファイルに CoreLocation、MobileCoreServices、および Photos をインポートしました。
didFinishPickingMediaWithInfo デリゲート メソッドの現在のコードは次のとおりです。
NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];
PHFetchResult *res = [PHAsset fetchAssetsWithALAssetURLs:[NSArray arrayWithObject:url] options:nil];
PHAsset *thisPhoto = [res objectAtIndex: 0];
CLLocation *photoLocation = [thisPhoto location];
NSLog(@"%@", photoLocation);
何らかの理由で、これは常に (null) を出力します。PHAsset の位置データへのアクセスを妨げているものはありますか? [PHAsset creationDate] は選択したどの写真に対しても正常に機能するため、PHAsset が適切に割り当てられていることがわかります。
ありがとう!