Version: 6000.3
语言: 中文
针对 iOS 进行开发
iOS 设备的输入

iOS脚本

iOS 设备的大多数功能都通过 InputHandheld 类公开。对于跨平台项目,定义了 UNITY_IPHONE 以有条件地编译特定于 iOS 的 C# 代码。

设备属性

您可以访问许多特定于设备的属性。请参阅脚本参考页,了解:

反盗版检查

破解应用程序的一种常见方法是删除 AppStore DRM 保护,然后免费重新分发。使用 Unity 的反盗版检查来了解您的应用程序在提交到 AppStore 后是否被更改。

使用 Application.genuine 属性检查您的应用程序是否是正版(未被黑客入侵)。如果属性返回false,您可以警告用户他们正在使用被黑的应用程序,或者您可以禁用某些功能。

注意:Application.genuineCheckAvailableApplication.genuine以验证应用程序完整性。由于访问 Application.genuine 属性是一项资源密集型作,因此不应在帧更新或其他时间关键型代码期间执行此作。

振动支持

您可以通过调用 Handheld.Vibrate 来触发振动。没有振动硬件的设备会忽略此调用。

活动指示器

移动作系统具有内置的活动指示器,您可以在缓慢作期间使用。有关示例,请参阅 Handheld.StartActivityIndicator 文档

屏幕方向

您可以在 iOS 和 Android 设备上控制应用的屏幕方向。通过检测方向的变化或强制特定方向,您可以创建取决于用户握持设备的方式的应用行为。

若要检索设备方向,请访问 Screen.orientation 属性。方向可以是以下内容之一:

取向 行为
肖像 设备处于纵向模式,设备直立,主页按钮位于底部。
纵向颠倒 该设备处于纵向模式,但倒置,设备直立,主页按钮位于顶部。
左边风景 设备处于横向模式,设备直立,主页按钮位于右侧。
景观右 设备处于横向模式,设备直立,主页按钮位于左侧。

Screen.orientation 设置为上述方向之一,或使用 ScreenOrientation.AutoRotation 控制屏幕方向。启用自动旋转后,仍可根据具体情况禁用某些方向。

有关更多信息,请参阅以下 API 文档:

应用程序的屏幕方向可能会因用户设置的设备方向而异,而不管应用程序的默认方向设置如何。

下表显示了为应用程序设置的默认屏幕方向,以及应用程序根据设备方向加载的实际方向。

默认屏幕方向:自动旋转 默认屏幕方向:纵向 默认屏幕方向:横向
设备方向:自动旋转 应用程序屏幕以纵向加载,可以在纵向、横向右和横向左方向(不包括纵向倒置方向)之间旋转。
注意:在 iPad 上,应用程序屏幕会根据设备方向以纵向或横向加载。屏幕可以在纵向、纵向倒置、横向右和横向左方向之间旋转。
应用程序屏幕加载并保持纵向锁定状态。虽然允许纵向倒置方向,但屏幕不会旋转到该方向。
【注】在 iPad 上,应用程序屏幕以纵向加载,并且可以在纵向和纵向颠倒方向之间旋转。如果启动时设备方向为横向,则初始屏幕可以横向加载。
初始屏幕以与设备方向相同的方向加载。加载场景时,应用程序屏幕以横向加载,并且可以在横向左或横向右方向之间旋转。
注意:在 iPad 上,应用程序屏幕以横向加载,并且可以在横向左和横向右方向之间旋转。如果启动时设备方向为纵向,则初始屏幕可以纵向加载。
设备方向:纵向锁定 应用程序屏幕加载并保持纵向锁定状态。
注意:在纵向模式下,如果将纵向的 ScreenOrientation.AutoRotation 属性设置为 false,则应用程序屏幕将旋转为横向。如果现在将横向的 ScreenOrientation.AutoRotation 属性设置为 false,则屏幕方向保持不变。
应用程序屏幕加载并保持纵向锁定状态。 初始屏幕以纵向加载,但应用程序屏幕在加载场景时以横向加载。默认情况下,应用程序屏幕以横向左方向保持锁定状态。
注意:在 iPad 上,初始屏幕以纵向加载,场景以横向加载。应用程序屏幕保持横向锁定状态。
设备方向:横向锁定 不适用,因为 iPhone 没有横向锁定设置。如果用户在应用程序横向时关闭设备自动旋转设置,则应用程序屏幕将旋转到纵向并保持锁定状态。
【注】在 iPad 上,应用程序会以横向加载并保持锁定状态。
不适用,因为 iPhone 没有横向锁定设置。应用程序保持纵向锁定。
【注】在 iPad 上,初始屏幕以横向加载,场景以纵向加载。应用程序屏幕保持纵向锁定。
不适用,因为 iPhone 没有横向锁定设置。应用程序屏幕以横向加载,并且在应用程序加载时可以以横向左或横向右方向保持锁定状态。
注意:在 iPad 上,应用程序屏幕以横向加载,并根据设备方向以横向向左或横向右方向保持锁定状态。

确定设备生成

不同代设备具有不同的性能并支持不同的功能。使用 iOS.DeviceGeneration 属性查询设备的生成。

显示切口

在某些显示器上,由于其他硬件占用了该空间,屏幕的某些区域可能会被遮挡或无法正常工作。使用 Screen.cutouts 返回每个剪切周围的边界框列表。

iOS 设备不提供本机 API 来获取显示剪切信息,因此剪切会硬编码在每个可用 iOS 设备的 Xcode 项目中。您可以在 Unity Xcode 项目中修改现有数据或添加其他设备ReportSafeAreaChangeForView函数,它位于UnityView.mm文件。

录制游戏回放

您可以使用 ReplayKit 录制游戏的音频和视频,以及从设备麦克风捕获的音频和视频评论,以及相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表
.

针对 iOS 进行开发
iOS 设备的输入