【问题标题】:Missing NSCalendarsUsageDescription key with purpose string after using Telerik library使用 Telerik 库后缺少带有目的字符串的 NSCalendarsUsageDescription 键
【发布时间】:2024-05-03 06:20:04
【问题描述】:

我在表单项目中使用了 Telerik 列表视图。昨天,我通过 Test Flight 将它上传到 App Store connect。它是从 Application Loader 上传的,但被苹果拒绝了,这封电子邮件是:

应用商店连接

尊敬的开发者,我们发现最近的一个或多个问题 为您的应用程序“Local183”交付。请更正以下内容 问题,然后重新上传。 “Info.plist 文件中缺少目的字符串。 您的应用代码引用了一个或多个访问敏感用户的 API 数据。应用程序的 Info.plist 文件应包含 带有面向用户的目的字符串的 NSCalendarsUsageDescription 键 清楚完整地解释为什么您的应用需要这些数据。 从 2019 年春季开始,所有提交到 App Store 且访问 用户数据将需要包含目的字符串。如果您使用 外部库或 SDK,它们可能会引用需要 目的字符串。虽然您的应用可能不使用这些 API,但有一个目的 字符串仍然是必需的。您可以联系库的开发人员 或 SDK 并要求他们发布不 包含 API。了解更多 (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。”

最好的问候,

App Store 团队

我没有在我的代码中的任何地方使用任何日历访问代码,但他们仍然提出了这样的问题,我不知道为什么?但这在实施 Telerik 之前从未发生过,因为我已经将我的应用程序的 2-3 个版本上传到应用商店连接并且从未失败。

【问题讨论】:

  • 你曾经解决过这个问题吗?

标签: xamarin xamarin.forms xamarin.ios telerik app-store


【解决方案1】:

嗯,其实很简单。

您的应用程序 (PCL) 必须引用 Telerik.XamarinForms.Input,因为您的 PCL 正在使用此 dll 苹果假定您已在应用程序中使用它,因此必须从他们那里拒绝它

如何解决这个问题

首先,如果 Apple 认为您需要日历权限然后您需要日历权限,您无能为力

如何在您的 info.plist 文件中添加权限添加以下权限:

<key>NSCalendarsUsageDescription</key>
<string>*your_app_name* would like to access your calender</string>

添加后一切都会好起来的

在查询恢复的情况下。

【讨论】:

  • 如果您不明确需要访问日历,我会说您绝对应该添加日历权限。如果有第三方组件在您不知情的情况下访问日历,您应该停止使用该组件或将问题报告给他们以修复。永远不要请求您无法保证的权限。
  • 如果您看到答案是 2 岁,我已经向 Telerik 提出了一个关于此问题的错误并已修复。其次,他们的 DLL 实际上并不使用日历。这也是苹果方面的东西。该 DLL 不会在任何地方引用任何需要 NSCalendarsUsageDescription 权限的东西,但是当您将其部署到商店时,他们总是显示此错误。可能是他们的权限检测算法中的某些东西,我不确定!
【解决方案2】:

可能有不同的因素,请检查您在应用商店中提到的应用的功能、类别和详细信息,有时也取决于您使用的框架,您需要注意。提供这些许可不是问题。您需要在info.plist文件中添加权限。

NSCalendarsUsageDescription

<key>NSCalendarsUsageDescription</key>
<string>$(PRODUCT_NAME) user your calendar.</string>

欲了解更多信息,请访问this页面

【讨论】:

    【解决方案3】:

    在 xcode 9 及更高版本中,在 products 文件夹下找到 info.plist,单击它并将鼠标悬停在最后一个选项卡上,然后单击 +。它将在下面添加另一行并在左侧写上“NSCalendarsUsageDescription”,然后按 Tab 并写下无法访问日历或我的应用程序使用您的日历。左侧会自动变为(隐私-日历使用说明)。它将解决错误并且构建将出现在 Itunes Connect 帐户上。

    【讨论】: