更新到iOS 10后,当尝试通过插件cordova-plugin-contacts v2.2.0访问联系人时,应用程序退出
__CRASHING_DUE_TO_PRIVACY_VIOLATION__
我不知道我现在可以提供的其他额外信息,只是让我知道我是否可以更具体。感谢名单。
也许这有一些用处:https://stackoverflow.com/a/39416858/592641,但我找不到如何在cordova中指定这些用法说明的指南。
答案 0 :(得分:34)
创建xcode项目并找到Info.Plist
文件后,您可以尝试添加NSContactsUsageDescription
密钥,该密钥应接受字符串值。
希望有所帮助!
修改强>
doc中的一部分:(可以帮助您理解崩溃的原因)
重要提示:为了保护用户隐私,请在iOS上或之后关联iOS应用 10.0,访问用户的联系人,必须静态声明这样做的意图。包含NSContactsUsageDescription键 您的应用的Info.plist文件,并为此密钥提供目的字符串。 如果您的应用尝试访问用户的联系人而没有 相应的用途字符串,您的应用退出。
答案 1 :(得分:8)
我的应用程序缺少 NSFaceIDUsageDescription 键
答案 2 :(得分:6)
简而言之,需要在*info.plist
这对Cordova代码库没有好处,因为.plist文件不是存储库的一部分。我发现将它们放在config.xml中的最简单方法是:
<platform name="ios">
<config-file parent="NSContactsUsageDescription" target="*info.plist">
<string>Easily invite your friends</string>
</config-file>
</platform>
答案 3 :(得分:2)
对我来说,我试图请求访问麦克风,但我还没有定义Privacy - Microphone Usage Description
字符串。
进入Info.plist文件,然后向下滚动到以Privacy
开头的值。确保为与应用相关的所有内容添加键和字符串值。
答案 4 :(得分:2)
我的Info.plist缺少NSPhotoLibraryAddUsageDescription
。现在有两个与照片库关联的权限(从iOS 11开始):
我是iOS 11之前的第一个权限,当时它是使用照片库所需的唯一密钥。显然,在iOS 11中,他们添加了第二个,并要求将第二个添加到库中。因此,如果您支持iOS 10但不包含第二个密钥,则您将在iOS 11上崩溃。
答案 5 :(得分:0)
我通过Unity使用Kudan AR得到同样的错误,@ NeverHelpless的回答是目标,除了修复是NSCameraUsageDescription
(添加到Info.plist
并带有描述字符串)
答案 6 :(得分:0)
如果您明确知道问题是访问联系人时,请按照上面答案中的说明进行操作。
但是,如果这些操作没有帮助您,您可能需要在此处阅读有关其他可能解决方案的相关答案(如果您在应用中使用蓝牙): https://stackoverflow.com/a/60073667/457202