티스토리 뷰

반응형

 

 

안녕하세요. Base Of Coding입니다.

이번에 배워볼 건, 각각 플랫폼에 대응하는 방법인데요.

지금까지 Base Of Unity3D 폴더에 있는 글들입니다.

 

...더보기

그럼 시작해볼까요?

 

모바일 버전으로 만들다보면, Android와, iOS 이 두 분류로 나뉩니다.

각각 플랫폼에 대응하는 방법은 크게 2가지가 있습니다.

한가지는, if문을 이용하는 것과, 또 한가지는 #if를 이용하는 방법이 있습니다.

 

1 ) if문을 이용하는 방법

- if문을 이용하는 방법은 아래와 같습니다.

private void Awake()
{
	if(Application.platform == RuntimePlatform.Android)
    {
    	Debug.Log("안드로이드 폰 입니다.");
    }
    else if(Application.platform == RuntimePlatform.IPhonePlayer)
    {
    	Debug.Log("아이폰 입니다.");
    }
    else
    {
    	Debug.Log("안드로이드도 아이폰도 아닙니다.");
    }
}

 

2 ) #if를 이용하는 방법

- #if를 이용하는 방법은 아래와 같습니다.

private void Awake()
{
	#if UNITY_ANDROID
    	Debug.Log("안드로이드 입니다.");
    #elif UNITY_IOS
    	Debug.Log("아이폰 입니다.");
    #else
    	Debug.Log("안드로이드도 아이폰도 아닙니다.");
    #endif
}

 

3 ) if문과 #if의 차이점.

- 무슨 차이점이 있나 싶으시겠지만, 차이점이 존재합니다.

if문으로 사용했을 경우에는, 해당 실행 플랫폼이 어떤 플랫폼인 지를 확인하여 사용합니다.

하지만, #if문은, 에디터에서 사용해도 Build Setting에서, Android로 변경했을 경우, #if UNITY_ANDROID 문 안에 실행하게 됩니다.

이 점을 주의해서 사용하시길 바랍니다.

그렇기 때문에, 만약 각각 플랫폼으로 플러그인을 사용할 경우, 저는 #if문보다는 Application.platform을 비교하는 if문을 사용하기를 권장해드립니다.

이 것 또한 개발자분들의 자유입니다. 전 저 두 가지를 번갈아 사용합니다. 플러그인은, if문을, 에디터에서도 플랫폼 마다 대응을 해줘야되는 경우라면, #if를 사용합니다.

 

 

지금까지 Unity3D에서 각각 플랫폼에 대응하는 방법을 알아봤습니다.

저 두 가지에 대해 자세히 나와있는 페이지를 링크해 드리겠습니다. 잘 공부하시고 사용하시길 바랍니다.^^

 

RuntimePlatform 관련 링크

 

Unity - 스크립팅 API: RuntimePlatform

Note: RuntimePlatform 과 Platform dependent Compilation의 차이점은 RuntimePlatform은 런타임시에 플랫폼이 추정되고, 반면에 Platform dependent Compilation은 컴파일 타임에 플랫폼이 추정됩니다. Platform dependent Compilation을 사용할 수 있는 경우에, 사용을 망설이지 말고 사용하는 것이 좋습니다. 대부분의 경우에, 두 가지의 경우 모두 같은 기능을 얻을 수

docs.unity3d.com

#if문 플랫폼 대응 관련 링크

 

유니티 - 매뉴얼: 플랫폼 의존 컴파일

자동 메모리 관리를 이해하기 플랫폼 의존 컴파일 Unity는 “플랫폼 의존 컴파일”이라는 기능이 있습니다. 여기에는 몇 가지 전 처리기 지시문이 포함되어, 스크립트를 ’파티션화’하여 코드의 일부 섹션을 지원하는 하나의 플랫폼 독점적으로 실행할 수 있게 됩니다. 또한 코드를 에디터 내에서 실행할 수 있기 때문에, 코드를 모바일/콘솔에 대해 컴파일 한 후 에디터에서 테스트할 수 있습니다. 플랫폼 매크로 정의 Unity 스크립트에서 지원하는 플랫폼 매크로 정의

docs.unity3d.com

 

지금까지 Base Of Coding이였습니다.

도움이 되셨다면, 댓글 또는 공감 버튼 부탁드립니다.^^

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함