2017-01-18 2 views
2

스위프트 3을 사용하여 코코아 (iOS가 아닌) 응용 프로그램에서 작업을 마쳤습니다. 데스크톱 컴퓨터에서 테스트 해 보았습니다. 그것은 잘 작동합니다. 다른 데스크톱 컴퓨터에서 테스트 해 보았습니다. 그것은 잘 작동합니다. 나는 심지어 에 그것을 보낼 수 있었다 iTunes 연결. 그러나 동일한 응용 프로그램이 MacBook Pro (2013)에서 실행되지 않기 때문에 제출하지 않았습니다. 어쨌든, 망막 디스플레이가있는 MacBook Pro에서 테스트했습니다. 그것이 전체 문제가 발생하기 시작한 때입니다. 실제로,이 데스크톱 응용 프로그램은 며칠 전에 동일한 MacBook Pro에서 실행되었습니다. 나는 그것이 아직 샌드 박스 화되지 않았다고 생각한다. 이제 AirDrop을 통해 MacBook Pro에 다른 iMac 모델에서 실행되는 바이너리 복사본을 보내고 응용 프로그램을 실행하려고 할 때마다 EXC_CRASH (Code Signature Invalid)이라는 오류 메시지가 나타납니다. 일부 파일을 내부에서 삭제했습니다. Developer/Xcode/DerviedData. 이제 응용 프로그램을 디버깅 할 수 없습니다. 디버깅 할 때 전에는 본 적이없는 치명적인 오류 메시지가 끊깁니다. RPATH @/libswiftAppKit.dylib : 나는 엑스 코드가 생성 한 응용 프로그램을 더블 클릭하면Xcode 문제 : 라이브러리가로드되지 않았습니다. @ rpath/libswiftAppKit.dylib

enter image description here

지금, 나는 라이브러리가로드되지 말한다 충돌 보고서를 얻을. 내가 실수로 일부 시스템 파일을 삭제했을 수도 있다고 생각했습니다. 하지만 기존의 macOS 및 iOS 앱을 디버깅 할 때 문제가 없습니다. 다행히도이 문제는이 특정 Xcode 프로젝트에서 발생합니다. 내가 여기 발견했습니다

하나 개의 주제는 우리가 항상 삽입 스위프트 표준 라이브러리 옵션을 설정하는 것이 좋습니다. 나는 그걸 베일없이 끝냈어. 또한 개발자 인증서의 When using this certification 옵션을 Use System Defaults으로 설정하는 것과 관련된 제안을 읽었습니다. 이는 도움이되지 않습니다. 내가 시도한 또 다른 제안은 캐시 지우기 (Command + Shift + Option + K)입니다.

의견이 있으면 알려 주시기 바랍니다. 감사.

더 많은 정보

나는 또한 "%의 @는"를 찾을 수 없습니다라고 맥북 프로에 기괴한 경고 메시지가 반복적으로 보았다. 이 오류 메시지는 응용 프로그램 아이콘을 두 번 클릭했을 때 팝업되었습니다. 그것은 참조 할 수도 있습니다

String(format: NSLocalizedString("whatever", comment: ""), variable name) 

답변

4

나는이 문제를 해결했습니다! 나는 너에게도 같은 문제가 있었다. 그러나 https://www.reddit.com/r/swift/comments/4nac9s/using_swift_frameworks_with_command_line/의 대답에서, 열쇠가 rpath라는 것을 알고 있습니다.

그래서 나는 다음과 같은 두 가지 설정에서 프로젝트에이 경로를 추가하려고 :

${DT_TOOLCHAIN_DIR}/usr/lib/swift/macosx/ 
  1. RUNPATH 검색 경로
  2. 라이브러리 검색 경로는

나는 이유를 알고하지 않습니다 두 가지 설정을 모두 추가해야하지만 작동합니다.

+0

두 경로 모두 동일 –

+1

** 런 경로 검색 경로 **에 추가해야하는 항목은 macOS 10.12입니다. 또한 다른 SDK를 타겟팅하는 경우'/ iphonesimulator /','/ iphoneos /'등을 사용해야합니다. 여러 플랫폼을 타겟팅하는 경우 모두 추가 할 수 있습니다. – Dov

+0

하지만 이제 응용 프로그램은 Xcode가 설치된 경로와 동일한 경로에 설치된 컴퓨터에서만 작동합니다. – balthisar

관련 문제