2015-01-09 2 views
0

git에서 서브 모듈을 처리 할 때 Xcode에서 지역화 된 리소스를 처리하는 가장 좋은 방법은 무엇인지 알고 싶습니다. 내가 의미하는 바는 다음과 같습니다.Xcode 지역화 된 Git 서브 모듈 리소스

파일이 Xcode 프로젝트, 다양한 하위 디렉토리로 존재하는 iOS App이 있다고 가정 해 봅니다. 이것을 바나나 앱이라고합니다.

그러나, 나는 내가 애플, 포도레몬 애플리케이션을 구축하는 데 필요한 것을 발견했다. 다행히도 바나나 앱의 코드 조각이 재사용 가능했습니다.

바나나에서 재사용 가능한 코드를 가져 와서 과일이라는 하위 모듈을 만들었습니다. 내 즐거운 앱 네 개 모두 과일 서브 모듈을 가지고 있습니다. 파일 시스템에서

, 그것은 다음과 같습니다

projects 
└── bananas 
    ├── Xcode.project 
    ├── file1 
    ├── file2 
    └── fruit 
     ├── codeFile1 
     ├── codeFile2 
     ├── xib1 
     └── xib2 

가 지금은 여러 언어로 내 애플 리케이션의 네를 번역해야합니다. 먼저 바나나에 가서 NSLocalizedString을 과일 하위 모듈에 codeFile1codeFile2을 포함한 모든 코드 파일에 추가합니다. 또한 기본 현지화를 xib1xib2으로 설정합니다. 그러면 xib이 하위 폴더 Base.lproj으로 이동하고 Editor > Export for Localization을 통해 .strings 개의 파일을 만들고 다른 지역화 용 대체 xib 파일을 만들 수 있습니다.

Git 내에서 이러한 변경 사항을 내 바나나 저장소에 적용하고 Fruit 저장소에 대한 변경 사항을 커밋하고이 새로운 하위 모듈 커밋을 가리 키도록 바나나의 포인터를 업데이트합니다. 모든 것이 잘되고 정상입니다. 여기 내 디렉토리 구조가 지금의 모습입니다 :

projects 
└── bananas 
    ├── Xcode.project 
    ├── file1 
    ├── file2 
    └── fruit 
     ├── codeFile1 
     ├── codeFile2 
     └── Base.lproj 
      ├── xib1 
      └── xib2 

그러나, 나는 애플에 작업을 시작하고, 최신 버전으로 과일 서브 모듈 포인터를 업데이트 할 때, 다양한 디렉토리 수정되지 않습니다 (항목 Base.lproj로 이동) 내 Xcode.project 파일에 반영되었습니다. 내 자식 하위 모듈을 업데이트하여 파일이 이동 되었기 때문에 파일이 누락 된 것으로 표시됩니다.

Xcode.project 파일 내에서 이러한 변경 사항을 디렉토리 구조에 포함시키는 가장 좋은 방법은 무엇입니까? 그래서 Git 하위 모듈 내에서 지역화를 수행하여 프로젝트를 중단하지 마십시오.

아마도 가장 좋은 추측은 Fruit에 대한 하위 프로젝트 파일을 만든 다음 과일 프로젝트를 각 앱에 포함시킬 수 있다는 것입니다. 이것이 이것이 이루어지는 방식입니까, 아니면 더 좋은 방법입니까?

답변

0

내가 과거에이 방법에 접근 한 방법은 각 서브 모듈에 대해 새로운 .project을 만드는 것입니다. 응용 프로그램은 이되고 "인스턴스"는 project이고 하나 이상의 하위 모듈 "기본 클래스"는 project입니다.

+0

좋아요, 그건 제가 생각한 것보다 다소 적습니다. 이 작업을 정확히 수행하는 방법에 대해 자세하게 설명해 주시겠습니까? 나는 이것을 알아 내려고 애 쓰고있다. (Xcode 6.1.1) –

관련 문제