【问题标题】:iPhone 4.0 Simulator: didFinishPickingMediaWithInfo is missing UIImagePickerControllerOriginalImage?iPhone 4.0 模拟器:didFinishPickingMediaWithInfo 缺少 UIImagePickerControllerOriginalImage?
【发布时间】:2010-07-07 15:36:00
【问题描述】:

我有一个简单的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模拟器,info集合只包含:

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 之前运行良好。我没有警告等。

显然,如果模拟器中没有原始图像,我无法显示或对所选图像执行任何操作,因为我不知道它是什么。

【问题讨论】:

  • 我知道这是几个月后的事了,但是我在同样的问题上苦苦挣扎,发现虽然在这里被问了很多次,但从未得到回答。好吧,我很高兴地说我想通了,所以我将它发布在搜索时首先出现的一些几乎相同的问题上。我在这里发布了完整的答案:stackoverflow.com/questions/3088874/…

标签: iphone ios-simulator uiimagepickercontroller ios4


【解决方案1】:

我在运行 4.0 (a 3GS) 的设备上运行并遇到同样的问题。它以前也很好用。所以这不是模拟器错误。然而,对我来说,这似乎只有在用户创建的相册时才会发生。如果从相机胶卷中选择或使用相机拍摄,它可以正常工作:/。

如果我找到解决方案(现在正在解决)将发布。

更新:这似乎是苹果的一个错误,因为正如我们都所说,返回的信息字典只包含媒体类型的键值对,即使这个值是“public.image”它不在 UIImagePickerControllerOriginalImage 键中返回该图像。我已提交错误报告 Bug ID# 8176175。

【讨论】:

  • 更新:Apple 响应了错误支持。这是对错误 ID# 8176175 的后续处理。经过进一步调查,已确定这是一个已知问题,目前正在由工程部门进行调查。此问题已在原始错误 ID#8113630 下归档在我们的错误数据库中。用于跟踪此重复问题的原始错误编号可以在状态列中找到,格式为:Duplicate/OrigBug#。感谢您提交此错误报告。我们非常感谢您帮助我们发现和隔离错误。
【解决方案2】:

我也得到了这个,但如果你选择这个,你会得到它们(现在看起来像是一种解决方法):

self.imagePicker.allowsEditing = YES;

【讨论】:

  • 我只是直接在 iPhone 上调试,虽然很慢很痛苦,但至少我知道它在设备上的行为是正确的!
猜你喜欢
  • 2012-03-28
  • 2012-05-17
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-27
  • 2016-09-29
  • 2021-01-05
相关资源
最近更新 更多