Appstore 总是抛出错误 Missing App Icon

Appstore always throws error Missing App Icon

我正在使用 jquery 移动设备开发移动应用程序。然后我上传到 build.phonegap.com。使用我从 phonegap-build 获得的 .ipa 文件,我曾经设法使用应用程序加载器上传应用程序。现在我们必须修复一些错误,我无法再上传该应用程序。 我总是得到同样的错误: ITMS-90704:缺少应用程序图标 - PNG 格式的 1024 x 1024 像素的应用程序图标必须包含在为 iOS、iPadOS 或 watchOS 构建的应用程序的资产目录中。没有此图标,应用程序无法提交审核。有关详细信息,请参阅 https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/

在 Appstore Connect 中,我还上传了应用程序图标。

这是我的config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget
  id="at.digitallaut.dlcards"
  version="1.0.13"
  xmlns="http://www.w3.org/ns/widgets"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:gap="http://phonegap.com/ns/1.0">
  <name>DI Card</name>
  <description>Create your Business Cards</description>
  <author email="pucher@digitallaut.at" href="https://www.digitallaut.at">
    Digital Laut GmbH
  </author>
  <content src="index.html" />

  <!-- preferences -->
  <preference name="phonegap-version" value="cli-7.0.1" />
  <!-- preference name='pgb-builder-version' value='1' / -->
  <preference name="DisallowOverscroll" value="true" />
  <preference name="android-minSdkVersion" value="21" />
  <preference name="android-targetSdkVersion" value="28" />
  <preference name="AndroidLaunchMode" value="standard" />
  <preference name="StatusBarOverlaysWebView" value="false" />
  <preference name="StatusBarStyle" value="lightcontent" />
  <preference name="StatusBarBackgroundColor" value="#333333" />
  <preference name="SplashScreenDelay" value="5000" />
  <!-- plugins -->
  <plugin name="cordova-plugin-camera" source="npm" spec="~2">
    <variable name="CAMERA_USAGE_DESCRIPTION" value="You can use camera pictures as background images for your business cards." />
    <variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="You can select pictures from your gallery as background images for your business cards." />
  </plugin>
  <plugin name="cordova-plugin-contacts" source="npm" spec="~2.0.1">
    <variable name="CONTACTS_USAGE_DESCRIPTION" value="You can select one of your saved contacts and create a business card from this data." />
  </plugin>
  <plugin name="cordova-plugin-inappbrowser" source="npm" spec="~1.3.0" />
  <plugin name="cordova-plugin-splashscreen" source="npm" />
  <plugin name="cordova-plugin-statusbar" source="npm" spec="~2.1.2" />
  <plugin name="cordova-plugin-whitelist" source="npm" spec="~1.2.1" />
  <plugin name="cordova-plugin-file" source="npm" version="3.0.0"/>
  <plugin name="cordova-plugin-file-transfer" source="npm" version="1.3.0"/>

  <!-- icons and screens android -->
  <platform name="android">
    <splash platform="android" qualifier="port-ldpi" src="res/screen/android/splash-port-ldpi.png" />
    <splash platform="android" qualifier="port-mdpi" src="res/screen/android/splash-port-mdpi.png" />
    <splash platform="android" qualifier="port-hdpi" src="res/screen/android/splash-port-hdpi.png" />
    <splash platform="android" qualifier="port-xhdpi" src="res/screen/android/splash-port-xhdpi.png" />
    <splash platform="android" qualifier="land-ldpi" src="res/screen/android/splash-port-ldpi.png" />
    <splash platform="android" qualifier="land-mdpi" src="res/screen/android/splash-port-mdpi.png" />
    <splash platform="android" qualifier="land-hdpi" src="res/screen/android/splash-port-hdpi.png" />
    <splash platform="android" qualifier="land-xhdpi" src="res/screen/android/splash-port-xhdpi.png" />
    <icon src="res/icon/android/ldpi.png" density="ldpi" />
    <icon src="res/icon/android/mdpi.png" density="mdpi" />
    <icon src="res/icon/android/hdpi.png" density="hdpi" />
    <icon src="res/icon/android/xhdpi.png" density="xhdpi" />
    <icon src="res/icon/android/xxhdpi.png" density="xxhdpi" />
    <icon src="res/icon/android/xxxhdpi.png" density="xxxhdpi" />
  </platform>

  <!-- icons and screens ios -->
  <platform name="ios">
    <splash src="res/screen/ios/default_iphone.png" width="320" height="480"/>
    <splash src="res/screen/ios/Default@2x~iphone.png" width="640" height="960"/>
    <splash src="res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/>
    <splash src="res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
    <splash src="res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/>
    <splash src="res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
    <splash src="res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/>
    <splash src="res/screen/ios/Default-667h.png" width="750" height="1334"/>
    <splash src="res/screen/ios/Default-736h.png" width="1242" height="2208"/>
    <splash src="res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/>
    <!-- iOS 8.0+ -->
     <icon src="res/icon/ios/icon.png" width="1024" height="1024" />
    <!-- iPhone 6 Plus  -->
    <icon src="res/icon/ios/icon-60@3x.png" width="180" height="180" />
    <!-- iOS 7.0+ -->
    <!-- iPhone / iPod Touch  -->
    <icon src="res/icon/ios/icon-60.png" width="60" height="60" />
    <icon src="res/icon/ios/icon-60@2x.png" width="120" height="120" />
    <!-- iPad -->
    <icon src="res/icon/ios/icon-76.png" width="76" height="76" />
    <icon src="res/icon/ios/icon-76@2x.png" width="152" height="152" />
    <!-- iOS 6.1 -->
    <!-- Spotlight Icon -->
    <icon src="res/icon/ios/icon-small-40.png" width="40" height="40" />
    <icon src="res/icon/ios/icon-small-40@2x.png" width="80" height="80" />
    <!-- iPhone / iPod Touch -->
    <icon src="res/icon/ios/icon.png" width="57" height="57" />
    <icon src="res/icon/ios/icon@2x.png" width="114" height="114" />
    <!-- iPad -->
    <icon src="res/icon/ios/icon-72.png" width="72" height="72" />
    <icon src="res/icon/ios/icon-72@2x.png" width="144" height="144" />
    <!-- iPhone Spotlight and Settings Icon -->
    <icon src="res/icon/ios/icon-small.png" width="29" height="29" />
    <icon src="res/icon/ios/icon-small@2x.png" width="58" height="58" />
    <!-- iPad Spotlight and Settings Icon -->
    <icon src="res/icon/ios/icon-small-50.png" width="50" height="50" />
    <icon src="res/icon/ios/icon-small-50@2x.png" width="100" height="100" />
  </platform>

  <!-- default icon and screen -->
  <splash src="splash.png" />
  <icon src="res/icon/ios/icon.png" width="1024" height="1024" />

  <!-- ios permissions -->
  <edit-config platform="ios" target="*-Info.plist" parent="NSPhotoLibraryUsageDescription" mode="overwrite">
    <string>You can select pictures from your gallery as background images for your business cards.</string>
  </edit-config>
  <edit-config platform="ios" target="*-Info.plist" parent="NSCameraUsageDescription" mode="overwrite">
    <string>You can use camera pictures as background images for your business cards. </string>
</edit-config>
  <edit-config platform="ios" target="*-Info.plist" parent="NSContactsUsageDescription" mode="overwrite">>
    <string>You can select one of your saved contacts and create a business card from this data.</string>
  </edit-config>

  <!-- android permissions -->
  <gap:config-file platform="android" parent="/manifest" mode="delete">
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
  </gap:config-file>
  <gap:config-file platform="android" parent="/manifest" mode="add">
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
  </gap:config-file>

  <!-- access rules -->
  <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">
    <allow-intent href="market:*" />
    <allow-intent href="https://*/*" />  
  </platform>
  <platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
  </platform>
</widget>

我已经尝试了所有带有和不带有 phonegap-version 首选项标签的变体,这没有区别。 当我使用在线工具 build.phonegap.com 构建应用程序时,“您的项目 -> Images.xcassets->AppIcon” 对我来说是不可能的。

感谢任何帮助!!

抱歉,这里没有针对 Phonegap 的真正解决方案。但是我 运行 遇到了与 Cordova 类似的问题。在存档应用程序之前,我设法通过在我的 Xcode 工作区(资源 > Images.xcassets > AppIcon)中手动添加应用程序图标来修复它。希望这对某人有帮助!

我找到了 phonegap build 的解决方案...

将此添加到 config.xml...

 <preference name="phonegap-version" value="cli-7.1.0" />

现在检查所有图标并确保保存的 PNG 不包含透明度。您也可以使用 JPG。对我来说,主徽标以透明方式保存(默认情况下)。因此错误。

另请注意,如果使用 Phonegap Build 和 CLI-9.0.0,它们会在图像和 google-services.json 和 [=34= 方面弄乱目录结构]服务-info.plist。将您的图像放在 www/res/ 文件夹中(您可以根据需要选择其他名称)但是在引用文件 src 时不要包含 WWW,因此如果您的图像是 "www/res/android/icons.png" 您的 src 在 config.xml 将是 "res/android/icons.png"。与 google-services.json 和 googleservice-info.plist 类似,您必须将它们放在 www 文件夹中,但在 config.xml 中引用它们时,请勿包含万维网

但是 - 如果您在本地编译(不是通过 Phonegap Build),您必须引用 WWW,并且您不需要在 www 中包含 google 服务文件(您可以将它们放在与 config.xml).

相同的文件夹

真是一团糟。