管理 Xcode 资源

本指南概述了如何为使用 Corona 构建的基于 Apple 的应用(iOS 和 tvOS)自定义应用图标和相关资源。

Xcode 资源文件夹

对于面向 iOS 11 或更高版本的 iOS 应用,您必须包含并引用本节中概述的 Images.xcassets 文件夹,否则您的应用在提交到 App Store 时将被拒绝。

为了方便起见,所有新的 Corona 项目模板都会自动添加一个默认的 Images.xcassets 文件夹。该文件夹也与 Corona 应用程序本身捆绑在一起,以便您将其复制到现有项目中。它可以在 Solar2D 应用程序文件夹中的以下位置找到:

/Applications/Corona/Resources/Resource Library/iOS/Images.xcassets

要在 Corona 项目中包含和引用 Images.xcassets 文件夹,请按以下步骤操作:

  1. 在 Finder 中,找到(或复制Images.xcassets 文件夹。将整个文件夹复制到您的项目中。

  2. 打开该文件夹并找到 AppIcon.appiconset 文件夹。它包含全套 iOS 应用图标,如下所示:

文件 尺寸 (宽×高)
Icon-40.png 40 × 40
Icon-58.png 58 × 58
Icon-76.png 76 × 76
Icon-80.png 80 × 80
Icon-87.png 87 × 87
Icon-120.png 120 × 120
Icon-152.png 152 × 152
Icon-167.png 167 × 167
Icon-180.png 180 × 180
Icon-1024.png 1024 × 1024
  1. 使用这些确切的名称和尺寸作为指导,创建您自己的自定义图标文件,并替换 AppIcon.appiconset 文件夹中的默认文件。为避免潜在的不兼容性,您的图像应为非交错的并且不应包含嵌入式 ICC 配置文件。

如果您要更新较旧的 Corona 项目或模板以使用 Images.xcassets 文件夹,您可以简单地将名称相似的图标文件从项目根文件夹(与 main.lua 一起)移动Images.xcassets/AppIcon.appiconset 文件夹。但是,请注意,您还必须添加 1024×1024Icon-1024.png文件,用作 App Store 横幅图标。

注意

您可以选择直接通过 Xcode 编辑资源目录,而不是手动替换文件,方法是将其拖放到 Xcode 程序坞图标上。这将打开一个详细的界面,可以添加补充图标,查看有关尺寸或格式不正确的图标的警告等。

  1. 如果没有计划发布 tvOS 版本,您可以删除 Images.xcassets 文件夹中的 AppIconTV.brandassetsLaunchImageTV.launchimage 文件夹。这不会影响为 iOS 生成图标的方式。

构建设置

接下来,您必须引用 Images.xcassets 文件夹并将其与 Corona 项目链接:

  1. 打开 Corona 项目的 build.settings 文件。

  2. 如果您要更新较旧的 Corona 项目或模板以使用Images.xcassets/AppIcon.appiconset中的图标,请删除整个 CFBundleIconFilessettingsiphoneplistCFBundleIconFiles.

settings =
{
    iphone =
    {
        plist =
        {
            UILaunchStoryboardName = "LaunchScreen",
            CFBundleIconFiles = {
                "Icon-40.png",
                "Icon-58.png",
                "Icon-76.png",
                "Icon-80.png",
                "Icon-87.png",
                "Icon-120.png",
                "Icon-152.png",
                "Icon-167.png",
                "Icon-180.png",
            },
        },
    },
}
  1. settingsiphone表中,添加键值对xcassets = "Images.xcassets"。请注意,此条目位于顶层 iphone 表中,而不是在其 plist 子表中。
settings =
{
    iphone =
    {
        xcassets = "Images.xcassets",
        plist =
        {
            UILaunchStoryboardName = "LaunchScreen",
        },
    },
}
  1. 保存您的 build.settings 文件。

就是这样!完成所有这些步骤后,Corona 将使用指定的 Xcode 资源目录 (Images.xcassets) 构建应用,以生成资源、图标和 plist 条目。