UIImagePickerController не работает для iOS 3, но работает для проблемы обратной совместимости с iOS 4

Поэтому я создал целое приложение, и оно работает безупречно, как я и предполагал. Создал обновление, которое использует UIImages, и оно отлично работает ТОЛЬКО НА iOS 4 и выше. По какой-то причине точно такой же код не будет работать на 3.0. Поскольку оригинальное приложение находится в магазине в Min OS, то 3, я не хочу просто отрезать свою пользовательскую базу из-за какой-то глупой ошибки. Я не делаю ничего нового, поэтому все должны быть обратно совместимыми.

По сути, приложение берет изображение, выбранное либо с камеры, либо из фотоальбома, а затем сохраняет его и отображает изображение на экране. Когда вы переходите к следующему экрану, он извлекает файл изображения с диска и отображает его в представлении изображения на следующем экране. Опять же, отлично работает на iOS4 и выше.

Используя сим 3.0 в более старой версии xcode, он просто не будет работать так же. Я знаю, rawimageEdeTing изменился на отпуску, поэтому мне разрешили для этого, но все остальное, как кажется, в соответствии с документами, должен работать на iOS 3 и выше.

Ниже мой переход в фотоальбом и возвращение.

-(IBAction) getPhotoFromAlbum {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;

if (editingSwitch.on) {

    #ifdef __IPHONE_3_0
        picker.allowsImageEditing = YES;
    #else
        picker.allowsEditing = YES;
    #endif
} else if (!editingSwitch.on) {

    #ifdef __IPHONE_3_0
        picker.allowsImageEditing = NO;
    #else
        picker.allowsEditing = NO;
    #endif
}

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

[self presentModalViewController:picker animated:YES];

[picker release];

}

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

[picker dismissModalViewControllerAnimated:YES];

UIImage *image = nil;

if (editingSwitch.on) {

    image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:isImageEdited];

} else if (!editingSwitch.on) {

    image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:isImageEdited];

}


imageView.image = [self imageWithImage:image];

imageView.hidden = NO;

buttonPreview.hidden = YES; 

[NSThread detachNewThreadSelector:@selector(myThreadSavingImage) toTarget:self withObject:nil];

[activitySaving startAnimating];

Когда я отлаживаю, кажется, что информация, возвращаемая из средства выбора, имеет только 1 ключ. Когда он устанавливает изображение, изображение пустое. По сути, никто не возвращается, и если для некоторого редкого случая он делает, как когда я редактирую изображение и не просто использовать оригинал, он не отображается на следующей странице.

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


person SolidSnake4444    schedule 01.12.2010    source источник


Ответы (1)


Оказывается, ответ заключается в том, что он не работал на симуляторе из-за обновлений программы xcode. При фактическом установке на устройство 3.0 код работал идеально.

person SolidSnake4444    schedule 02.07.2011