我需要访问源自用户的相机胶卷/照片库的用户提交照片的 GPS 坐标。为了现代性,我正在实施 PHAsset 而不是 ALAsset。
我知道位置服务已启用,因为我可以打印出用户的当前位置,并在我的 info.plist 文件中添加了“NSLocationAlwaysUsageDescription”、“NSLocationWhenInUseDescription”和“privacy - location usage description”键。我在 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 已正确分配,因为 [PHAsset creationDate] 适用于我选择的任何照片。
谢谢!