[펌] iPhoneX Disable Home Indicator
유니티에서 아이폰X의 하단 Home Indicator 비활성화 하는 방법 찾다가
유니티는 어느 클래스에 넣으란건지 몰라서 헤멨는데 알맞은 답변을 찾아서 펌~
[추가2]
Unity v5.6.5f1 이상에서 Build Settings에 옵션이 추가 됐는데 하단 소스 대응되는 옵션 스크린샷 추가 해놓음.
1. - (BOOL)prefersHomeIndicatorAutoHidden; // add this
-> Off 돼 있어야 함.
2. - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures; // add this
-> 모두 On
[추가]
아래 소스를 적용해보니 Home Indicator가 Hide 되긴 하는데 아무 곳이나 터치(드래그 아님) 하면 Home Indicator가 활성화 되는 문제가 있어서 다른팀에 문의해보니 prefersHomeIndicatorAutoHidden을 YES로 하면 안된다고 한다.
prefersHomeIndicatorAutoHidden을 소스에서 없애라고 함.
없애고 테스트 해보니 원하는대로 동작(비활성화 상태에서 드래그하면 활성화 되면서 1회 드래그 무시)한다.
[설명]
Unity 5.6.4f1
XCode 9.1
XCode Project-Classes-UI 폴더에 가면 UnityViewControllerBaseiOS.h / UnityViewControllerBaseiOS.mm 파일이 있음.
해당 파일에 아래 add this 주석 달린 소스 추가
[참고]
This is for both status and edge protection
UnityViewControllerBaseiOS.h
- @interface UnityViewControllerBase : UIViewController
- {
- }
- - (BOOL)shouldAutorotate;
- - (BOOL)prefersStatusBarHidden;
- - (UIStatusBarStyle)preferredStatusBarStyle;
- (BOOL)prefersHomeIndicatorAutoHidden; // add this- - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures; // add this
- @end
UnityViewControllerBaseiOS.mm
- - (BOOL)shouldAutorotate
- {
- return YES;
- }
- // add this
- (BOOL)prefersHomeIndicatorAutoHidden{return YES;}- // add this
- - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures
- {
- return UIRectEdgeAll;
- }
- - (BOOL)prefersStatusBarHidden
- {
- ....
[출처] https://forum.unity.com/threads/option-to-hide-iphone-x-home-indicator-edge-protection.500991/
'Unity3D > Tips' 카테고리의 다른 글
[펌] How to get IP addresses of all devices in local network with Unity UNET in C#? (0) | 2018.02.05 |
---|---|
[펌] Unity에서 Xcode 설정을 자동화하는 방법 정리 (2) | 2018.02.02 |
iOS 장치의 세대 확인 (0) | 2017.11.13 |
[펌] ERROR ITMS-4238 (0) | 2017.11.02 |
[펌] iOS 10에서 Privacy 설정 (0) | 2017.11.02 |