5

当我尝试将项目添加到钥匙串时,我在 iOS10 上发现了这个崩溃 *** Assertion failure in -[KeychainItemWrapper writeToKeychain]

在 iOS 9.3 上,我在钥匙串中写钥匙没有问题谢谢

4

2 回答 2

8

它看起来像一个错误;已提交错误报告,但有一个解决方法。只需启用“钥匙串共享”(在您的应用程序 -> Xcode 中的功能选项卡下)。有关完整背景,请参阅https://forums.developer.apple.com/thread/51071

于 2016-09-21T07:12:07.403 回答
0

编辑:忽略我在胡说八道……呃,忘记了在项目目标的“功能”选项卡下,我还启用了钥匙串共享……尽管仍然想获得更深入、更有说服力的答案。

所以猜你可以忽略这个......但是离开这里以防万一你遇到隐私问题(尽管这是另一个我确信已经在其他地方得到回答的问题):

是的,我遇到了同样的问题(也有要求位置崩溃)......看起来 iOS 10 在隐私和服务方面发生了变化。奇怪的是,在我的情况下,将此注释下方的键添加到 info.plist(或通过 Xcode,您会看到它们带有“Privacy-*”)

有趣的是,突然钥匙串访问工作得很好,即使这些钥匙都与钥匙串访问没有任何关系......我仍在深入研究,所以我可以提供一个“真正的答案”,但希望这可以解除阻塞你现在。

这是我添加的内容(注意不要认为您需要所有这些,只是为了确保我的答案与我所做的相符):

<key>LSApplicationCategoryType</key>
<string></string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>health devices</string>
<key>NSRemindersUsageDescription</key>
<string>medication reminders</string>
<key>NSMicrophoneUsageDescription</key>
<string>calls</string>
<key>NSCameraUsageDescription</key>
<string>Allow Moonshot to use the camera (profile and calls)</string>
<key>NSMotionUsageDescription</key>
<string>Allow Moonshot to use motion to track activity</string>
<key>NSLocationUsageDescription</key>
<string>Allow Moonshot to use location to track activity</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Allow Moonshot to always use location (to track activity)</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Allow Moonshot to use location while in use (to track activity)</string>
<key>CFBundleDevelopmentRegion</key>
于 2016-09-19T08:26:58.913 回答