Version: 2019.3
iOS 游戏控制器支持
在 iOS 上优化性能

高级 iOS 脚本

设备属性

您可以访问设备特有的许多属性。请参阅 SystemInfo.deviceUniqueIdentifierSystemInfo.deviceNameSystemInfo.deviceModelSystemInfo.operatingSystem 的脚本参考页面。

反盗版检查

破解应用程序的一种常见方法是移除 AppStore DRM 保护,然后进行免费重新分发。Unity 附带反盗版检查功能,用于查明应用程序在提交到 AppStore 之后是否被篡改。

可以使用 Application.genuine 属性检查应用程序是否为正版(未被破解)。如果该属性返回 false,则可提醒用户他们正在使用经过破解的应用程序,或者可以禁用该应用程序的某些功能。

注意:应将 Application.genuineCheckAvailableApplication.genuine 结合使用来检查是否可以确认应用程序的完整性。访问 Application.genuine 属性是一项资源密集型操作,因此不应在帧更新期间或运行其他时间迫切的代码时执行该操作。

振动支持

可通过调用 Handheld.Vibrate 来触发振动。不含振动硬件的设备将忽略此调用。

活动指示器

移动操作系统具有内置活动指示器;可在慢速操作期间使用这些指示器。请参阅 Handheld.StartActivityIndicator 文档以查看相关示例。

屏幕方向

可在 iOS 和 Android 设备上控制应用程序的屏幕方向。检测方向变化或强制使用特定方向对于创建一些取决于用户如何握持设备的游戏行为很有用。

可通过访问 Screen.orientation 属性来获取设备方向。允许的方向如下:

方向 行为
Portrait 设备处于纵向模式,直立握持设备,主屏幕按钮位于底部。
PortraitUpsideDown 设备处于纵向模式,但是上下颠倒,直立握持设备,主屏幕按钮位于顶部。
LandscapeLeft 设备处于横向模式,直立握持设备,主屏幕按钮位于右侧。
LandscapeRight 设备处于横向模式,直立握持设备,主屏幕按钮位于左侧。

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

请参阅关于 Screen.autorotateToPortraitScreen.autorotateToPortraitUpsideDownScreen.autorotateToLandscapeLeftScreen.autorotateToLandscapeRight 的 API 文档以了解更多信息。

确定设备世代

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

See the iPhone Hardware Guide documentation for more information about different device generations, performance, and supported functionality.

显示屏凹口

在某些显示屏上,屏幕上的某些区域可能由于其他硬件占用该空间而被遮挡或无法正常工作。使用 Screen.cutouts 可以返回每个凹口周围的包围盒列表。

iOS 设备不提供原生 API 来获取显示屏凹口信息,因此要在 Xcode 项目中针对每个可用的 iOS 设备为凹口进行硬编码。可以在 Unity Xcode 项目 ReportSafeAreaChangeForView 函数(位于 UnityView.mm 文件内)中修改现有数据或添加其他设备。

请参阅关于 Screen.cutouts 的 API 文档以了解有关使用此函数的更多信息。

iOS 游戏控制器支持
在 iOS 上优化性能