2016-10-08 9 views
1

CloudKit을 사용하는 Mac 응용 프로그램을 작성했으며 Sierra 및 XCode 8로 업그레이드 한 이후로 앱이 성공적으로 빌드되지만 Xcode는 '실행'을 클릭합니다. 내가 파생 데이터 폴더로 가서 수동으로 실행하는 내 응용 프로그램을 두 번 클릭하면Xcode가 성공적으로 빌드되지만 macOS 앱을 실행하지 못합니다.

, 그것은 오류 보고서에 다음과 즉시 충돌 및 표시 : 나는를 보관하는 경우

Time Awake Since Boot: 12000 seconds 
Time Since Wake:  6500 seconds 

System Integrity Protection: enabled 

Crashed Thread:  0 

Exception Type:  EXC_CRASH (Code Signature Invalid) 
Exception Codes:  0x0000000000000000, 0x0000000000000000 
Exception Note:  EXC_CORPSE_NOTIFY 

Termination Reason: Namespace CODESIGNING, Code 0x1 

흥미로운 것은,이다 응용 프로그램을 실행하고 개발자 ID로 서명 된 응용 프로그램을 내 보내면 내 보낸 빌드가 성공적으로 서명되고 완벽하게 작동합니다.

또한 기능 탭으로 이동하여 iCloud 기능을 끄면 응용 프로그램이 XCode에서 성공적으로 실행됩니다. 엑스 코드에 일반 탭에서

spctl --assess --verbose=4 MyApp.app 
MyApp.app: rejected 

을 나는로 설정했습니다

때마다 내가 iCloud를 활성화 또는 비활성화되어 있는지 여부를 내가는 DerivedData 폴더에있는 응용 프로그램에 spctl를 실행, 난 항상이를 얻을 수 "자동으로 서명 관리", 그리고 내가 알 수있는 한, 모든 인증서가 유효합니다.

여기서는 어떻게 해야할지 잘 모릅니다. 나는 심지어 게이트 키퍼를 완전히 무용지물로 만들려고했지만 여전히 운이 없다.

+0

객관적인 응용 프로그램과 동일한 문제가 있습니다. 자동으로 서명 관리를 시도하고 수동으로 서명 관리를 시도했습니다. 프로비저닝 프로파일을 갱신하려고 시도하면서 프로비저닝 프로파일에서 iCloud 환경 설정을 변경했습니다. 파생 데이터 폴더에서 관련 폴더를 삭제하려고 시도했지만 효과가 없습니다. FWIW 프로파일 러에서 앱을 실행할 수 있습니다. – user2002649

+0

사과 지원. 그들은 문제는 앱이 임시 프로비저닝 프로파일을 사용하고 있기 때문에 com.apple.developer를 통한 자격이 작동하지 않는다고 말했다. 당신은 codesign -dv /MyAppname.app로 터미널을 체크인 할 수있었습니다. 성공적으로 보관하고 내 보낸 파일에서 실행하여 성공적으로 실행 시켰습니다. 그러나 내가 한 일은 아무 것도 아닌 프로파일에서 그것을 변경하는 것 같습니다. – user2002649

답변

1

aaaargh. 내 문제에 대한 해답을 찾았으니 해답이 도움이되기를 바랍니다. 코드 서명이 개발 목표에서 올바르게 설정되었지만 임시 타겟에 서명했습니다. 테스트 대상 프로파일을 설정하자마자 문제가 사라졌습니다.

enter image description here

+0

네, 그게 * facepalm *이었습니다. 재밌어, 내가 시에라와 함께 다른 컴퓨터에서 프로젝트를 실행하면 실제 오류 메시지 (codesign 유틸리티가 1로 종료 됨)가 발생했습니다. 비록 내가 테스트에 서명했을 때 그들은 여전히 ​​나를 위해 실패했지만, "Edit Scheme"으로 들어가서 "Build"의 모든 테스트를 체크하지 않으면, 내 앱이 다시 실행됩니다. 감사! – pixelman32

+0

이것으로 해결되었습니다! 대단히 고마워요. 몇 시간 동안 고생 했어요. – mqueue