由于Appstore的Info.plist文件中缺少目的字符串,因此拒绝响应本机iOS应用

IKK*_*KKA 4 iphone app-store ios react-native

由于info.plist文件中缺少目的字符串,我从appstore收到了以下邮件。

这是同时支持iOS和Android的React Native应用程序。

我的应用未请求访问用户的日历。

我认为该描述仅在您实际请求许可时才是强制性的,或者即使我从不要求查看用户日历,这些描述也是必需的。

Info.plist文件中缺少目的字符串-您的应用代码引用了一个或多个访问敏感用户数据的API。该应用程序的Info.plist文件应包含一个NSCalendarsUsageDescription密钥,该密钥具有面向用户的目的字符串,可以清晰,完整地说明您的应用程序为何需要数据。从2019年春季开始,所有提交给App Store的访问用户数据的应用都必须包含目的字符串。如果您使用的是外部库或SDK,则它们可能会引用需要目的字符串的API。尽管您的应用可能未使用这些API,但仍然需要一个目的字符串。您可以与库或SDK的开发人员联系,并要求他们发布不包含API的代码版本。了解更多信息(https://developer.apple。)。

Lui*_*izo 8

有时,您安装的软件包会引用您并非真正需要的API。例如,react-native-permissions这样做,您必须为其使用的所有API添加用法说明。

react-native-permissions软件包在这里对此进行了解释:https : //github.com/yonahforst/react-native-permissions#app-store-submission-disclaimer

如果需要将应用程序提交到AppStore,则需要将所有* UsageDescription键添加到Info.plist中,该键的字符串值向用户说明该应用程序如何使用此数据。即使您不使用它们。

这是您的Info.plist文件应如下所示的示例:

<key>NSBluetoothPeripheralUsageDescription</key>
<string>Some description</string>
<key>NSCalendarsUsageDescription</key>
<string>Some description</string>
<key>NSCameraUsageDescription</key>
<string>Some description</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Some description</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Some description</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Some description</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Some description</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>Some description</string>
<key>NSAppleMusicUsageDescription</key>
<string>Some description</string>
<key>NSMotionUsageDescription</key>
<string>Some description</string>
Run Code Online (Sandbox Code Playgroud)