我清理构建了我的应用程序,看到这个错误消息:应用程序图标集“AppIcon”有一个未分配的孩子。
当我查看Images.xcassets时,每个图标槽都被正确的图标填充,并且没有未分配的图标。在过去,XCode似乎随机忘记了图标的槽,并将其放在所有标记的图标槽下面。在那些情况下,我将图标拖回正确的槽,错误就消失了。也没有任何关于图标大小错误的错误。
我检查了Images.xcassets/AppIcon.appiconset/Contents.json,JSON中没有文件名为空的条目。
使用Xcode 7.2
我将感激任何帮助。
9条答案
按热度按时间jhdbpxl91#
选择未分配的图像,并通过删除按钮删除它。
cuxqih212#
遇到了同样的错误,但以不同的方式解决了它。
在项目中,导航到Assets.xcassets/AppIcon.appiconset/Contents.json并打开此JSON文件。
查看并删除任何不必要的图标集。
对我来说,这是一组iPad图标(看到应用程序只兼容iPhone,不需要)。
一旦删除,清洁-然后-建立
bvjveswy3#
这个错误的另一个原因是:磁盘上的文件名大小写和
Content.json
中的文件名大小写不同。它们需要匹配。在我的例子中,磁盘上的文件名都是小写的,这就是它们在
Content.json
中被引用的方式。然后我得到了新的图像,它们被升级,我只是把它们拖到Xcode中来更新它们。现在磁盘上和Content.json
都引用了升级的文件。但是Git并没有选择大小写,它只是认为文件更新了,并没有改变大小写。所以在构建服务器上,我最终使用了小写的文件名,但是
Content.json
引用了大写的文件名。需要在我的系统上将它们小写并修复Content.json
。n1bvdmb64#
我注意到其中4个图标在Content.json中的名称中有一个破折号,但在Navigator或文件系统中的名称中没有破折号。我删除并重新添加了这些图标,警告消失了。当我重新添加它们时,只有2个图标在Content.json中有破折号。
这可能是一个Xcode bug。
pcww981p5#
检查您是否选择了正确的图像大小。如果它显示放一个80x80大小的图像,那么你必须只放一个80x80大小,而不是更少。
ecbunoof6#
我有计算机科学学位,我很不好意思说我花了多长时间让应用程序图标为我的watchOS应用程序工作。
我觉得我学到了:
<key>CFBundlePackageType</key><string>APPL</string>
命名为AppIcons.appiconset
,虽然我不确定这两个是否重要。我把完整的Contents.json粘贴在下面。我从Xamarin示例“WatchKitCatalog”中提取了它。
祝你好运
字符串
zazmityj7#
当图像文件的名称中有特殊字符时,我遇到了未分配孩子的问题。在删除特殊字符后,问题得到了解决。
mm5n2pyu8#
在我的例子中,contents.json的文件名神奇地消失了。
已经从一个新的flutter项目中替换了contents.json文件的内容。
gkn4icbw9#
看起来有一些变化,应用图标在使用Xcode构建时失败,最近显示以下错误,即使文件名和Contents.json具有匹配的图标名称:
无法将从“AppIcon.appiconset/120.png”设置的应用图标的图像数据写入“/Users/redacted/Library/Developer/Xcode/DerivedData/Runner-gvaporjleqotxoegcxkjxrghpepal/Build/Products/Redig-iphoneos/Runner.app/ email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)“。
或
应用图标集“AppIcon”有一个未分配的子项
所有以前的工作图标生成器网站失败与类似的错误.这是唯一一个工程:
图标名称:
字符串
Contents.json:
型