2010-07-07 96 views
3

我有一個簡單的UIImagePickerController它試圖搶在原選定的圖像:iPhone 4.0模擬器:didFinishPickingMediaWithInfo丟失UIImagePickerControllerOriginalImage?

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之前,這工作正常。我沒有任何警告等。

顯然,如果沒有模擬器中的原始圖像,我不能顯示或對選定的圖像做任何事情,因爲我不知道它是什麼。

+0

我知道這是幾個月後,但我掙扎着同樣的問題,並發現,雖然它被問了很多次,但它從來沒有回答。那麼,我很高興地說,我已經想出了它,並將它發佈在幾個幾乎相同的問題上,這些問題在搜索中首先出現。我在這裏發佈了完整的答案:http://stackoverflow.com/questions/3088874/didfinishpickingmediawithinfo-return-nil-photo/4192109 – 2010-11-16 07:59:04

回答

3

我在運行4.0(3GS)的設備上運行,並得到同樣的問題。它以前工作得很好。所以這不是一個模擬器錯誤。不過對於我來說,這似乎只發生在用戶創建的相冊中。如果從相機膠捲中選擇或使用相機拍攝,它可以正常工作:/。

如果我找到一個解決方案(現在工作)將張貼。

更新:它似乎是一個蘋果的錯誤,因爲正如我們都說過的,返回的信息字典僅包含媒體類型的鍵值對,即使此值爲「public.image」它也會不會像UIImagePickerControllerOriginalImage鍵那樣返回該圖像。我已經提交bug報告錯誤ID#8176175.

+2

更新:蘋果迴應了錯誤支持。 這是錯誤ID#8176175的後續行爲。經過進一步調查後,已確定這是一個已知問題,目前正在通過工程進行調查。此問題已在原始Bug ID#8113630下的我們的錯​​誤數據庫中提交。用於跟蹤此重複問題的原始錯誤編號可以在State列中找到,格式如下:Duplicate/OrigBug#。 感謝您提交此錯誤報告。我們真誠感謝您的幫助,幫助我們發現和隔離錯誤。 – 2010-07-13 17:46:43

+0

感謝您的更新:-) – nullabletype 2010-07-30 13:52:24

0

我得到這個爲好,但如果你選擇了這個,你會得到他們兩個(現在它看起來像一個解決方法):

self.imagePicker .allowsEditing = YES;

+0

我剛剛直接在iPhone上調試,這是相當緩慢和痛苦,但至少我知道它在設備上的行爲正確! – nullabletype 2010-07-30 13:53:22