2

프로덕션 버전을 덮어 쓰지 않고 Testflight를 통해 내 응용 프로그램의 베타 버전을 배포 할 수있는 방법을 만들고 싶습니다. 그것은 베타 빌드 또는 생산 빌드 (즉, 어떻게 든 #if BETA_VERSION, 글로벌 디버그 변수와 유사) 정의 할 수있는 코드에서 알 수 싶습니다. 그리고 그것을 함께 구별 할 수 싶습니다. 발판의 앱 아이콘과 다른 앱 이름 (예 : MyApp 베타 또는 기타)을 분리합니다.베타 배포를위한 xcode 구성/구성 설정

릴리스 구성을 복제하여 베타 구성을 설정했으며 이미 AdHoc 빌드 용 프로비저닝 프로파일을 가지고 있습니다 (지난 6 개월 동안 Testflight를 통해 배포했습니다). 그 응용 프로그램 이름을 변경하려면 프로젝트 plist 파일에서 번들 표시 이름 속성을 변경해야한다는 것을 알고 있지만 이러한 변경 사항을 모두 보유하는 별도의 "프로필"을 만드는 방법을 잘 모르겠습니다.

나는 this article을 통해 읽으려고했으나 작동하지 못했으며 지침을 통과 할 때 실수로 모든 프로비저닝 프로파일을 엉망으로 만들었습니다.

저는 몇 주 동안이 문제로 어려움을 겪었습니다. 이 프로세스의 세부 사항은 꽤 불투명하기 때문에 상세한 지침이나 포인터가 특히 좋습니다.

미리 감사드립니다.

추신 : 나는 아마도 Xcode의 대상, 구성표 및 구성 간의 관계에 대해 혼란스러워하지 않을 것입니다.

답변

2

내 프로젝트에서 Release, Beta 및 Debug의 세 가지 구성을 사용합니다. 여기서 Beta는 Release의 복제본입니다. 세 가지 각 구성에서, 나는 내 대상의 빌드 설정에서 다음을 포함하고 있습니다 :

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) CONFIGURATION_$(CONFIGURATION) 

는 이것이 할 것입니다 각 구성에 대한 별도의 처리기 매크로를 정의합니다.

#if defined(CONFIGURATION_Beta) 
    // Something that should only happen in Beta builds 
#endif 

당신은 (엑스 코드의 빌드 설정의 하단에있는) "사용자 정의"카테고리 별 구성 추가 빌드 설정을 정의 할 수 있습니다, 다음 참조 : 당신의 코드에서 다음 작업을 수행 할 수 있습니다 Info.plist 파일에 있습니다. 예를 들어 릴리스, 베타 및 디버그 빌드에 대해 서로 다른 사용자 지정 BUNDLE_ID 빌드 설정을 정의한 다음 값을 ${BUNDLE_ID} 파일에 Info.plist 파일로 설정하면 릴리스, 베타 및 디버그 빌드를 나란히 설치할 수 있습니다 귀하의 장치에.

업데이트 :

당신이 Cheddar for iOS에서 프로젝트 구성을 확인,이 모든 것을 설정하는 방법의 좋은 예를보고 싶다면.

+0

깜짝 감사, 카메론! 후속 질문은 거의 없습니다. 1. 빌드 설정에서 '사용자 정의'가 표시되지 않습니다. 가장 가까운 것은 프리 프로세서 매크로 섹션에 있습니다. (원한다면 아마도'BETA = 1 '을 추가 할 수 있습니다.) 어디를 봐야합니까? 2.'GCC_PREPROCESSOR_DEFINITIONS = $ (상속 된) CONFIGURATION _ $ (CONFIGURATION) '행은 실제로 빌드 설정에 들어갑니다. Preprocessor Macros 헤더에 추가해 보았습니다. 많은 것들이 생성되었습니다. 그게 맞습니까? 3.이 작업이 끝나면 스프링 보드의 베타 빌드에 새 아이콘을 어떻게 할당 할 수 있습니까? 감사! – Mason

+1

"사용자 정의"영역은 대상의 빌드 설정 하단에 있습니다. 왼쪽 사이드 바에서 프로젝트 파일을 클릭 한 다음 대상을 클릭하고 "Build Settings"탭을 선택한 다음 맨 아래로 스크롤하십시오. 섹션이 보이지 않으면 화면 상단의 "레벨"옆에있는 "+"를 클릭하십시오.http://cl.ly/image/142Y1G3H2U3i –

+1

"Preprocessor Macros"설정은'GCC_PREPROCESSOR_DEFINITIONS' (오른쪽은'.'에서 사용할 원시 키입니다.)에 사용할 올바른 매크로입니다. xcconfig' 파일). –