我已将我的应用程序提交给 App Store Connect 以供审核。尽管该应用程序仍在审核中,但我收到了一封电子邮件,通知我必须修复错误。以下是邮件内容:
亲爱的开发者, 我们发现您的应用 XXXXX 最近交付的一个或多个问题。您的交付成功,但您可能希望在下次交付时更正以下问题: “Info.plist 文件中缺少目的字符串。您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含一个 NSLocationAlwaysUsageDescription 键和一个面向用户的目的字符串,清楚而完整地解释您的应用程序需要的原因数据。从 2019 年春季开始,所有提交到 App Store 并访问用户数据的应用都需要包含目的字符串。如果您使用的是外部库或 SDK,它们可能会引用需要目的字符串的 API。而您的应用可能不会使用这些 API,但仍需要目的字符串。您可以联系库或 SDK 的开发人员,并要求他们发布不包含 API 的代码版本。 纠正问题后,您可以使用 Xcode 或 Application Loader 将新的二进制文件上传到 iTunes Connect。 此致, 应用商店团队
亲爱的开发者,
我们发现您的应用 XXXXX 最近交付的一个或多个问题。您的交付成功,但您可能希望在下次交付时更正以下问题:
“Info.plist 文件中缺少目的字符串。您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含一个 NSLocationAlwaysUsageDescription 键和一个面向用户的目的字符串,清楚而完整地解释您的应用程序需要的原因数据。从 2019 年春季开始,所有提交到 App Store 并访问用户数据的应用都需要包含目的字符串。如果您使用的是外部库或 SDK,它们可能会引用需要目的字符串的 API。而您的应用可能不会使用这些 API,但仍需要目的字符串。您可以联系库或 SDK 的开发人员,并要求他们发布不包含 API 的代码版本。
纠正问题后,您可以使用 Xcode 或 Application Loader 将新的二进制文件上传到 iTunes Connect。
此致,
应用商店团队
我的应用完全是用 Expo 构建的,我不知道如何访问和修改 Info.plist。
任何想法?
如果您使用的是 Expo,您可以通过将 infoPlist 添加到 app.json 来添加解决方案,如下所示:
"expo": { "ios": { "bundleIdentifier": "com.app.myapp", "infoPlist": { "NSLocationAlwaysUsageDescription": "Some message to appease Apple.", }, }, }
世博会文件