gpt4 book ai didi

objective-c - 仅 MFMailComposeViewController 和 iOS 10 的隐私问题

转载 作者:太空狗 更新时间:2023-10-30 03:54:36 25 4
gpt4 key购买 nike

使用 Xcode 8.0 重建已发布的应用程序,该应用程序使用 PLCrashReporter、AWS Cognito/SNS 和 Google 分析框架。

仅在 iOS 10.x 设备上看到,在运行我的测试存储桶期间不再显示邮件撰写 vc。在 Xcode 控制台中,当达到 if([MFMailComposeViewController.canSendMail]) 时,我会立即看到这些消息:

[MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
[MC] Filtering mail sheet accounts for bundle ID: [MY BUNDLE ID], source account management: 1
[MC] Result: YES

我在这里找到了对此类控制台消息的引用:UIActivityViewController crash on iOS 10

但我的应用程序不使用照片,但我仍然尝试将链接中注明的照片隐私说明添加到我的 info.plist 中以获得笑容,但当然没有快乐。问题仍然存在。

我的应用确实使用摄像头来扫描条形码。而摄像头隐私说明在info.plist中,从去年开始就有了。该应用程序不使用需要隐私说明的其他功能。

当连接 iOS 9.3.5 设备时,相同的代码和 XC8 设置按预期工作。

有人看过这个吗?

最佳答案

经过大量分析,我终于在上周末解决了这个问题。知道它实际上与 iOS 10 中的 MFMailComposeViewController 隐私更改无关的关键是这条日志消息:

[MC] Result: YES

如果您得到“否”,则说明您有隐私问题,但如果是,则表明隐私不是问题。我终于发现,无论如何,在我这里,问题是我在 iOS 10 中运行的代码中发现的时间问题。

在正在测试的同一型号设备上,一个使用 iOS 10,另一个使用 iOS 9.3.5,问题是错误路径 UIAlertController 当前请求在另一个警报已经出现时被调用。在 iOS 9.x 和更早版本上,预期的结果每次都会胜出并首先出现,这只是“运气”。但是在 iOS 10 上,它每次都没有这样做,然后在我的情况下阻止了 MFMailComposeViewController。

以下代码有问题:

[self presentViewController:crashMailAlertController animated:YES completion:nil];

用这段代码替换它解决了问题:

[self dismissViewControllerAnimated:YES completion:^{
[self presentViewController:crashMailAlertController animated:YES completion:nil];
}];

在我的例子中,我想要的只是确保这个错误路径 UIAlertController 总是首先出现,因为它是一个罕见的事件(只有当崩溃发生时),所以首先解除任何以前的警报是获得它的门票所以MFMailComposeViewController 将跟随它嵌入警报按钮操作。

关于objective-c - 仅 MFMailComposeViewController 和 iOS 10 的隐私问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com