Симулятор iPhone 4.0: в FinishPickingMediaWithInfo отсутствует UIImagePickerControllerOriginalImage? - PullRequest
3 голосов
/ 07 июля 2010

У меня есть простой UIImagePickerController, который пытается получить исходное выбранное изображение:

if ([UIImagePickerController isSourceTypeAvailable:
     UIImagePickerControllerSourceTypePhotoLibrary]) {

    if(defaultpicker == nil){
        defaultpicker = [[UIImagePickerController alloc] init];
    }

    defaultpicker.delegate = self;
    defaultpicker.allowsEditing = NO;
    defaultpicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:defaultpicker animated:YES];
}

При выборе:

- (void)imagePickerController:(UIImagePickerController *)imagepicker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [imagepicker dismissModalViewControllerAnimated:YES];

    NSString* key = nil;

    for(key in info){
        NSLog(@"Info: %@", key);
    }

    UIImage *theImage = (UIImage *)[info objectForKey: UIImagePickerControllerOriginalImage];

Я использую 4.0 в качестве базового SDK, и на данный момент нацеливаюсь на 3.1.3. При запуске симулятора 4.0 коллекция информации содержит только:

2010-07-07 16:19:33.414 ******[516:307] Info: UIImagePickerControllerMediaType

На устройстве или в симуляторе iPad 3.2 я получаю:

2010-07-07 16:19:33.405 ****[516:307] Info: UIImagePickerControllerOriginalImage

2010-07-07 16:19:33.414 ****[516:307] Info: UIImagePickerControllerMediaType

Я что-то упустил? Это работало нормально, прежде чем я обновил до SDK 4.0. У меня нет предупреждений и т. Д.

Очевидно, что без исходного изображения в симуляторе я не могу показать или сделать что-либо с выбранным изображением, так как не знаю, что это такое.

Ответы [ 2 ]

3 голосов
/ 09 июля 2010

Я работаю на устройстве под управлением 4.0 (3GS) и получаю ту же проблему.Это работало хорошо и раньше.Так что это не ошибка симулятора.Однако для меня это, кажется, происходит только в том случае, если это пользовательский фотоальбом.если выбран из рулона камеры или взят с камерой, он работает нормально: /.

Если я найду решение (работает над ним сейчас) будет публиковать.

Обновление: кажется, что этоошибка с яблоком, поскольку, как мы оба заявили, возвращаемый информационный словарь содержит только пару ключ-значение типа носителя, хотя это значение «public.image», оно не возвращает это изображение в ключе UIImagePickerControllerOriginalImage, как должно,Я отправил сообщение об ошибке. Код ошибки # 8176175.

0 голосов
/ 26 июля 2010

Я тоже получал это, но если вы выберете это, вы получите их обоих (сейчас это выглядит как обходной путь):

self.imagePicker.allowsEditing = YES;

...