2017-10-06 12 views
0

최근에 Xcode 8에서 Xcode9로 마이그레이션 된 여러 빌드 구성 및 빌드 스크립트가 포함 된 프로젝트가 있습니다. Xcode의 시뮬레이터와 장치 모두를 올바르게 빌드하고 올바르게 실행합니다. 그러나 빌드하거나 명령 줄에서 보관하려고 할 때 성공하지만 시뮬레이터에서 열 때 응용 프로그램이 충돌하거나 장치에서 열 때 오류 메시지가 나타납니다.Xcode 9 : xcodebuild -exportArchive 파일 읽기 오류 : info.plist

는 젠킨스 지속적인 통합에서 보관하려면 , 나는

'xcodebuild -exportArchive -archivePath myApp.xcarchive -exportOptionsPlist ./build/exportArchive.plist -exportPath myApp.ipa' 

을 실행하고있어 그것은 IPA를 만들지 만 나는 IPA를 열려고하면, 그것은 나에게이 오류 제공 :

"Unable To Install 'Error Reading File: info.plist' Please try again later."

and the app name itself is "ErrorReadingFile:info.plist"

을 dipYMs 또는 info.plist가있는 .ipa 파일을 열면 .app가있는 Products 폴더 만 있고 .app 파일은 일부 iPad 아이콘 이미지를 제외하고는 완전히 비어 있습니다 (유니버설 앱이어야 함).). 또한


, 나는 구축하고 시뮬레이터 배포 할 수있는 명령을 실행하면

xcodebuild -sdk iphonesimulator -configuration Debug -project myApp 
xcrun simctl install <whatever device id> myApp.app 
xcrun simctl launch <whatever device id> com.whatever.myApp 

그것은 성공적으로 응용 프로그램을 설치 한 후 즉시 오류 코드로 출시 후 충돌합니다. 이 시뮬레이터 충돌 후 보고서에 표시됩니다

Crashed Thread: 0 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: DYLD, [0x9]

가 어떻게이 명령 줄에서 제대로/실행/아카이브를 구축하기 위해 어떻게해야합니까?

답변

1

Xcode에서 '보관 파일'을 직접 생성 한 다음 '내보내기'를 제안하면 빌드 나 스크립트에 문제가 있는지 알 수 있습니다.

여러 구성이 있다고하셨습니다. 어쩌면 잘못된 계획을 세우고 있을까요?

빌드 명령을 제공 할 수 있습니까?

또한 xcode 9에는 exportArchive.plist에 대한 새로운 요구 사항이 있습니다. 또한 Xcode에서 직접 내보내기 아카이브를 수행하면 내보낼 때 사용 된 plist가 내보내기 결과와 함께 저장됩니다. 그리고 나중에 빌드 스크립트에서 사용할 수 있습니다.

1

저는 CI 빌드 앱에 fastlane을 사용합니다. 모든 것을 수동으로 만드는 것보다 쉽습니다. 는 내가 개발 아카이브 구축하기 위해 다음과 차선을 사용

lane :development_archive do 
    gym(
     output_directory: ENV['ARTIFACT_OUTPUT_DIRECTORY'], 
     output_name: ENV['IPA_ARCHIVE_NAME'], 
     scheme: ENV['SCHEME'], 
     include_bitcode: false, 
     configuration: 'Debug', 
     export_method: "development", 
    ) 
end 

를 그리고 명령 줄에 난 그냥 IPA 아카이브를 얻을 수 fastlane development_archive을 입력합니다. 어쩌면, 포드 설치와 같은 패스트 레인 스크립트에 추가 단계를 추가해야합니다. Fastlane은 문서를 읽으며 CI를위한 greate 도구입니다.