gpt4 book ai didi

ios - EventKitUI/EKCalendarChooser 需要访问联系人 - 为什么?

转载 作者:可可西里 更新时间:2023-11-01 06:24:06 24 4
gpt4 key购买 nike

自 2010 年以来,我就有一个现有的应用程序,对于 iOS 10,现在要求该应用程序在 Info.plist 中包含字符串描述用法,如此处解释: http://useyourloaf.com/blog/privacy-settings-in-ios-10/

但是,我已经在我的 Info.plist 中添加了相应的键。尽管如此,当应用程序尝试访问日历时,用户仍然报告应用程序崩溃。其中一位用户现在设法向我发送了一份崩溃报告,如下所示:

Termination Reason: TCC, This app has crashed because it attempted to access 
privacy-sensitive data without a usage description.
The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.
Triggered by Thread: 2

Filtered syslog:
None found

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x00000001812501a8 0x18124f000 + 4520
1 libdispatch.dylib 0x000000018113b7ec 0x181128000 + 79852
2 Contacts 0x000000018aa2c63c 0x18a9c8000 + 411196
3 Contacts 0x000000018a9f7c40 0x18a9c8000 + 195648
4 Contacts 0x000000018aa08578 0x18a9c8000 + 263544
5 EventKitUI 0x000000018f18b5a4 0x18f169000 + 140708
6 EventKitUI 0x000000018f2a9628 0x18f169000 + 1312296
7 EventKitUI 0x000000018f2aa3a8 0x18f169000 + 1315752
8 UIKit 0x000000018843b1b4 0x1880e8000 + 3486132

现在的问题是,为什么我的应用程序需要访问联系人,但我的应用程序只想读/写日历?

在崩溃代码中,我打开了一个 EKCalendarChooser ,之前我使用 eventStore requestAccessToEntityType:EKEntityTypeEvent completion:(...) 请求用户许可

在我的 Info.plist 中我有:
<key>NSCalendarsUsageDescription</key>
<string>Storing of leave data</string>

那么我该如何解决这个问题呢?我必须添加 NSContactsUsageDescription如崩溃报告所示?为什么?它是否会导致弹出联系人访问提示,大多数用户可能认为这是一件坏事?

注意:最奇怪的是,在我的所有设备上都无法重现这种崩溃,我只有几个用户报告了这种崩溃。

最佳答案

我刚刚遇到了同样的问题,我相信这是因为 EKCalendarChooser 可以显示您的哪些联系人正在共享日历。我刚刚关闭了所有共享,包括从 iCloud 家庭中删除家庭成员,它不再需要访问通讯录。然后,我尝试使用 EKCalendarChooser 与联系人共享日历,并在我选择联系人后提示我获得许可。

这有点麻烦,但解决方案可能是继续添加使用说明,告诉用户需要许可才能显示/修改日历共享详细信息。另一种(更痛苦的)替代方法是创建您自己的 View 来选择日历。

我不确定这是 Apple 故意的还是一个错误,因为我不知道开发人员是否有任何方法可以从 EKCalendarChooser View 访问联系信息。

关于ios - EventKitUI/EKCalendarChooser 需要访问联系人 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40058900/

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