응용 프로그램에서 iOS 앱 아카이브를 생성하는 데 문제가 있습니다. 응용 프로그램은 잘 컴파일되고 시뮬레이터에서도 작동합니다. 이제 나는 임시 테스트를하고 싶었고 iOS 앱 아카이브를 생성 할 수 없습니다. 제품-> 아카이브를 클릭하면 일반 xcode 아카이브가 생성됩니다. 누구든지 나를 도울 수 있습니까? 이 애플리케이션의 iOS 앱 아카이브를 이미 생성했음을 언급해야합니다. 어떤 이유로 iOS 아카이브 생성을 중단했습니다. 고마워
답변
빌드 설정 확인 :
- 주요 프로젝트 대상에 대해 설치 건너 뛰기가 NO입니다.
- 프레임 워크 (하위 프로젝트) 대상의 경우 건너 뛰기 설치가 예입니다.
- 하위 프로젝트의 빌드 단계에서 복사 헤더는 공개 가 아닌 프로젝트에 있어야합니다 (정적 라이브러리를 빌드하는 경우 적용되지 않음)
- 배포중인 설치 디렉토리가 유효합니다 (예 : / Applications).
답변
프레임 워크 / 라이브러리를 추가 한 경우 이런 상황이 발생할 수 있습니다. 해당 라이브러리의 Target-> Build Settings를 편집하고 ‘Skip Install’설정을 ‘Yes’로 설정해야합니다. 다시 아카이브 할 때 XCode는 ‘일반 xcode 아카이브’가 아닌 ‘iOS App Archive’를 다시 생성하기 시작해야합니다.
답변
의 또한 건너 뛰기 설치 에 예 와 경우에 당신은 당신이에서 (있는 경우) 헤더를 이동해야 앱 프로젝트 내에서 다른 lib 디렉토리 / framwork 프로젝트를 열어 대중 에게 프로젝트 에서 빌드 단계 / 복사 헤더 .
답변
나는 그것이 나를 위해 작동하도록 다음을 수행했다.
- 나는 320 개의 정적 라이브러리를 가지고 있었고 , 주 프로젝트 내에 파일을 포함 시키기 위해 cocoapods 를 사용 했습니다.
- 다른 모든 하위 프로젝트 / 정적 라이브러리의 건너 뛰기 설치를 따르고 위에서 설명한 것처럼 사본 헤더를 공개에서 프로젝트로 전환했습니다.
- 가장 중요한 것은 프로젝트에서 사용하는 각 라이브러리에서 빌드 단계-> 파일 복사 로 이동하여 대상 이에서 (으)
Absolute path
로 변경 되었는지 확인하십시오products directory
. 참고 :이 오류를 발생시키는 라이브러리를 찾으려면 검색 범위를 좁히려면 아래 힌트를 참조하십시오.
그게 다야!
힌트 : 아카이브가 ipa가 아닌 아카이브 파일을 작성하게하는 문제가있는 파일에 대한 아이디어를 얻으려면 다음 을 수행하십시오.
- 아카이브를 선택하고 배포 버튼을 클릭하십시오.
- ‘내장 제품 저장’옵션을 선택하십시오.
- 다음을 누르고 저장하십시오.
- Finder에서 생성 된 디렉토리를 탐색하십시오.
- ‘libraries’서브 디렉토리는 건너 뛰기 설치를 예로 설정해야하는 라이브러리를 식별합니다.
- 경우에 따라
usr/local/include
공개에서 프로젝트로 이동해야하는 범인 헤더 파일 또는 절대 경로에서 제품 디렉토리로 변경해야하는 파일 (또는 건너 뛰기 설치를 yes 플래그로 설정하는 것을 잊어 버린 파일)도 식별 할 수 있습니다. 그러나 해당 디렉토리 (예 : usr / local / include)는 서브 라이브러리 디렉토리 구조에 따라 다릅니다. 대부분의 경우. 위의 3 단계에서 파일 복사 아래에 나열된 모든 파일 을 볼 수 있습니다. 여기에서 찾으면 문제의 원인에 대한 명확한 대답이 있습니다.
힌트로 업데이트 : 인생을 더욱 단순하게 만듭니다. 위의 힌트 에서 4 단계 아래에 표시되는 모든 파일 . xcode의 전역 검색에서 해당 파일을 검색하기 만하면됩니다. 예를 들어, 이것은 내 폴더의 내용이었습니다 (위 힌트의 단계를 따르십시오).
그래서 나는 그것이 crypto 및 ssl 라이브러리 와 관련이 있다고 말할 수 있습니다.
skip install을 yes로 설정하는 것을 잊었다는 것을 깨달았습니다.
답변
아카이브를 내보내는 경우이를 열고 제품/urs/local/include
에서 다음 제안 시도를 참조하십시오 .
각 포드, 아래에서
Packaging
,Private Headers Folder Path
그리고이Public Headers Folder Path
설정됩니다/usr/local/include
. 내가 지우면 유효한 아카이브를 얻습니다.
React Native 앱을 0.11.0
Xcode 7
및 CocoaPods 로 업그레이드 한 후 나를 위해 일했습니다 0.39.0.beta.4
.
답변
당신이 CocoaPods뿐만 아니라 WatchKit 또는 오늘 확장을 사용하는 경우, 개방이 문제를 설명에게 문제가 될 수 REPO 무엇 CocoaPods에가.
솔루션 내게는 제거했다 Copy Pod Resources
WatchKit 확장에서의 위상을하고 오늘 확장에 따라 대상 Build Phases
. 이 작업을 수행하면 프로젝트가 예상대로 컴파일 및 보관되었습니다.
이것이 누군가를 도울 수 있기를 바랍니다.
답변
위의 답변 중 하나라도 효과가 없으면 문제가있는 것입니다 cocoaPods
. 최신 업데이트로 0.38.1
인해 문제가 발생했지만 다운 그레이드 0.37.1
되어 정상적으로 돌아 왔습니다. 사용Xcode 6.3.1
나중에 편집 : 업데이트하면 0.38.2
이 문제가 해결됩니다. 이 문제를 일으킨 원인에 대한 추가 정보 : Cocoapods 0.38.1이 유효한 아카이브를 생성하지 못했습니다.