【问题标题】:iOS 7 App Icons, Launch images And Naming Convention While Keeping iOS 6 IconsiOS 7 应用程序图标、启动图像和命名约定,同时保留 iOS 6 图标
【发布时间】:2013-09-17 19:07:15
【问题描述】:

我刚刚在 iOS 6 上完成了一个应用程序,并在一周前购买了一个开发者帐户,因此没有太多时间使用 iOS 7 SDK。刚刚下载了 Golden Master 版本并尝试升级我的应用以兼容 iOS 7。

我意识到 iOS 7 需要对应用程序图标进行一些处理。我检查了许多相关问题,我很困惑该怎么做。我已经有一个带有应用图标的 iOS 6 应用,当我安装黄金大师版时,我看到了以下内容:

对于启动图像:

我可以为 iOS 7 创建新的平面图标,同时我希望 iOS 用户继续看到旧图标。

我该怎么办?使用“使用资产目录”或手动添加图标,如果我手动添加图标,那么我应该如何命名这些图像?谢谢!

【问题讨论】:

    标签: ios xcode ios7 xcode5


    【解决方案1】:

    资产目录绝对是您的答案,它消除了在添加或更新应用程序图标时遵循命名约定的需要。

    以下是从 Apple迁移应用图标集或启动图像集的步骤:

    1- 在项目导航器中,选择您的目标。

    2- 选择 General 窗格,然后滚动到 App Icons 部分。

    3- 通过单击图像行右侧的文件夹图标并在出现的对话框中选择图像文件来指定应用程序图标表中的图像。

    4-通过单击“使用资产目录”按钮,从弹出菜单中选择资产目录,然后单击“迁移”按钮,将 App Icon 表中的图像迁移到资产目录。

    或者,您可以通过选择编辑器 > 新应用图标来创建一个空的应用图标集,然后通过从 Finder 中拖动图像或选择编辑器 > 导入来将图像添加到该集中。

    【讨论】:

    • 简而言之,首先我必须根据表格中给出的尺寸浏览和设置图像,然后可以将它们迁移到 iOS 6 和 iOS 7 的 Asset Catalog。对吗?跨度>
    • 是的,您的旧图像会立即迁移,但新图像肯定需要重新设计,但至少您可以通过 Asset Catalog 确切知道需要重新布局的图标或图像。跨度>
    • 因为这样做,我似乎在 Organizer 和 TestFlight 中丢失了我的 AppIcon;这一切似乎都可以在设备上运行——我还需要做些什么才能让它们也能正常工作吗?我试过也有 CFBundleIcons,知道吗?
    • 我发现对于多个目标项目,最好采用替代路线并为每个目标创建新的资产文件。有时迁移选项会混淆。然后为每个资产分配一个目标成员资格。
    • 谢谢!我试图找到一种方法来编辑这些行。如果你有 XCode 窗口(而不是全屏),文件夹按钮可以隐藏在右侧工具栏后面。
    【解决方案2】:

    您应该使用资产目录:

    我已经调查过,我们如何使用 Asset Catalog;现在对我来说似乎很容易。我想向您展示在资产目录中添加图标和启动画面的步骤。

    注意:不需要在 info.plist 文件中做任何条目 :) 并且没有任何其他配置。

    在下图中,在右侧,您将看到突出显示的区域,您可以在其中提及您需要的图标。在我的情况下,我选择了前四个复选框;作为我的应用程序要求。您可以根据自己的要求进行选择。

    现在,请看下图。当您选择任何应用程序图标时,您将在右侧选定区域看到其详细信息。它将帮助您上传正确的分辨率图标。

    如果不添加正确分辨率的图像,则会出现以下警告。只需上传具有正确分辨率的图像。

    上传所有必需的尺寸后,您应该不会收到任何警告。

    【讨论】:

    • 嗨:我遇到了这个问题,我已经像你一样完成了所有设置。当我运行应用程序时,哪个模拟器会显示图标,但无论我是否进行了所有清理和重建,但是当我部署到真正的 iPhone 5s 时,它永远不会显示。
    • @phil88530 请确保您也选择了 iOS 7.0 及更高版本(如上面的屏幕截图所示)。其次,还要确保您使用的是最新的 XCode 版本,例如 v 5.1.1 或更高版本。
    • 如果你想节省一些时间来调整所有图标的大小,你可以使用这个应用程序,它会为你生成应用程序图标资产目录:itunes.apple.com/app/id1052532083(免责声明:这是我的应用程序)
    【解决方案3】:

    如果您不想想要使用 Asset Catalog,可以通过创建 120x120 .png 图像为旧应用添加 iOS 7 图标。将其命名为 Icon-120.png 并拖入项目。

    在 TARGET > Your App > Info > Icon files 下,在 Target Properties 中再添加一项:

    我在 Xcode 5 上进行了测试,提交的应用程序没有丢失视网膜图标警告。

    【讨论】:

    • 您可能还想添加 Icon-76.png 和 Icon-152.png。还要确保图标列在“构建阶段”>“复制捆绑资源”中(参见stackoverflow.com/a/12225627/376066
    • +1 为您描述在哪里添加图标信息。谢谢!
    • 这真的是一个词,谢谢亲爱的,我花了两个小时来设置 APPICON 进行拖放,这对我来说不起作用,但 using.plist 文件是工作......谢谢很多。
    【解决方案4】:

    好的,添加到@null 关于使用资产目录的精彩帖子。

    您可能需要执行以下操作才能链接应用的图标并使其在 Ad-Hoc 分发 / 生产 中显示在 Organiser >、试飞以及可能未知的 AppStore 位置。


    创建资产目录后,记下 Xcode 中 .xassets 中列出的启动图像名称和应用图标名称。

    默认情况下应该是

    • AppIcon
    • LaunchImage

    [要查看此内容,请单击 Xcode 中的 .xassets 文件夹/图标。] (这可以更改,所以请注意这个变量以备后用)


    现在每次构建都会在您的 .app 中创建以下数据结构:

    对于应用图标:

    iPhone

    • AppIcon57x57.png(iPhone 非视网膜)[注意图标名称前缀]
    • AppIcon57x57@2x.png(iPhone 视网膜)

    并且其他每个图标分辨率的格式都相同。

    iPad

    • AppIcon72x72~ipad.png(iPad 非视网膜)
    • AppIcon72x72@2x~ipad.png(iPad 视网膜)

    (对于 iPad,后缀略有不同)


    主要问题

    现在我注意到,在 Xcode 5.0.1 中的 Info.plist 中,它在完成资产目录的创建后自动尝试为“Icon files (iOS 5)”创建密钥,但未能成功。

    如果它确实成功创建了引用/这可能已由 Apple 修补或刚刚起作用,那么您所要做的就是查看图像名称以验证上面列出的格式。

    最终解决方案:

    将以下密钥添加到您的主.plist

    我建议您使用外部文本编辑器(例如 TextWrangler)打开您的主 .plist,而不是在 Xcode 中复制并粘贴以下密钥。

    <key>CFBundleIcons</key>
    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>AppIcon57x57.png</string>
                <string>AppIcon57x57@2x.png</string>
                <string>AppIcon72x72~ipad.png</string>
                <string>AppIcon72x72@2x~ipad.png</string>
            </array>
        </dict>
    </dict>
    

    请注意,我只包含了我的示例分辨率,您需要将它们全部添加。


    如果您想在没有外部编辑器的情况下在 Xcode 中添加此密钥,请使用以下内容:

    • Icon files (iOS 5) - 字典
    • Primary Icon - 字典
    • Icon files - 数组
    • Item 0 - 字符串 = AppIcon57x57.png 以及其他项目/应用图标。

    现在,当您最终归档项目时,最终的 .xcarchive 有效负载 .plist 现在将包含上述要构建和使用的图标位置。

    不要在任何 .plist 中添加以下内容:这只是 Xcode 现在将为您的最终有效负载生成的示例

    <key>IconPaths</key>
    <array>
        <string>Applications/Example.app/AppIcon57x57.png</string>
        <string>Applications/Example.app/AppIcon57x57@2x.png</string>
        <string>Applications/Example.app/AppIcon72x72~ipad.png</string>
        <string>Applications/Example.app/AppIcon72x72@2x~ipad.png</string>
    </array>
    

    【讨论】:

      猜你喜欢
      • 2013-09-08
      • 2014-03-28
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-05
      • 2013-09-30
      • 2013-11-04
      相关资源
      最近更新 更多