문제

현재 (첫 번째) iPhone 앱의 배포 제품을 구축하여 App Store에 업로드 할 수 있도록 노력하고 있습니다. 나는 모든 앱 ID 및 배포 프로비저닝 프로필 프로세스를 살펴 보았고 마침내 주최자 및 Target의 빌드 구성을 인식하기 위해 얻었습니다.

문제는 "분포"에서 "활성 구성"을 설정할 때 (iPhone Dev Center 방향 당 "릴리스"구성의 복제) 코드를 컴파일 할 수 없다는 것입니다. 이 프로젝트에는 많은 프로젝트 클래스에서 기본 클래스로 사용되는 여러 클래스가 포함 된 정적 라이브러리에 대한 참조가 포함되어 있습니다. 따라서 배포 구성을 구축 할 때 컴파일러는 정적 라이브러리에서 기본 클래스를 찾을 수 없으며 빌드가 실패한다는 오류가 발생합니다.

활성 구성을 전환하면 "Debug"(개발에 사용)에는 전혀 문제가 없으며 앱은 예상대로 올바르게 컴파일됩니다.

문제가 무엇인지 알 수 없습니다. 여기에서 이것을 또 다른 비슷한 질문을 발견했지만 다른 경우입니다.

iPhone 정적 라이브러리 배포 및 릴리스 빌드 오류 (디버그는 아님)

Google은 또한 유용한 결과가 많지 않은 것 같습니다. 또한 빌드 섹션에서 대상 정보를 확인하고 관련 차이를 확인하기 위해 "디버그"와 "배포"구성 사이를왔다 갔다했지만 지금까지 아무도 찾을 수 없습니다. 실제로 나는 정적 lib에 대한 관련 정보를 찾지 못했습니다. 정보 창의 일반 탭에서만 정적 LIB가 직접 종속성에서 올바르게 표시됩니다.

그래서이 시점에서 나는 단서가 없다. 나는 가능한 한 정확히 지침을 따르려고 노력했지만, 그것이 충분하지 않으며 지금은 문제가 있다고 생각합니다. 나는 수정이 다소 간단해야한다고 생각하지만 (어딘가에 일부 매개 변수를 설정했을 수도 있음) 그것을 찾을 수 없었습니다.

제발 (제발 :)) 이것에 대한 도움을 주시겠습니까? 모든 도움이나 힌트는 대단히 감사합니다.

미리 감사드립니다!

도움이 되었습니까?

해결책

디버그 구성의 빌드 옵션을 확인하십시오. 예를 들어, 디버그 구성의 헤더 검색 경로는 배포 구성과 다를 수 있습니다. 메뉴를 선택하십시오 Project > Edit Project Settings 및 유형 : Header Search Paths 목록에 대한 해당 설정을 확인합니다 Configuration. 구성간에 다른 것이 있으면 둘 다 동일하게 만드십시오.

다른 팁

여기있어:

배포 빌드를 만들려면 (iPhone Dev Center 방향에 따라) "릴리스"구성 사본을 작성하고 "배포"로 이름을 지은 다음이 활성 구성 하에서 프로젝트를 구축해야합니다. 디버그 및 배포 구성을 위해 대상의 정보 창에서 "헤더 검색 경로"를 확인하면 값의 차이가 있음을 알았습니다.

$ {build_style}-$ {platform_name}/usr/local/inclander

따라서 각 구성에 대해 $ {build_style}-$ {platform_name}이 "Debug-Piphoneos"및 "Distribution-Phoneos"로 대체되었습니다. 정적 LIB의 모든 기본 클래스는 "포함"폴더에 저장되었지만 "분포-iphoneos"폴더는 없었습니다.

메인 앱 프로젝트에서와 같이 정적 LIB 프로젝트에 "배포"구성을 추가하지 않았기 때문입니다 (내가해야 할 몰랐습니다). 따라서 문제를 해결하기 위해 동일한 구성 만 추가했습니다. 정적 LIB 프로젝트에서 구축했습니다.

요약하면, 참조 된 정적 LIB의 클래스를 사용하는 프로젝트에 새 구성을 추가하면 정적 LIB 프로젝트에 동일한 구성을 추가하고 빌드를 수행하십시오. 이런 식으로 주요 프로젝트는 기본 클래스를 찾을 수 있습니다.

어쩌면 이것은 실제로 기본적인 것일 수도 있습니다. 죄송합니다. 언어 (및 xcode)를 배우고 있습니다. :).

Alex 덕분에 이것이 도움이되기를 바랍니다.

문안 인사

iPhone OS 3.0 SDK의 링커 문제에 대해 들었습니다. 일부 해결 방법에는 프로젝트를 구축 할 때 -all_load를 링커 플래그에 추가하는 것이 포함됩니다 (의도하지 않은 부작용이있을 수 있음). 또 다른 옵션은 이러한 문제가 해결되었다고 생각하는 3.1 SDK로 업그레이드하는 것입니다. 물론 이것은 전혀 문제가 아닐 수도 있습니다 ...

도움을위한 기타 장소 :

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top