KeychainItemWrapper在iOS10上崩溃

时间:2016-09-18 18:13:34

标签: keychain keychainitemwrapper

当我尝试将项目添加到Keychain时,我在iOS10上发现了这个崩溃 ***断言失败 - [KeychainItemWrapper writeToKeychain]

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

2 个答案:

答案 0 :(得分:8)

它看起来像一个bug;已提交错误报告,但有一个解决方法。只需启用" Keychain Sharing" (在您的应用下 - > Xcode中的功能标签)。有关完整背景,请参阅https://forums.developer.apple.com/thread/51071

答案 1 :(得分:0)

编辑:忽略我在闲聊的内容......呃,忘了在项目目标的功能选项卡下我还启用了Keychain共享...虽然仍然希望得到更深刻,更有说服力的答案。

所以你猜你可以忽略这一点......但是为了防止你碰到隐私的东西(尽管那个我已经在其他地方得到回答的另一个SO问题)离开这里了:

是的,我遇到了同样的问题(同时也要求地点崩溃)......看起来像iOS 10中有关隐私和服务的变化。奇怪的是,在我的情况下,将此评论下方的密钥添加到info.plist(或通过Xcode,您将看到"隐私 - *")

有趣的是,突然钥匙串访问工作得很好,即使这些密钥都没有与钥匙串访问有任何关系......我还在挖掘更多信息,所以我可以提供一个真实的回答",但希望现在可以取消阻止你。

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

<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>