은 구성 파일에서 매크로를 사용할 수 있습니까? 다음과 같은 것을 얻고 싶습니다 :xcconfig 파일의 프로세서 전처리 매크로
if iPad
set variable to 1
else
set variable to 0
가능합니까? 나는 이것을 위해 스크립트를 사용하지 않을 것이다.
은 구성 파일에서 매크로를 사용할 수 있습니까? 다음과 같은 것을 얻고 싶습니다 :xcconfig 파일의 프로세서 전처리 매크로
if iPad
set variable to 1
else
set variable to 0
가능합니까? 나는 이것을 위해 스크립트를 사용하지 않을 것이다.
일반적으로 컴파일 타임이 아닌 런타임에이를 확인해야합니다. iOS - conditional compilation (xcode)을 참조하십시오.
이렇게하지 않으면 일반적으로 @Robert Vojta가 암시하는 다른 대상을 사용하는 것이 좋습니다.
그렇다면 일부 공유 코드에서 유용 할 수있는 경우를 상상할 수 있습니다. 그래서 ...
TARGETED_DEVICE_FAMILY
이라는 xcconfig 변수를 사용할 수 있습니다. iPhone 및 iPod Touch의 경우 1, iPad의 경우 2를 반환합니다. 이 매크로를 사용하여 일종의 매크로를 만들 수 있습니다. 나는이 접근법을 권장하지 않지만, 당신이 그것을하는 방법은 여기있다. 의 당신이 SETTINGS
라는 일부 값을 설정하려고했던 가정 해 봅시다 :
// Family 1 is iPhone/iPod Touch. Family 2 is iPad
SettingsForFamily1 = ...
SettingsForFamily2 = ...
SETTINGS = $(SettingsForFamily$(TARGETED_DEVICE_FAMILY))
내가 (이 아니라 아이 패드 탐지를위한 다른 문제에 대한) 내 사업이 몇 번을했습니다. 내가 그것을했을 때마다, 조금 더 생각은 내가 그것을 제거하고 그것을 (일반적으로 필요성을 제거하기 위해 내 프로젝트를 구조화하는 또 다른 방법을 찾는) 간단한 방법으로 할 수있었습니다. 그러나 이것은 xcconfig에서 조건을 만드는 기술입니다.
그건 불가능합니다. 구성 파일은 사전 처리되지 않고 컴파일됩니다. 너 뭐하려고?
AFAIK 불가능합니다. 당신이 간단한 작업 해결하기 원한다면 - 일반 설정의 많은 단지 몇 가지 변수를 다른 값을 가지고, 당신은이 작업을 수행 할 수 있습니다
generic.xcconfig :
settings for both configs
ipad.xcconfig :
#include "generic.xcconfig"
ipad-specific-settings
는
을 iphone.xcconfig#include "generic.xcconfig"
iphone-specific-settings
귀하의 상태를 해결할 수 있습니다. 나는이 스키마를 자주 사용한다.
멋진 팁입니다. 감사합니다. TARGETED_DEVICE_FAMILY 플래그가 범용 (예 : 1,2) 인 경우 어떻게해야합니까? –