Version: 2019.3
언어: 한국어
iOS 게임 컨트롤러 지원
iOS에서 성능 최적화

고급 iOS 스크립팅

디바이스(Device) 프로퍼티

몇몇 기기 관련 프로퍼티는 직접 제어할 수 있습니다. SystemInfo.deviceUniqueIdentifier, SystemInfo.deviceName, SystemInfo.deviceModel, SystemInfo.operatingSystem의 스크립트 레퍼런스 페이지를 참조하십시오.

불법 복제 방지 검사

애플리케이션을 해킹하는 가장 일반적인 방법은 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을 사용하여 화면 방향을 제어하십시오. 자동 회전을 활성화해도 각 상황에 따라 일부 방향을 비활성화할 수 있습니다.

자세한 내용은 Screen.autorotateToPortrait, Screen.autorotateToPortraitUpsideDown, Screen.autorotateToLandscapeLeftScreen.autorotateToLandscapeRight에 대한 API 문서를 참조하십시오.

기기 세대 결정

기기 세대마다 지원하는 기능이 다르고 성능도 다양합니다. 기기 세대에 관해 쿼리하려면 iOS.DeviceGeneration 프로퍼티를 사용하십시오.

다양한 기기 세대, 성능 및 지원 기능에 관한 내용은 iPhone 하드웨어 가이드 문서를 참조하십시오.

디스플레이 컷아웃

일부 디스플레이의 경우 다른 하드웨어가 화면의 특정 영역을 점유하여 보이지 않거나 작동하지 않게 만들 수 있습니다. Screen.cutouts를 사용하여 각 컷아웃 주변의 바운딩 박스 리스트를 반환하십시오.

iOS 기기는 디스플레이 컷아웃 정보를 가져오는 네이티브 API를 지원하지 않기 때문에 컷아웃은 이용 가능한 각 iOS 기기의 Xcode 프로젝트에 하드코딩됩니다. UnityView.mm 파일의 Unity Xcode 프로젝트 ReportSafeAreaChangeForView 함수에서 기존 데이터를 수정하거나 기기를 추가할 수 있습니다.

이 함수 사용에 관한 자세한 내용은 Screen.cutouts API 문서를 참조하십시오.

iOS 게임 컨트롤러 지원
iOS에서 성능 최적화