2016-05-05 9 views
2
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ 

    NSURL *url = [info objectForKey:@"UIImagePickerControllerReferenceURL"]; 
    NSLog(@"url : %@",url); 
} 

Ich weiß, wir ALAssetsLibrary immer verwenden UIImage von UIImagePickerControllerReferenceURL zu bekommen. Aber es ist veraltet, also habe ich einen anderen Weg?Wie kann ich UIImage von „UIImagePickerControllerReferenceURL“ ohne ALAssetsLibrary

By the way, die Ausgabe des folgenden Code:

assets-library://asset/asset.JPG?id=106E99A1-4F6A-45A2-B320-B0AD4A8E8473&ext=JPG 

I Apfel amtliches Dokument geprüft, fand heraus, dass ALAssetsLibrary durch PHPhotoLibrary ersetzt.

Mein Gott! Schließlich finde ich heraus, hier ist die Antwort:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ 

    NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL]; 
    PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[url] options:nil]; 
    PHAsset *asset = result.firstObject; 
    PHImageManager *manager = [PHImageManager defaultManager]; 
    [manager requestImageForAsset:asset targetSize:CGSizeMake(100, 100) contentMode:PHImageContentModeAspectFit options:nil resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) { 
     NSLog(@"%@",result); 
    }]; 
} 
+0

Unrelated, aber verwenden Sie nicht den Zeichenfolgenwert '@" UIImagePickerControllerReferenceURL "'. Verwenden Sie die angegebene Konstante von 'UIImagePickerControllerReferenceURL'. – rmaddy

+0

es macht keinen Unterschied, wissen Sie, wie UIImage von dieser URL zu bekommen? –

+0

Warum verwenden Sie nicht einfach das 'UIImagePickerControllerOriginalImage', um das Bild von' info' zu erhalten? – rmaddy

Antwort

1

Wie ALAssesLibrary in IOS9 veraltet ist. Verwenden Sie Photos Framework Reference.

+0

die Daten werden Null sein, ich habe es versucht –

+0

Ich habe meine Antwort bearbeitet bitte sehen Sie – BHUMICA

+0

Ja! das ist das neue Framework, aber welche Funktion kann ein UIImage von UIImagePickerControllerReferenceURL –