【问题标题】:Appstore always throws error Missing App IconAppstore 总是抛出错误 Missing App Icon
【发布时间】:2019-11-11 10:27:44
【问题描述】:

我正在使用 jquery mobile 开发移动应用程序。然后我将它上传到 build.phonegap.com。使用从 phonegap-build 获得的 .ipa 文件,我曾经设法使用 Application Loader 上传应用程序。现在我们不得不做一些错误修正,我不能再上传应用程序了。 我总是遇到同样的错误: ITMS-90704:缺少应用程序图标 - 一个尺寸为 1024 x 1024 像素的 PNG 格式的应用程序图标必须包含在为 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 构建应用程序时,“Your project -> Images.xcassets->AppIcon”对我来说是不可能的。

任何帮助表示赞赏!

【问题讨论】:

    标签: app-store phonegap-build


    【解决方案1】:

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

    将此添加到 config.xml...

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

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

    另外 - 请注意,如果使用 Phonegap Build 和 CLI-9.0.0,它们在图像和 google-services.json 和 googleservice-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 中引用它们时,请勿包含 WWW。

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

    真是一团糟。

    【讨论】:

    • 谢谢,我会试一试,然后在这里报告。我的应用商店图标(1024x1024)不透明,其他图标透明(但几周前以这种方式上传)。我会给他们一个白色的背景。
    • 另外,如果您遇到任何关于缺少图标的错误,这里有一个所需尺寸的列表:cordova.apache.org/docs/en/latest/config_ref/images.html
    • 不幸的是,这不起作用。再次缺少应用程序图标错误。我已将 config.xml 中的 phonegap-version 和所有图像更改为白色背景的 png。按照您的链接,我似乎拥有所有必需的图标。但我再次得到同样的错误。也试图问苹果,但我必须等待大约 2 天才能得到答案。还是谢谢你,值得一试。
    • 我唯一做的另一件事就是从默认图标位置移动图标。尝试将所有图像移动到 www 中的“图标”文件夹。然后像这样从 config.xml 定位它:
    • 终于成功了 :-) 我将所有透明图标更改为具有背景,并且不得不添加另外两个图标(按照 phonegap cli 版本 7.1.0 的文档) 非常感谢您的支持!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-09-30
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      相关资源
      最近更新 更多