iOS 장치의 기능은 대부분 Input 및 Handheld 클래스를 통해 노출됩니다. 크로스 플랫폼 프로젝트의 경우 iOS 관련 C# 코드를 조건부로 컴파일하는 데 사용되는 UNITY_IPHONE 이 정의됩니다.
액세스할 수 있는 다양한 기기별 프로퍼티가 있습니다. 다음에 대한 스크립트 레퍼런스 페이지를 참조하십시오.
애플리케이션을 해킹하는 가장 일반적인 방법은 AppStore DRM 보호를 제거한 후 무료로 재배포하는 것입니다. Unity의 불법 복제 방지 검사를 사용하면 애플리케이션을 AppStore에 제출한 후에 변경되었는지 알아낼 수 있습니다.
Application.genuine 프로퍼티를 사용하여 애플리케이션이 해킹되지 않은 정품인지 확인하십시오. 프로퍼티가 false 를 반환하면 사용자에게 해킹된 애플리케이션을 사용하고 있음을 알리거나, 특정 기능을 비활성화할 수 있습니다.
참고: Application.genuineCheckAvailable은 검증된 애플리케이션인지 확인하기 위해 Application.genuine
과 함께 사용하십시오. Application.genuine 프로퍼티에 액세스하는 것은 리소스를 많이 소모하는 작업이기 때문에 프레임 업데이트 및 처리 시간이 중요한 코드에서는 수행하지 않아야 합니다.
Handheld.Vibrate를 호출해서 진동을 발동시킬 수 있습니다. 진동 하드웨어가 없는 디바이스는 이 호출을 무시합니다.
모바일 OS에는 작동이 느릴 때 사용할 수 있는 빌트인 작업 표시기가 들어 있습니다. 예제는 Handheld.StartActivityIndicator docs를 참조하십시오.
iOS 및 Android 기기 모두에서 애플리케이션의 화면 방향을 제어할 수 있습니다. 방향 변경을 감지하거나 특정 방향을 강제로 사용하도록 만들어 사용자가 기기를 잡는 방식에 따른 앱 동작을 구현할 수 있습니다.
기기 방향에 대한 정보를 얻으려면 Screen.orientation 프로퍼티에 액세스하십시오. 방향은 다음 중 하나여야 합니다.
방향 | 동작 |
---|---|
Portrait | 디바이스가 세워진 상태로 홈버튼이 아래쪽에 위치하는 세로 모드를 나타냅니다. |
PortraitUpsideDown | 디바이스가 세워진 상태로 홈버튼이 위쪽에 위치하는 뒤집어진 세로 모드를 나타냅니다. |
LandscapeLeft | 디바이스가 세워진 상태로 홈버튼이 오른쪽에 위치하는 가로 모드를 나타냅니다. |
LandscapeRight | 디바이스가 세워진 상태에서 홈 버튼이 왼쪽에 있는 가로 모드입니다. |
Screen.orientation을 위 방향 중 하나로 설정하거나 ScreenOrientation.AutoRotation을 사용하여 화면 방향을 제어하십시오. 자동 회전을 활성화해도 경우에 따라 일부 방향을 비활성화할 수 있습니다.
자세한 내용은 다음 API 설명서를 참조하십시오.
애플리케이션의 화면 방향은 애플리케이션의 기본 방향 설정과 관계없이 사용자가 설정한 기기 방향에 따라 달라질 수 있습니다.
다음 표에는 애플리케이션에 설정된 기본 화면 방향과 기기 방향에 따라 애플리케이션이 로드되는 실제 방향이 나와 있습니다.
||기본 화면 방향: 자동 회전|기본 화면 방향: 세로|기본 화면 방향: 가로*|
|–|—|—|—|
|기기 방향: 자동 회전| 애플리케이션 화면이 세로로 로드되며 세로, 가로 오른쪽, 가로 왼쪽 방향(세로 상하반전 방향 제외)으로 회전할 수 있습니다.
참고: iPad에서는 애플리케이션 화면이 기기 방향에 따라 세로 또는 가로 방향으로 로드됩니다. 화면은 세로, 세로 상하반전, 가로 오른쪽, 가로 왼쪽 방향으로 회전할 수 있습니다.| 애플리케이션 화면은 세로 방향으로 로드되고 그 상태로 고정되어 유지됩니다. 세로 상하반전 방향이 허용되지만 화면이 해당 방향으로 회전하지는 않습니다.
참고: iPad에서는 애플리케이션 화면이 세로로 로드되며 세로, 세로 상하반전 방향으로 회전할 수 있습니다. 스플래시 화면은 실행 시 기기 방향이 가로인 경우 가로 방향으로 로드할 수 있습니다.| 스플래시 화면은 기기 방향과 동일하게 로드됩니다. 애플리케이션 화면은 씬이 로드될 때 가로로 로드되며 가로 왼쪽 또는 가로 오른쪽 방향으로 회전할 수 있습니다.
참고: iPad에서는 애플리케이션 화면이 가로로 로드되며, 가로 왼쪽과 가로 오른쪽 방향으로 회전할 수 있습니다. 스플래시 화면은 실행 시 기기 방향이 세로인 경우 세로로 로드할 수 있습니다.|
|기기 방향: 세로 잠금|애플리케이션 화면은 세로 방향으로 로드되고 그 상태로 고정되어 유지됩니다.
참고: 세로 방향으로 설정한 상태에서 세로용 ScreenOrientation.AutoRotation 프로퍼티를 false로 설정하면, 애플리케이션 화면이 가로 방향으로 회전합니다. 이제 가로용 ScreenOrientation.AutoRotation 프로퍼티를 false로 설정하면, 화면 방향이 변경되지 않습니다. | 애플리케이션 화면은 세로 방향으로 로드되고 그 상태로 고정되어 유지됩니다.| 스플래시 화면은 세로 방향으로 로드되지만, 씬이 로드될 때 애플리케이션 화면은 가로로 로드됩니다. 기본적으로 애플리케이션 화면은 가로 왼쪽 방향으로 고정되어 유지됩니다.
참고: iPad에서는 스플래시 화면이 세로 방향으로 로드되며, 씬은 가로 방향으로 로드됩니다. 애플리케이션 화면은 가로 방향으로 고정되어 유지됩니다.|
|기기 방향: 가로 잠금| iPhones에는 가로 잠금 설정이 없으므로 적용되지 않습니다. 애플리케이션이 가로 방향으로 설정된 상태에서 사용자가 기기 자동 회전 설정을 비활성화하면, 애플리케이션 화면이 세로 방향으로 회전하고 그 상태로 고정되어 유지됩니다.
참고: iPad에서는 애플리케이션이 가로 방향으로 로드되고 그 상태로 고정되어 유지됩니다.| iPhones에는 가로 잠금 설정이 없으므로 적용되지 않습니다. 애플리케이션은 세로 방향으로 고정되어 유지됩니다.
참고: iPad에서는 스플래시 화면이 가로로 로드되며 씬은 세로 방향으로 로드됩니다. 애플리케이션 화면은 세로 방향으로 고정되어 유지됩니다.| iPhones에는 가로 잠금 설정이 없으므로 적용되지 않습니다. 애플리케이션 화면은 가로로 로드되며 애플리케이션이 로드될 때 가로 왼쪽 또는 가로 오른쪽 방향으로 고정되어 유지됩니다.
참고**: iPad에서는 애플리케이션 화면이 가로로 로드되며 기기 방향에 따라 가로 왼쪽 또는 가로 오른쪽 방향 중 하나로 고정되어 유지됩니다.|
기기 세대마다 지원하는 기능이 다르고 성능도 다양합니다. 기기 세대에 관해 쿼리하려면 iOS.DeviceGeneration 프로퍼티를 사용하십시오.
일부 디스플레이의 경우 다른 하드웨어가 화면의 특정 영역을 점유하여 보이지 않거나 작동하지 않게 만들 수 있습니다. Screen.cutouts를 사용하여 각 컷아웃 주변의 바운딩 박스 리스트를 반환하십시오.
iOS 기기는 디스플레이 컷아웃 정보를 가져오는 네이티브 API를 지원하지 않기 때문에 컷아웃은 이용 가능한 각 iOS 기기의 Xcode 프로젝트에 하드코딩됩니다. UnityView.mm
파일의 Unity Xcode 프로젝트 ReportSafeAreaChangeForView
함수에서 기존 데이터를 수정하거나 기기를 추가할 수 있습니다.
ReplayKit를 사용하면 게임의 오디오 및 비디오를 기기의 마이크 및 카메라에서 캡처된 오디오 및 비디오 설명과 함께 기록할 수 있습니다.