我在表单项目中使用了 Telerik 列表视图。昨天,我通过Test Flight将其上传到App Store connect。它从应用程序加载器上传,但被苹果拒绝了,并通过电子邮件:
应用商店连接
尊敬的开发人员,我们发现最近的一个或多个问题 应用"Local183"的交付。请更正以下内容 问题,然后重新上传。"信息列表文件中缺少目的字符串。 应用代码引用一个或多个访问敏感用户的 API 数据。应用的 Info.plist 文件应包含 NSCalendarsUsageDescription键,具有面向用户的用途字符串 清晰完整地解释为什么你的应用需要数据。 从 2019 年春季开始,所有提交到 App Store 的 app 都可以访问 用户数据需要包含目的字符串。如果您正在使用 外部库或 SDK,它们可能会引用需要 目的字符串。虽然你的应用可能不使用这些 API,但用途 字符串仍然是必需的。您可以联系库的开发人员 或 SDK,并请求他们发布未发布的代码版本 包含 API。了解更多信息 (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy(。
此致敬意
应用商店团队
我没有在我的代码中的任何地方使用任何日历访问代码,但他们仍然提出了这样的问题,我不知道为什么?但这在实施 Telerik 之前从未发生过,因为我已经将我的应用程序的 2-3 个版本上传到应用商店连接,并且从未失败过。
嗯,其实很简单。
您的应用程序 (PCL( 必须具有对Telerik.XamarinForms.Input
的引用,因为您的 PCL 正在使用此 dll,苹果假定您一直在应用程序中使用它,因此必须从他们那里拒绝它
如何解决这个问题
首先,如果Apple认为您需要日历权限,那么您无能为力,那么您需要日历权限
如何在 info.plist 文件中添加权限 添加以下权限:
<key>NSCalendarsUsageDescription</key>
<string>*your_app_name* would like to access your calender</string>
添加此内容后,一切都应该没问题
在查询的情况下恢复。
可能有不同的因素,检查您在应用商店中提到的应用程序的功能,类别和应用程序的详细信息,有时也取决于您使用的框架,您需要注意。提供这些权限不是问题。您需要info.plist
文件中添加权限。
NSCalendarsUsage说明
<key>NSCalendarsUsageDescription</key>
<string>$(PRODUCT_NAME) user your calendar.</string>
欲了解更多信息,请访问此页面
在 xcode 9 及更高版本中,在产品文件夹下找到 info.plist,单击它并将鼠标悬停在最后一个选项卡上,然后单击 +。它将在下面添加另一行,并在左侧写下"NSCalendarsUsageDescription",然后按 tab 键并写下无法访问日历或我的应用程序使用您的日历。左侧将自动更改为(隐私 - 日历使用说明(。它将解决错误,并且构建将出现在iTunes Connect帐户上。