【问题标题】:The most efficient way of adding "AppIcon" to project in Xcode?在 Xcode 中将“AppIcon”添加到项目的最有效方法是什么?
【发布时间】:2015-10-05 20:04:22
【问题描述】:

我正在使用 xcode 编写应用程序,最近在设计应用程序图标时引起了我的注意。这是我在项目中的当前设置:

现在我有一个 87x87 像素的图像用于“29pt”选项(图像的最左侧),我也有一个 120x120 的 40pt 选项(中间),我有一个 180x180 像素的 png 用于 60pt 选项(最右边)。这似乎效率很低,不仅如此,我还需要提供@2 分辨率的图像吗?肯定有更好的方法吗?

【问题讨论】:

  • 我发现这个过程是一个巨大的 PITA。值得庆幸的是,有人为此编写了一个应用程序。 itunes.apple.com/us/app/asset-catalog-creator-app/…
  • 那么你发现了吗?
  • @AdrianB 我想通了,是的!我将使用我认为的使用 gimp 插件的方法。不过,这是一次很好的体验,有很多很棒的答案,我从这个特定的问题中学到了很多:)

标签: ios xcode icons resolution


【解决方案1】:

我过去曾采取过几种方法。一种方法是在 GIMP、Photoshop 等中创建图标等。如果您需要调整它们的大小,有一个名为 ImageMagick 的命令行实用程序,我发现调整图像大小比在图像中设置大小要容易得多编辑。用于调整大小的命令称为mogrify

选项二是使用名为Asset Catalog Generator 的应用程序。您只需将图像转储进去,它就会输出正确的文件大小和命名约定。这可能是我很长时间以来花的最好的 4.99 美元。

更新 似乎有人也写了script to create the icons。我自己没有用过,所以你可能想四处寻找其他人。

【讨论】:

  • 我不是购买软件的人,但资产目录生成器运行得非常好。您可以使用它将图像直接注入到您的项目中。你也可以免费做图标。
【解决方案2】:

以合适的分辨率(例如 1024x1024)创建您的应用图标(一次)。将文件放入MakeAppIcon(免费服务),然后将所有图标弹出一个大小合适、必要时进行增强和渲染的 zip 文件。只需将它们放入 images.xcassets 即可完成。这避免了必须调整任何可能偏离一两个像素的图标,并避免那些烦人的 Xcode 警告消息。该供应商还提供批量上传 iTunes 屏幕截图的服务,但我还没有尝试过。喜欢它!

【讨论】:

    【解决方案3】:

    您可以使用 PDF 中的基于矢量的图像。 WWDC 的第 411 节“Interface Builder 中的新增功能”讨论了(尽管非常简短)Xcode 支持在构建时从矢量化 PDF 创建 PNG 文件。

    这方面有很好的文章,你也可以参考。 http://martiancraft.com/blog/2014/09/vector-images-xcode6/

    (请注意,这不包括图标的 PDF,仅适用于图像)

    【讨论】:

    • 这不是我真正想要的,但还是谢谢你:)
    • 从 Xcode 9.2 开始,我看不到 AppIcon 的矢量支持。不过,矢量支持对所有其他图标都很有效!
    • 为什么它不适用于 AppIcons? AppIcons 有无数种分辨率,所以在这种情况下,PDF 似乎最有帮助。
    【解决方案4】:

    我建议你试试SquareIcon,我相信这使得创建 Xcode 应用程序图标集变得非常容易。只是让你知道,这是我自己的应用程序。

    该应用程序允许您放入通用图像文件(如JPGPNG)并将其转换为您可以放入项目资产目录的.appiconset 文件。这会处理您可能必须手动进行的所有命名和调整大小。

    【讨论】:

      【解决方案5】:

      更新 2:我可能误解了你的意思。当我写这个答案时,我认为“低效率”是指内存消耗和由此产生的应用程序大小。如果您的意思是,为所有尺寸制作图标需要大量工作,并且您正在寻找更好的方法,请考虑查看 Adrian B 的答案。


      首先,不,没有更有效的方法(不幸的是)。 Xcode 支持矢量图像,但它们仅在 OS X、AFAIK 上受支持。在 iOS 上,它只是在编译时生成所有必要的图像。

      第二,应用图标小。通过优化应用程序图标大小不会节省大量空间。如果您需要减小应用程序大小,请尝试寻找真正占用大量空间的东西。图标没有。

      更新:幸运的是,Apple 意识到,强迫每个人下载他们不需要的资源是没有好处的。所以他们在 iOS 9 中引入了App Thinning。我还没有深入研究它,但一般的想法是你像往常一样上传一个包含所有资源的二进制文件,但是当你的用户从 AppStore 下载应用程序时,他们获取仅包含他们需要的资源的版本。

      【讨论】:

      • 您也可以在 iOS 中使用矢量。
      • @Abizern,你可以,但不幸的是,它没用。对于 OS X,矢量图像在运行时使用。所以该应用程序包含矢量图像。在 iOS Xcode 的情况下,只在编译时生成 .png@2x.png@3x.png
      • 如果它可以让您自己调整所有不同图像的大小,这有什么用呢?除非你想要不同尺寸的不同图像。
      • @Abizern,在减小应用程序大小方面毫无用处(这是我的答案所关注的)。此外,如果您有矢量格式的图像,则可以轻松设置导出为所有文件大小的一键。一键导出为所有尺寸或一键导出为 PDF。对我来说大致相同。但我很高兴它对你有用:)
      • 感谢您的长篇回答我非常感谢您为这个答案所做的工作。你认为我是在高效地创建图像而不是应用程序大小是正确的,但那是我的错,我可能应该更清楚地说明这一点,所以我为此道歉。无论如何,我喜欢你的回答,我从中学到了很多,所以谢谢你,伙计:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 2017-04-15
      • 1970-01-01
      • 2018-05-13
      • 2013-02-21
      相关资源
      最近更新 更多