Как, черт возьми, получить полный URL-адрес изображения на iOS с помощью UIImagePickerController, используя новый материал PHAsset, поскольку материал ALAssetLibrary устарел?
Как получить полный URL-адрес изображения на iOS с помощью UIImagePickerController, используя новый материал PHAsset
Ответы (1)
Мне было ужасно трудно найти ответ на этот вопрос, поэтому, чтобы помочь людям в будущем, вот мой код, который работает, чтобы получить фактический URL-адрес файла для фотографии, выбранной с помощью встроенного в iOS UIImagePickerController. Все еще немного нервничаете по поводу использования URL-адреса ALAsset для получения PHAsset, если вы знаете другой способ сделать это, то непременно поделитесь.
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSURL* sourceURL = [info objectForKey:UIImagePickerControllerReferenceURL];
if (sourceURL != nil) {
PHAsset* asset = [[PHAsset fetchAssetsWithALAssetURLs:@[sourceURL] options:nil] lastObject];
PHContentEditingInputRequestOptions* assetOptions = [[PHContentEditingInputRequestOptions alloc] init];
[assetOptions setNetworkAccessAllowed:false];
[asset requestContentEditingInputWithOptions:assetOptions
completionHandler:^(PHContentEditingInput* contentEditingInput, NSDictionary* info) {
NSURL* fullImageURL = contentEditingInput.fullSizeImageURL;
printf("Hey, got the actual image URL: %s\n", [[fullImageURL absoluteString] UTF8String]);
}];
}
// ...finish and dismiss the UIImagePickerController
}
person
Thomas
schedule
25.04.2017