在Xcode中,将“AppIcon”添加到项目的最有效方法是什么?

5
我正在使用xcode编程一个应用程序,在设计应用图标时发现一个问题。这是我目前在项目中的设置:xcode app icon screen 目前,我为“29pt”选项(图像最左边)使用了一个87x87像素的图片,还为40pt选项(中间)准备了一个120x120像素的图片,以及60pt选项(最右边)的180x180像素png图片。这似乎非常低效,而且我还需要提供@2分辨率的图片吗?肯定有更好的方法来解决这个问题。

我发现那个过程非常麻烦。幸运的是,有人为此编写了一个应用程序。https://itunes.apple.com/us/app/asset-catalog-creator-app/id809625456?mt=12 - Adrian
你弄明白了吗? - Adrian
1
@AdrianB,我已经搞定了,是的!我想我会使用你的方法,使用GIMP插件。虽然这是一次很好的经历,有很多很棒的答案,我从这个问题中学到了很多 :) - user2876115
5个回答

5
过去我采用了几种方法。一种方法是在 GIMP、Photoshop 等软件中创建图标等。如果需要调整大小,则有一个命令行实用程序叫做 ImageMagick,我发现它比在图像编辑器中设置大小更容易调整图像大小。你将用于调整大小的命令称为 mogrify
第二个选项是获取名为 Asset Catalog Generator 的应用程序。你只需将图像转储到其中,它便会输出正确的文件大小和命名约定。这可能是我花费的最好的 4.99 美元之一。
更新 似乎有人写了一个 脚本来创建图标。我自己没有使用过,所以你可能想四处查找其他内容。

我不太喜欢购买软件,但是Asset Catalog Generator非常好用。你可以使用它将图像直接注入到你的项目中。你也可以免费制作图标。 - Stuart Clark

3

在适当的分辨率(比如1024x1024)下创建您的应用程序图标(一次)。将文件拖放到MakeAppIcon(一个免费服务),然后就可以下载一个zip文件,其中包含正确尺寸、必要增强和渲染的所有应用程序图标。只需将它们拖放到images.xcassets中即可完成。这样可以避免调整可能偏移一两个像素的任何图标,并避免那些恼人的Xcode警告消息。该供应商还提供了批量上传iTunes截图的服务,但我还没有尝试过。喜欢它!


2
你可以使用 PDF 中的基于矢量的图像。WWDC 的第 411 次会议“Interface Builder 中的新功能”简要介绍了 Xcode 支持从矢量化的 PDF 创建 PNG 文件的构建时间。关于这个话题有一篇很好的文章,你也可以参考一下。http://martiancraft.com/blog/2014/09/vector-images-xcode6/(请注意,这并不包括用于图标的 PDF,只适用于图像)。

这不是我真正想要的,但无论如何还是谢谢你 :) - user2876115
5
自Xcode 9.2起,我没有看到AppIcon的矢量支持。不过对于其他所有图标来说,矢量支持非常好! - bcattle
1
为什么AppIcons不能正常工作?由于AppIcons有许多不同的分辨率,因此在这种情况下使用PDF似乎是最有帮助的。 - Indiana Kernick

1
我建议您尝试SquareIcon,我相信它可以轻松创建Xcode应用程序图标集。只是想让您知道,这是我的应用程序。
该应用程序允许您拖入通用图像文件(如JPG或PNG)并将其转换为.appiconset文件,然后可以将其放入项目的资产目录中。这会自动处理您可能需要手动完成的所有命名和调整大小工作。

0
更新2:我可能误解了你的意思。当我写这个答案时,我认为你所说的“低效率”是指内存消耗和导致应用程序大小增加。如果你的意思是,为所有尺寸制作图标很费力,并且你正在寻找更好的方法来完成它,请考虑查看Adrian B的答案。
首先,很遗憾,没有更有效的方法来完成它。Xcode支持矢量图像,但据我所知,它们仅在OS X上受支持。在iOS上,它只会在编译时生成所有必要的图像。
其次,应用程序图标很小。通过优化应用程序图标大小,您不会节省太多空间。如果您需要减小应用程序大小,请尝试找到真正占用大量空间的内容。图标并不是。
更新:幸运的是,苹果意识到强制每个人下载他们不需要的资源是不好的。因此,他们在iOS 9中推出了App Thinning。我还没有仔细研究过它,但总体思路是,您上传一个包含所有资源的二进制文件,但当用户从AppStore下载应用程序时,他们只会得到包含他们需要的资源的版本。

在iOS中,您也可以使用向量。 - Abizern
@Abizern,你可以这样做,但很遗憾没有用。因为在OS X中,矢量图像是在运行时使用的。所以应用程序包含矢量图像。而在iOS中,Xcode只会在编译时生成.png@2x.png@3x.png文件。 - FreeNickname
如果可以帮助你节省调整所有不同图像的时间,那么如何会是无用的呢?除非你需要为不同的尺寸使用不同的图像。 - Abizern
@Abizern,就减小应用程序大小而言,这种方法是无用的(这也是我的答案所关注的)。此外,如果您有矢量格式的图像,则可以轻松设置导出到所有文件大小的选项。要么一键导出到所有尺寸,要么一键导出为PDF。对我来说大致相同。但我很高兴它对您有用 :) - FreeNickname
非常感谢您的长篇回答,我真的很感激您为这个答案所付出的努力。您正确地认为我在追求高效创建图像而不是应用程序大小,但这是我的错,我可能应该更清楚地表达,因此我为此道歉。无论如何,我喜欢您的答案,从中学到了很多,所以谢谢你,伙计 :) - user2876115
@user2876115,嗯,当你对某个想法很清楚时,有时候人们可能会以不同的方式理解你,所以没关系 :) 不用谢 :) - FreeNickname

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