包含此页的版本:
不含此页的版本:
iOS 设备的大多数功能都通过 Input 和 Handheld 类公开。对于跨平台项目,定义了 UNITY_IPHONE 以有条件地编译特定于 iOS 的 C# 代码。
您可以访问许多特定于设备的属性。请参阅脚本参考页,了解:
破解应用程序的一种常见方法是删除 AppStore DRM 保护,然后免费重新分发。使用 Unity 的反盗版检查来了解您的应用程序在提交到 AppStore 后是否被更改。
使用 Application.genuine 属性检查您的应用程序是否是正版(未被黑客入侵)。如果属性返回false,您可以警告用户他们正在使用被黑的应用程序,或者您可以禁用某些功能。
注意: 将 Application.genuineCheckAvailable 与Application.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 录制游戏的音频和视频,以及从设备麦克风捕获的音频和视频评论,以及相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表.