I got the same error when uploading my app. Moving all icon files to the Asset Catalog works if your app supports iOS 5.0 and up.

If your app still needs to support lower versions of iOS (like mine), the solution is to use the CFBundleIconFiles key in the project plist file. In my case, my app is an iPhone-only app, so I did the following:

1. Prepare 8 icon files: two app icons for iOS6 and earlier (57x57 and 114x114), two icons for iOS7 (60x60 and 120x120), two icons for spotlight search/settings for iOS 6 and earlier (29x29 and 58x58), and two icons for spotlight (40x40 and 80x80). The files must be PNG files. Name these files whatever you want, but the high-resolution file name must in the form of lowResolutionName@2x.png

2. In the project plist file, edit the CFBundleIconFiles key (which is an array) to include the names of the above icon files. Only the low resolution file names are needed, and the extension (.png) should not be included. The Xcode will automatically find the high resolution files as long as their names follow the convention (with @2x).

3. Make sure your project does not contain the Asset Catalog folder

4. If you did the above things right, when you check the "General" section of the app target, you should see that Xcode has listed all the icon files in right place under the "app icons" section.

5. If your app needs to support iOS 3.1 and earlier, you need to make four extra icon files. The size and the name of these files are as follows: Icon.png (57x57), Icon@2x.png (114x114), Icon-Small.png (29x29), Icon-Small@2x.png (58x58). The fixed names are required by iOS and cannot be changed. But as long as you name the icon files that way, you don't need to do any extra things.

After these steps, you should not have any problems with the icons when uploading your app to the App Store.

The Asset Catalog simplies some of the above steps, e.g, generating low resolution icon files (my guess).

I got the above info from "iOS Human Interface Guidelines", "iOS app programming guide" and "information property list reference". Search for "app icons" and everthing is explained.

-------------

注意文件名不要使用非法字符。。。

Invalid Image Path - No image found at the path referenced under key "CFBundleIconFile": Icon.png的更多相关文章

  1. fastDFS errcode:9 path:Bad file descriptor errcode:22 path:Invalid argument

    fastDFS errcode:9 path:Bad file descriptor errcode:22 path:Invalid argument <error>status:4 er ...

  2. Invalid escape sequence at line 1 column 29 path $[0].name

    编译报错:Invalid escape sequence at line 1 column 29 path $[0].name 解决:grade.properties 文件下 org.gradle.j ...

  3. How to check if one path is a child of another path?

    How to check if one path is a child of another path? Unfortunately it's not as simple as StartsWith. ...

  4. Python os.path.dirname(__file__) 与 Python os.path.abspath(__file__) 与 os.system() 函数

    Python  os.path.dirname(__file__) 与 Python os.path.abspath(__file__) 的区别 os.path.abspath(__file__)返回 ...

  5. App Store Connect Operation Error ERROR ITMS-90032: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': 'AppIcon20x20'"

    1.报错现象 应用提交新包出现报错,切换渠道没问题,但替换回原来的图片资源就出问题了. 明显原因出在图片资源上 2.解决办法 找到原始1024的图片,将图片打开,使用截图工具截图,不要使用另存为的方式 ...

  6. docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /tmp/tfserving/

    注意要是当前的完整路径 pwd查看到完整路径,再加入到source里面即可

  7. WPF系列 Path表示语法详解(Path之Data属性语法)

    示例: XAML(代码A): <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...

  8. Java中path,-classpath,-Djava.library.path的功能和区别

    1. path path是个系统环境变量,声明命令的搜索路径,让操作系统找到指定的工具程序. D:\Program Files\Java\jdk1.8.0_111\bin指定JDK工具路径,例如jav ...

  9. Unity中的Path对应各平台中的Path

    OS: Application.dataPath :                    Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.a ...

随机推荐

  1. Twisted网络编程入门

    Twisted是用Python实现的基于事件驱动的网络引擎框架,功能非常丰富,基本包括了常用的网络组件. 所谓事件驱动,就是说程序就像是一个报警器(reactor),时刻等待着外部事件(event), ...

  2. [学习笔记] Dispose模式

    Dispose模式是.NET中很基础也很重要的一个模式,今天重新复习一下相关的东西并记录下来. 什么是Dispose模式? 什么时候我们该为一个类型实现Dispose模式 使用Dispose模式时应该 ...

  3. 使用ConditionalScope进行高效的SharePoint CSOM编程

    在上一篇文章中讲述了 ExceptionHandlingScope的使用后,本章主要讲述ConditionalScope的用法. ConditionalScope在设计思路和解决问题上同Excepti ...

  4. Linux kernel develop -- Hello World

    hello.c: #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h&g ...

  5. Javascript--练习(包括主界面图片轮播效果)

    练习一 例子1:做一个问题,如果输入的答案正确则弹出正确,错误弹出错误: 这里在text里面写了一个daan属性,里面存了答案的值,点击检查答案的时候cheak输入的内容和答案是否一样: Body中代 ...

  6. celery简单入门

    写作背景介绍 最近在做后台图像处理,需要使用到celery这个异步任务框架.但是使用的时候遇到很多技术问题,为了方便日后再遇到相似问题时能够快速解决.写下这篇文章也希望能够帮助共同奋战在同一战线的程序 ...

  7. paip.互联网产品要成功的要素

    paip.互联网产品要成功的要素 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/atti ...

  8. (笔记)VC6插件安装(VC6LineNumberAddin)

    VC6插件安装步骤如下: 1.下载VC6LineNumberAddin插件及注册文件.(以下是参考链接:) http://files.cnblogs.com/files/tdyizhen1314/VC ...

  9. php中的邮件技术

    前言:程序员不谈恋爱就是对物质世界太贪恋 一.通过smtp服务来发送邮件 使用php中的mail()实现邮件的发送; bool mail ( string $to , string $subject ...

  10. gulp+Babel 搭建ES6环境

    Gulp是什么? Gulp是一个工作流的构建系统,开发者可以使用它在网站开发过程中自动执行常见任务.Gulp是基于Node.js构建的,因此Gulp源文件和你用来定义任务的Gulp文件都被写进了Jav ...