Поэтому я создал целое приложение, и оно работает безупречно, как я и предполагал. Создал обновление, которое использует 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, и это разочаровывает, так как я хочу выпустить его в ближайшее время.