2011-09-12 3 views
4

iOS 앱은 생산을 위해 특정 서버를 사용합니다 : http://mydomain.com/serverapi. 개발하는 동안 이것을 http://localhost/serverapi으로 변경하고 싶습니다. 기본적으로 로컬 URL을 사용하도록 Xcode에 알리는 멋진 방법은 무엇입니까?개발 용으로 다른 상수를 자동으로 사용합니다.

은 분명히 프로덕션 릴리스 엑스 코드에서 생산 URL (보관을 포함, 매우 중요합니다. 개발에 떨어져 응용 프로그램을 말할 수 있도록하면서

또 다른 유스 케이스 아이콘 또는 앱 ID를 변경하는 것 . 이미 장치에 설치 될 수있는 버전에서

답변

6

내가 (파블로가 제안)이에 대한 매크로를 사용하지만 (같은 다른 빌드 구성에 대한 별도의 Info.plist 파일이있는 경우 내가 할)를, 당신은 다음처럼의 Info.plist 및 액세스 그것에서 사용자 지정 항목을 가질 수있다 : 그들은에서 컴파일로

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"MyAppURL"] 

그러나, 매크로 런타임에 가능성이 더 빨리 이것은 또 다른 옵션입니다..

다음은 프로젝트 설정 이미지입니다.

enter image description here

+0

어떻게 그 plists 사이를 전환합니까? – Besi

+0

프로젝트의 타겟 빌드 설정에서 각 설정 (RELEASE, DEBUG 등)에 어떤 것을 사용할지 'Info.plist File'으로 정의 할 수 있습니다. –

+0

내 목적을 위해 나는 이제 나의 목적을 위해 잘 작동하는 두 가지 목표를 가지고있다. 그런 다음 일반적으로 각 대상에 대해 특정 plist 파일을 사용할 수 있습니다. – Besi

4

당신은 C 언어 매크로를 사용할 수있는이처럼

:.

#ifdef DEBUG 
#define URL @"http://localhost/serverapi" 
#else 
#define URL @"http://mydomain.com/serverapi" 
#endif 
을 0

그런 다음 코드에서, 당신은 단지 사용하는 정의 된 상수 :

NSLog(@"Hello, my current url is %@", URL); 
+0

좋아, 내가이 일을하려고합니다. 나는 Xcode의 실행 프로필 설정에서 DEBUG 매개 변수를 정의 할 수 있다고 생각합니다. – Besi

+0

초보자를위한 단계를 더 명확하게 설명 할 수 있습니까? DEBUG는 어디에 정의합니까? 이것이 포함 된 Xcode의 알려진 빌드 설정입니까, 아니면이 "개발"을 동일한 결과로 호출 할 수 있습니까? – user798719

관련 문제