PhoneGap App Store Отправить: ITMS-90683: отсутствует строка назначения в Info.plist - NFCReaderUsageDescription - Плагин не используется - PullRequest
0 голосов
/ 28 сентября 2019

Я использую Application Loader на своем Mac для загрузки ipa, созданного Adobe Phonegap Build.Вскоре после этого я получил электронное письмо из магазина приложений:

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).

Я искал в Интернете ответы и пробовал множество решений, таких как различные способы добавления ключа / строки в информацию.plist, но ничего не сработало.Единственное, о чем я могу думать, это то, что PhoneGap Build переписывает что-то.Сумасшедшая вещь, я не вечером использую плагин Cordova NFC Reader!Я посмотрел в моем файле 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, чтобы добавить его вручную ... ничего!

Может кто-нибудь, пожалуйста, пролить свет на это, дайте мне другие варианты, чтобы попробовать.Я полагаю, что могу а.) Заставить магазин приложений "увидеть" мою строку описания, или б) удалить любую ссылку на считыватель NFC, для которой я не пользуюсь.

Любая помощь будет принята с благодарностью.Я не думаю, что я собираюсь использовать телефонный разрыв после этого ...

1 Ответ

0 голосов
/ 28 сентября 2019

Ваша строка описания должна содержать хорошо описанный текст, чтобы четко указать цель использования NFC для конечного пользователя.Пользователь должен четко понимать, для каких функций он дает вам разрешение.

Ваш текущий текст не детализирован с точки зрения пользователя

...