Я использую ELCImagePickerController в своем приложении, и я не хочу сохранять выбранный fullScreenImage в свой массив, потому что, если я выбрал 40 изображений iPad, то это не хорошо.Как получить данные из UIImagePickerControllerReferenceURL?
Я хочу получить данные от UIImagePickerControllerReferenceURL
вместо UIImagePickerControllerOriginalImage
по типу метода - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
.
Я попытался:
NSDictionary *dict = [info objectAtIndex:count];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",[dict objectForKey:@"UIImagePickerControllerReferenceURL"]]]];//UIImagePNGRepresentation([UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@",[dict objectForKey:@"UIImagePickerControllerReferenceURL"]]]);
NSLog(@"length %d",[data length]);
imageview.image = [UIImage imageWithData:data];
Однако, каждый раз, когда я получаю 0 байт. Я пробовал со всеми ответами, доступными на форуме, но бесполезно.
Может ли кто-нибудь ответить на это, пожалуйста?
спасибо за ваш ответ ... я так пробовал, даже если в моем журнале я получаю длину как 0 "2012-05-29 18: 32: 13.536 myapp [1793: 707] length 0" –
это 0 потому что UIImagePickerControllerReferenceURL возвращает объект NSURL для библиотеки активов. поэтому вам нужно использовать библиотеку активов, чтобы получить изображение с этого URL-адреса. As - NSURL * referenceURL = [info objectForKey: UIImagePickerControllerReferenceURL]; Библиотека ALAssetsLibrary * = [[ALAssetsLibrary alloc] init]; [library assetForURL: referenceURL resultBlock:^(ALAsset * asset) {...} failureBlock:^(ошибка NSError *) {...}]; – saadnib
За что стоит ALAssetsLibrary устарела в iOS 9. Я добавил дополнительный ответ ниже. – Jessedc