本指南讨论在 Corona 中 Apple TV 和 tvOS 的设置、功能和开发。
在您开始试验和 tvOS 开发之前,请务必评估各种设计方面,包括部署到更大的屏幕和纯
我们建议您从 Pew Pew! 演示开始,因为主要的交互模型需要控制器(电视上没有触摸界面)。此示例可在我们的 GitHub 仓库中找到。
Apple TV 没有纵向与横向的概念。所有 Corona tvOS 项目均以 "landscapeRight"
(右横向)方向运行。应用必须支持横向才能通过 Corona 模拟器构建。
Apple 关于 图标和图像 的人机界面指南定义了您的应用在 Apple TV 上的呈现方式。这意味着您需要一种新型图标、至少一个静态顶部货架图像和一个启动图像。
提供的所有素材必须是特定大小的 .png
文件。顶部货架图像(当您的应用是用户主屏幕上的首批应用之一时显示)是一个 1920×720 的静态 .png
文件,启动图像是一个 1920×1080 的静态 .png
文件。
应用图标不仅仅是一个图像文件,而是多个图像堆叠为图层。此外,您必须提供小型(主屏幕)和大型(应用商店)素材。小型素材为 400×240,而大型素材为 1280×768。位于
通过编辑 build.settings
文件,Corona 将为您创建所需的捆绑包。以下是 build.settings
的 tvos
部分应该是什么样子的示例
settings = { tvos = { -- Apple TV app icons consist of multiple "layers" in both small and large sizes icon = { -- A collection of 400x240 images, in order from top to bottom small = { "Icon-tvOS-Small-4.png", "Icon-tvOS-Small-3.png", "Icon-tvOS-Small-2.png", "Icon-tvOS-Small-1.png", }, -- A collection of 1280x768 images, in order from top to bottom large = { "Icon-tvOS-Large-4.png", "Icon-tvOS-Large-3.png", "Icon-tvOS-Large-2.png", "Icon-tvOS-Large-1.png", } }, -- A 1920x720 image file, displayed when your app is on the "top shelf" topShelfImage = "Icon-tvOS-TopShelf.png", -- A 2320x720 image file, displayed when your app is on the "top shelf" of a widescreen TV topShelfImageWide = "Icon-tvOS-TopShelfWide.png", -- A 1920x1080 image file, displayed briefly as your app loads launchImage = "Icon-tvOS-Launch.png", }, }
Apple TV 的交互模型以 Apple TV 遥控器为中心。此遥控器的工作方式类似于游戏控制器,但采用“微型游戏手柄”配置文件,这意味着它只有一组有限的按钮。相比之下,Xbox 或 PlayStation 等传统游戏控制器的按钮更多,因此配置文件更扩展。
有关交互的更多信息,请参阅 游戏控制器 和 MFi 控制器 指南。
触摸事件不适用于 tvOS — 此平台围绕 relativeTouch、axis 和 key 事件。请相应地调整您的游戏!
所有 tvOS 游戏都应与 Apple TV 遥控器的“微型游戏手柄”配置文件兼容。
您可以将 MFi 控制器 连接到 Mac,以将控制器事件发送到 Corona 模拟器中运行的应用。
您的 tvOS 应用应通过 system.setIdleTimer() **禁用** 屏幕空闲计时器
system.setIdleTimer( false )
Corona 控件 没有
以下原生对象函数受支持,并且与控件不同,这些对象自动支持焦点和控制器交互
Apple 提供了 tvOS 上游戏的 检查清单。请查阅它以确保您的游戏符合其要求。
安装证书和描述文件后,构建 tvOS 应用是一个简单的过程。
从 Corona 模拟器中,选择 **文件** → **打开…** 加载要构建的项目。
选择 **文件** → **构建** → **tvOS…**
填写信息
**应用程序名称** — 默认情况下,这将与您的项目文件夹匹配;保留此名称或指定其他名称。
**版本** — 指定应用的版本名称。
**描述文件** — 选择适用于 **开发** 或 **分发** 的相应描述文件。
**tvOS SDK** — 选择要构建的 tvOS 版本。
**保存到文件夹** — 指定编译后应用的保存位置。
**构建后** — 选择应用成功构建后要执行的操作。
单击 **构建**,Corona 将编译该应用。然后,您将获得一个应用程序文件,可以将其加载到 Apple TV 上或提交到 App Store,具体取决于您选择的描述文件。
有两种方法可以将您的应用安装在 Apple TV 上,如下所述。
您**不能**在 Apple TV 上测试为**App Store 分发** 而构建的应用。为分发而构建的应用旨在提交给 Apple。
将 Apple TV 连接到您的计算机。
按照上面 构建流程 中概述的步骤操作,确保选择
连接 Apple TV,打开 **Xcode**,然后选择
打开 **设备** 窗口。
在左列中,选择 Apple TV。在主窗格中,查找 **已安装的应用** 部分,其中显示当前已安装的应用(此列表最初可能为空)。在列表下方,单击 [**+**] 按钮并导航到 Corona 生成的 .app
文件的位置。选择该文件并单击 **打开**。假设没有描述文件/证书错误,该应用应安装在设备上。
通常,tvOS 包含 iOS 可用 API 的一个子集。有关更多详细信息,请参阅此处。
“应用”项目模板在“tvOS”子目录下包含 Xcode 项目。请注意,插件本身并没有做太多工作。
tvOS/Xcode 模拟器中的虚拟遥控器无法用于发送控制器事件。请在设备上测试或连接MFi 控制器。
tvOS 上的插件打包为动态框架。动态框架提供了更大的灵活性,允许将代码和资源文件打包在一起。
tvOS 的“应用”项目模板包含一个嵌入式“插件”项目,您可以对其进行修改。该项目包含两个目标
重命名插件框架时,请务必遵循以下约定
例如
`require "plugin.myCoolLibrary"` → `Corona_plugin_myCoolLibrary.framework`