【发布时间】:2020-01-28 07:13:56
【问题描述】:
我在我的 Mac 上使用 Application Loader 上传由 Adobe Phonegap Build 构建的 ipa。不久后我从应用商店收到一封电子邮件:
ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NFCReaderUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
我在网上搜索了答案并尝试了许多解决方案,例如将键/字符串添加到 info.plist 的不同方法,但没有任何效果。我唯一能想到的是 Phonegap Build 正在覆盖一些东西。疯狂的是,我晚上不使用cordova NFC阅读器插件!我查看了我的 project.pbxproj 文件,没有对任何 NFC 的引用。我非常沮丧和困惑。
这是我的全局 config.xml 文件:
<?xml version='1.0' encoding='utf-8'?>
<widget id="net.buildix.app" version="2.0.5" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Buildix</name>
<description>
Building automation suite.
</description>
<author email="support@buildix.net" href="https://buildix.net">Cloudulus.Media</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<preference name="OverrideUserAgent" value="Buildix/2.0 Android" />
<preference name="android-minSdkVersion" value="16" />
<preference name="android-targetSdkVersion" value="28" />
<allow-intent href="market:*" />
<icon qualifier="ldpi" src="res/icons/android/drawable-ldpi-icon.png" />
<icon qualifier="mdpi" src="res/icons/android/drawable-mdpi-icon.png" />
<icon qualifier="hdpi" src="res/icons/android/drawable-hdpi-icon.png" />
<icon qualifier="xhdpi" src="res/icons/android/drawable-xhdpi-icon.png" />
<icon qualifier="xxhdpi" src="res/icons/android/drawable-xxhdpi-icon.png" />
<icon qualifier="xxxhdpi" src="res/icons/android/drawable-xxxhdpi-icon.png" />
<splash qualifier="land-ldpi" src="res/screens/android/drawable-land-ldpi-screen.png" />
<splash qualifier="land-mdpi" src="res/screens/android/drawable-land-mdpi-screen.png" />
<splash qualifier="land-hdpi" src="res/screens/android/drawable-land-hdpi-screen.png" />
<splash qualifier="land-xhdpi" src="res/screens/android/drawable-land-xhdpi-screen.png" />
<splash qualifier="land-xxhdpi" src="res/screens/android/drawable-land-xxhdpi-screen.png" />
<splash qualifier="land-xxxhdpi" src="res/screens/android/drawable-land-xxxhdpi-screen.png" />
<splash qualifier="port-ldpi" src="res/screens/android/drawable-port-ldpi-screen.png" />
<splash qualifier="port-mdpi" src="res/screens/android/drawable-port-mdpi-screen.png" />
<splash qualifier="port-hdpi" src="res/screens/android/drawable-port-hdpi-screen.png" />
<splash qualifier="port-xhdpi" src="res/screens/android/drawable-port-xhdpi-screen.png" />
<splash qualifier="port-xxhdpi" src="res/screens/android/drawable-port-xxhdpi-screen.png" />
<splash qualifier="port-xxxhdpi" src="res/screens/android/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<preference name="OverrideUserAgent" value="Buildix/2.0 iOS" />
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon height="57" platform="ios" src="res/icons/ios/icon.png" width="57" />
<icon height="114" platform="ios" src="res/icons/ios/icon@2x.png" width="114" />
<icon height="40" platform="ios" src="res/icons/ios/icon-40.png" width="40" />
<icon height="80" platform="ios" src="res/icons/ios/icon-40@2x.png" width="80" />
<icon height="50" platform="ios" src="res/icons/ios/icon-50.png" width="50" />
<icon height="100" platform="ios" src="res/icons/ios/icon-50@2x.png" width="100" />
<icon height="60" platform="ios" src="res/icons/ios/icon-60.png" width="60" />
<icon height="120" platform="ios" src="res/icons/ios/icon-60@2x.png" width="120" />
<icon height="180" platform="ios" src="res/icons/ios/icon-60@3x.png" width="180" />
<icon height="72" platform="ios" src="res/icons/ios/icon-72.png" width="72" />
<icon height="144" platform="ios" src="res/icons/ios/icon-72@2x.png" width="144" />
<icon height="76" platform="ios" src="res/icons/ios/icon-76.png" width="76" />
<icon height="152" platform="ios" src="res/icons/ios/icon-76@2x.png" width="152" />
<icon height="29" platform="ios" src="res/icons/ios/icon-small.png" width="29" />
<icon height="58" platform="ios" src="res/icons/ios/icon-small@2x.png" width="58" />
<icon height="87" platform="ios" src="res/icons/ios/icon-small@3x.png" width="87" />
<splash height="1136" platform="ios" src="res/screens/ios/Default-568h@2x~iphone.png" width="640" />
<splash height="1334" platform="ios" src="res/screens/ios/Default-667h.png" width="750" />
<splash height="2208" platform="ios" src="res/screens/ios/Default-736h.png" width="1242" />
<splash height="1242" platform="ios" src="res/screens/ios/Default-Landscape-736h.png" width="2208" />
<splash height="1536" platform="ios" src="res/screens/ios/Default-Landscape@2x~ipad.png" width="2048" />
<splash height="768" platform="ios" src="res/screens/ios/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" platform="ios" src="res/screens/ios/Default-Portrait@2x~ipad.png" width="1536" />
<splash height="1024" platform="ios" src="res/screens/ios/Default-Portrait~ipad.png" width="768" />
<splash height="960" platform="ios" src="res/screens/ios/Default@2x~iphone.png" width="640" />
<splash height="480" platform="ios" src="res/screens/ios/Default~iphone.png" width="320" />
<config-file parent="NFCReaderUsageDescription" target="*-Info.plist">
<string>Reading NFC tags is used as an additional layer of multi-factor authentication.</string>
</config-file>
</platform>
<platform name="winphone">
<preference name="windows-identity-name" value="59705Cloudulus.Media.Buildix" />
<preference name="windows-target-version" value="10.0" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="cordova-plugin-splashscreen" spec="~5.0.2" />
<engine name="android" spec="^7.1.4" />
<engine name="windows" spec="^6.0.1" />
<engine name="browser" spec="^5.0.4" />
</widget>
此版本的配置文件反映了我最近(失败)尝试让应用商店查看我的描述字符串的尝试,但没有任何效果。我什至尝试直接编辑 Buildix-Info.plist 以手动添加它......什么都没有!
有人可以对此有所了解吗,给我任何其他选择来尝试。我想我可以 a.) 让应用商店“看到”我的描述字符串,或者 b.) 删除对 NFC 阅读器的任何引用,这对我没有用处。
任何帮助将不胜感激。我想我以后不会再使用phonegap了……
【问题讨论】:
标签: ios cordova phonegap-plugins phonegap-build