2012-06-14 4 views
5

iOS 앱을 맞춤 설정하는 가장 좋은 방법을 찾고 있습니다. Google에서는 흰색 라벨 버전을 쉽게 만들고 모든 정보를 동기화 할 수 있도록 최선을 다하고 있습니다.iOS 정적 라이브러리 백 라벨 앱용 코드베이스

한 가지 방법은 전체 코드베이스를 정적 ​​라이브러리 프로젝트에 배치하는 것입니다. 그런 다음 기본 앱과 각 화이트 라벨 앱을위한 별도의 프로젝트를 만듭니다. 이 프로젝트는 각각 코드베이스 라이브러리에 대한 참조를 하위 프로젝트로 포함하고 아이콘,로드 이미지 및 Info.plist 파일과 같은 자체 자산을 포함합니다.

동료가이 방식을 Eclipse의 Android 자매 프로젝트에 성공적으로 사용했습니다.

불행히도이 방법은 xcode에서 작동하지 않을 수 있습니다. xcode는 필수 리소스 인 Settings.bundle 및 Localizable.strings과 같은 정적 라이브러리와 함께 번들로 제공되는 일부 리소스를 허용하지 않습니다.

xcode에서이 접근법을 사용할 수있는 방법이 있습니까? 아니면 각 프로젝트의 codebase 폴더를 참조하는 것이 더 낫지 않습니까?

편집 : 원래

난 그냥 각 프로젝트에서 코드베이스 폴더를 참조 할 계획하지만,이 방법은 다시 추가 모든 프로젝트에 파일이 추가 될 때마다 코드베이스 디렉토리를/제거 요구 한 것으로 밝혀졌습니다/코드베이스에서 이름이 바뀌 었습니다.

답변

4

흰색 라벨이 붙은 앱을 만들었습니다. 먼저 표적을 시험해야합니다. 대상은 프로젝트 내에 포함됩니다. 동일한 프로젝트에 소스를 포함시킬 수 있습니다. 다양한 파일을 여러 파일에 담아서 각 대상에 포함시킬 파일을 변경하십시오.

그래도 파일이 모든 대상에 있는지 확인해야하지만 연결 오류가 표시되거나 연결 오류가 표시되며 파일을 놓친 경우이를 포함하여 확인란을 선택하는 것입니다.

대상 별 파일을 매우 제한적으로 유지할 수 있습니다. 공통 xcassets 파일과 각 대상에 하나씩 있습니다. 나는 또한 각각의 타겟에 대해 별도의 plists와 다른 리소스를 가지고있다. 다른 모든 것은 공유됩니다.

참고 :

+0

고맙습니다. 목표가 가장 좋은 방법 인 것처럼 보입니다. – RohinNZ

2

할 수 있습니다하지 번들 자동으로 정적 라이브러리와 자원,하지만 손으로 ​​공유 리소스를 포함에서 당신을 방지 아무것도 없다. 사용자 정의 된 프로젝트에 대한 작업 공간을 작성하고 라이브러리의 프로젝트를 작업 공간에 삽입 한 후 자원 그룹을 라이브러리의 프로젝트 트리에서 기본 프로젝트로 끌어 올 수 있습니다.

3

유료 컨설팅 프로젝트로서 저는 회사의 화이트 라벨 전략을 검토하고 있습니다. 새로운 .plist 및 프로젝트 파일을 포함하여 전체 빌드를 새 이름으로 복사하는 일련의 .sh 파일을 만들었습니다.

그들이 설명하지 않은 것은 해당 응용 프로그램의 버전입니다. 따라서 앱을 그렇게 구축 할 수 있다면 라이브러리가 최선의 방법이라고 생각합니다. 동일한 화이트 라벨 앱을 여러 버전으로 사용할 수도 있습니다. (최선의 악몽 !!! LOL)

또 다른 한가지는 CocoaPods입니다. 나는 그것을 사용하지 않았지만 친구들이있다. 그들은 lib 관리에 도움이되기 때문에 좋아한다. 특히 하나의 dev 환경에서 다른 환경으로 갈 때 특히 그렇다.다음 달에는 Zxing 경로 혼란 때문에 모든 사람이 다룰 수 있어야합니다.

https://github.com/CocoaPods/CocoaPods

마지막 추천 - 내일이 없다처럼 소스 제어를 사용!

+1

CocoaPods가 멋지게 보입니다! 각 화이트 레이블 빌드 타겟을 포드 라이브러리에 링크 만하면 더 이상 라이브러리를 추가하거나 제거 할 때 모든 화이트 라벨 빌드 타겟을 수동으로 업데이트하는 것에 대해 걱정할 필요가 없습니다. 감사! – RohinNZ

관련 문제