2013-01-08 3 views
12

TestFlight 빌드 체계가있는 iOS 응용 프로그램이 있습니다. 이 구성표에서 "실행"탭에 1로 설정된 TESTFLIGHT라는 환경 변수를 설정했습니다. 또한 빌드 구성표의 "프로필"탭에는 "RUn 작업의 인수 및 변수 사용"옵션이 선택되어 있으며 해당 EV가 목록에 표시됩니다.Xcode 환경 변수가 아카이브 중에 존재하지 않습니다.

Xcode에서 응용 프로그램을 실행할 때 잘 작동하지만 보관 파일을 만들고 장치에서 응용 프로그램을 실행하면 환경 변수 TESTFLIGHT가 표시되지 않습니다. 내 질문에 거기에 누락 된 옵션/구성표 탭이 있습니까?

EV는 "실행"탭에서 설정되며 디버그 빌드 구성을 위해 선택됩니다. 나는 이것을 바꾸기 위해 바꿔야합니까?

감사합니다.

답변

20

환경 변수는 Xcode에서 앱을 실행하는 경우에만 설정됩니다. 아이콘을 탭하여 기기에서 동일한 앱을 직접 실행하면 해당 앱이 설정되지 않습니다. 그들은 앱의 일부가 아닙니다. 이름에서 알 수 있듯이 Xcode가 환경을 실행하기 전에 특별히 설정 한 환경의 일부입니다. (Mac에서 개발 중이라면 쉘에서 실행 파일을 실행하기 전에 설정할 수 있지만 iPhone에서는 불가능합니다.)

+2

설명해 주셔서 감사합니다. 내가 할 수있는 일은 TestFlight 배치를 위해 빌드 할 수있는 빌드 체계를 가지고있다.이 구조체는 개발 URL을 사용하여 개발 URL을 사용하여 데이터를 가져온 다음 프로덕션 용으로 다른 빌드 체계를 사용하여 프로덕션 URL을 사용한다. 실행됩니다. 이것이 어떻게 구현 될 수 있을지에 대한 제안? –

+7

전 처리기 매크로를 사용하십시오. 타겟 빌드 세팅에서 새로운 빌드 구성 "TestFlight"(기본적으로 "Debug"와 "Release")를 생성하고, 프리 프로세서 매크로에 새로운 매크로를 추가해야합니다 (예 :'TESTFLIGHT = 1'). 구성 "TestFlight". 귀하의 코드에서'#ifdef TESTFLIGHT ... #else ... #endif'와 같은 전 처리기 명령어를 사용하십시오. 귀하의 계획에서 "정보"탭의 "TestFlight"빌드 구성을 선택하여 원하는 작업을 수행 할 수 있습니다. – Guillaume

+0

(빌드 구성을 만들려면 프로젝트를 선택한 다음 정보 탭을 봐야합니다.) – Guillaume

관련 문제