如何将应用程序图标包含在我的Xcode项目中

6
我遇到了一个问题,无法添加新的应用程序图标。我已经完成以下步骤:
我归档并验证了我的应用程序,并得到了缺少分辨率为120x120像素、152x152像素和167x167像素的图标的信息。所以我创建了这些PNG文件,并将其存储在Finder中的一个文件夹中。
然后我在项目导航器(Xcode 8.2)中选择了根节点,转到“常规”选项卡,并打开了“应用程序图标和启动图像”披露。在那里,我点击了箭头图标。资产管理器显示了选定的“AppIcon”条目。到目前为止一切顺利。
现在文档说我必须从Finder将我的PNG文件拖放到该资产表中。但是我的问题是,我是屏幕阅读器用户,因此无法使用鼠标处理此类操作。因此,我想问是否有替代方法,例如使用键盘快捷键或通过导入菜单,或者我可以手动包含PNG文件,例如通过使用文本编辑器编辑Xcode项目文件?非常感谢任何帮助!
2个回答

6

Assets.xcassets 就是你项目目录下的一个文件夹。你可以通过在以下位置放置 .png 文件来修改默认应用程序图标集:

Assets.xcassets/AppIcon.appiconset

并修改包含的Assets.xcassets/AppIcon.appiconset/Contents.json文件,如下所示:

{
    "images" : [
{
  "size" : "20x20",
  "idiom" : "iphone",
  "filename" : "yourFileName.png",
  "scale" : "2x"
},
{
  "size" : "20x20",
  "idiom" : "iphone",
  "filename" : "yourFileName.png",
  "scale" : "3x"
},
{
  "size" : "29x29",
  "idiom" : "iphone",
  "filename" : "yourFileName.png",
  "scale" : "2x"
},
{
  "size" : "29x29",
  "idiom" : "iphone",
  "filename" : "yourFileName.png",
  "scale" : "3x"
},
{
  "size" : "40x40",
  "idiom" : "iphone",
  "filename" : "yourFileName.png",
  "scale" : "2x"
},
{
  "size" : "40x40",
  "idiom" : "iphone",
  "filename" : "yourFileName.png",
  "scale" : "3x"
},
{
  "idiom" : "iphone",
  "size" : "60x60",
  "scale" : "2x"
},
{
  "idiom" : "iphone",
  "size" : "60x60",
  "scale" : "3x"
},
{
  "idiom" : "ipad",
  "size" : "20x20",
  "scale" : "1x"
},
{
  "idiom" : "ipad",
  "size" : "20x20",
  "scale" : "2x"
},
{
  "idiom" : "ipad",
  "size" : "29x29",
  "scale" : "1x"
},
{
  "idiom" : "ipad",
  "size" : "29x29",
  "scale" : "2x"
},
{
  "idiom" : "ipad",
  "size" : "40x40",
  "scale" : "1x"
},
{
  "idiom" : "ipad",
  "size" : "40x40",
  "scale" : "2x"
},
{
  "idiom" : "ipad",
  "size" : "76x76",
  "scale" : "1x"
},
{
  "idiom" : "ipad",
  "size" : "76x76",
  "scale" : "2x"
},
{
  "idiom" : "ipad",
  "size" : "83.5x83.5",
  "scale" : "2x"
}
],
"info" : {
    "version" : 1,
    "author" : "xcode"
}
}

也许您需要创建JSON文件。


我的AppIcon.appiconset文件夹只包含Contents.json文件,但没有“default”图标。这是正确的吗?并且是否强烈要求为json文件中的每个条目都有相应的图像?我之所以问这个问题,是因为验证过程只要求120x120像素等,但没有20x20或29x29...而且我是否需要手动编辑json文件,还是只需将图像粘贴到文件夹中,Xcode会自动生成文件? - altralaser
这是正确的。JSON不会自动创建,因此您必须手动编辑它。只有在xcode中拖放文件时才会自动创建。您只需要添加所需的图像。我的示例只是一个例子。如果您遇到问题,请告诉我。 - shallowThought
我已经编辑了JSON文件,其中包含所有可能的iOS特定条目的完整列表。 - shallowThought
你太棒了!我按照你的指示操作,已经成功运行了。应用程序已经上传了。非常感谢你的帮助! - altralaser
当我这样做时,我的应用程序不再构建,Xcode告诉我没有内容。Xcode在哪里查找yourFile.png?我将其放在与Contents.json相同的文件夹中。我还收到有关“未分配的子级”的警告,不知道那是什么。 - Mark Kortink
我使用了您的建议,并拖动了Contents.json文件。它有效了。 - dotrinh PM

1

是的,有一种替代的拖放方法:

1)点击assets.xcassets

2)右键单击(或控制单击)"AppIcon"

3)点击“在Finder中显示”

4)这应该带您到实际存储图标集的文件夹。您可以从任何地方复制所有单独的图像文件(确保它们被命名为XCode可以区分大小),然后通过Finder将它们粘贴到此处。

5)在将图像文件粘贴到文件夹中之后,请确保它们实际上被粘贴到AppIcon.appiconset文件夹内~它们应该可以通过XCode访问。

希望这有所帮助


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接