激活 iPhone 相机操作会使我的应用程序崩溃 [重复]

Posted

技术标签:

【中文标题】激活 iPhone 相机操作会使我的应用程序崩溃 [重复]【英文标题】:Activating iPhone camera action crashes my app [duplicate] 【发布时间】:2016-09-16 15:17:12 【问题描述】:

奇怪的问题:

我的用户通过点击按钮来拍照来激活 iPhone 相机。例如。按钮被点击,相机打开。直到昨天,下面的代码都可以正常工作(在我自己的手机上仍然可以)。但是,在我们测试组中其他所有人的手机上,只要点击相机按钮,应用就会崩溃。知道为什么吗?请参阅下面的代码 - 我很难过。 注意:每个人都在运行 ios 10。

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UITextFieldDelegate, UINavigationControllerDelegate,  UIImagePickerControllerDelegate> 

    
    @property (strong, nonatomic) NSMutableArray *photoData;
    @property (weak, nonatomic) IBOutlet UIImageView *imageView;

    @end

ViewController.m

- (IBAction)takePhoto:(id)sender 

    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;

    [self presentViewController:picker animated:YES completion:NULL];


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

    UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
    self.imageView.image = chosenImage;

    [picker dismissViewControllerAnimated:YES completion:NULL];


- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 

    [picker dismissViewControllerAnimated:YES completion:NULL];

【问题讨论】:

请,当您发布有关崩溃的问题时,您必须包含崩溃中完整且准确的错误消息,并指出导致崩溃的确切代码行。 @rmaddy 这次我没有这样做的唯一原因是因为我看不到崩溃错误(很复杂,我知道)。在我的设备上,它运行良好。但是它似乎在其他设备上崩溃(我无法插入自己的计算机)...... 让用户向您发送崩溃报告。 @rmaddy 假设他们不是超级精通技术 - 他们怎么能做到这一点?他们的设置中有什么东西吗?从来没有真正需要它哈哈。 设置 -> 隐私 -> 诊断和使用 -> 诊断和使用数据。然后他们需要找到该应用程序的最新条目并查看它。然后煞费苦心地选择所有文本,然后通过电子邮件发送给您。 【参考方案1】:

如果它只在ios10 上崩溃,那么它可能是privacy key setting 的问题,这在ios10xcode 8 中是强制性的。所以你需要在key下面添加,

  Privacy - Photo Library Usage Description

到您的info.plist。我认为它可能会解决您的问题。否则你的代码就是完美的。

您可以参考this answer 了解更多密钥及其描述!

【讨论】:

您应该投票以关闭重复的问题,而不是一遍又一遍地重新发布您的答案。 现在试试 - 这个答案是有道理的,因为它在除我自己的设备之外的所有设备上崩溃!很快回来报告:) @Brittany 但是你说每个人都在运行 iOS 10。你从来没有说你没有使用 iOS 10。 @rmaddy:是的,同意你的观点!!没想到我应该关闭它。顺便说一句,现在投票结束! @rmaddy 我正在运行 iOS 10。刚刚从我的用户那里获取了崩溃报告 - 这是隐私问题。干得好。

以上是关于激活 iPhone 相机操作会使我的应用程序崩溃 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

输入 UISearchBar 会使我的应用程序崩溃

为啥用 numpy 计算 2×2 矩阵的特征向量会使我的 Python 会话崩溃?

更改为横向会使我的 Android 应用程序崩溃

为啥这个旧的依赖会使我的 gradle 崩溃?

为啥大型本地数组会使我的程序崩溃,而全局数组却不会? [复制]

为啥 ntdll.dll 会使我的 c++ 可执行文件崩溃?