2014-09-10 2 views
1

Xcode 5.1을 사용하여 OSX Mavericks에서 빌드 할 때 QuickLook 플러그인을 실행할 수 없습니다. 플러그인의 고기는 아주 간단합니다 (< 코드 20 줄). 단순히 시스템 호출을하고 결과 문자열을 QLPreviewRequestSetDataRepresentation(..)으로 보냅니다.Xcode 5.1로 빌드 된 QuickLook Plugin은 어떻게 실행합니까?

원래 Xcode 4.6을 사용하여 Snow Leopard 또는 Mt Lion에서 프로젝트를 만들었습니다. 나는 프로젝트를 컴파일하고 실행할 수 있었다. Mavericks로 이전 할 때 이전 .qlgenerator 파일을 ~/Library/QuickLook으로 복사 할 수 있었고 플러그인이 정상적으로 작동했습니다. 그러나 이제 Xcode 5.1로 프로젝트를 다시 컴파일해야합니다. 이 프로젝트는 새로운 QuickLook Plugin 프로젝트를 시작할 때 Xcode에서 제공하는 기본 설정을 사용합니다. 언급 한 것처럼 성공적으로 빌드됩니다. 내가 알 수있는 한, 컴파일 된 바이너리는 괜찮아 보인다.

이 질문에 권고 된대로 프로그램을 디버그하도록 설정했습니다 : Debugging Quicklook Plugin in Xcode 4.6. 플러그인을 실행할 때, 나는이 출력 얻을 : 나는 .qlgenerator 파일을 복사 할 경우

Testing Quick Look preview with files: 
~/my-test-file.nc 
2014-09-09 16:52:43.071 qlmanage[46315:303] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8c27, name = 'com.apple.tsm.portname' 
See /usr/include/servers/bootstrap_defs.h for the error codes. 
2014-09-09 16:52:43.074 qlmanage[46315:303] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8f4b, name = 'com.apple.CFPasteboardClient' 
See /usr/include/servers/bootstrap_defs.h for the error codes. 
2014-09-09 16:52:43.074 qlmanage[46315:303] Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions 

또한, (엑스 코드 5.1 컴파일) ~/Library/QuickLook에를, 나는 픽업 qlmanage 새로운 발전기를 얻을 수 없습니다.

나는 또한이 질문을 발견했다 : QuickLook Plugin Failing with sandboxing error, 그것은 관련 될 수있는 것처럼 보입니다. Apple의 Sandboxing이 어떻게 작동해야하는지에 대해 조금 읽었지만, QuickLook Plugin에 자격을 추가하는 방법을 알 수는 없습니다. 필자는 애플 추가 기능에서 언급 된 "기능"패널을 찾을 수 없다.

편집 : 이것은 관련이있는 것으로 보입니다 : sandbox custom qlgenerator (Quick look) plugin.

답변

1

답장을 보내십시오. 일부 추가 명령 줄 옵션을 사용하여 qlamange 및 몇 가지 NSLog 문을 사용하여 Xcode 5.1로 컴파일 할 때 실제로 플러그인이 작동하는 것을 발견했지만 프로젝트 Info.plist 파일의 UTI 문자열에 문제가있었습니다. 이로 인해 qlmanage에서 플러그인을 선택할 수 없었습니다.

UTI 문자열을 고정하면 Xcode에서 플러그인을 실행할 때 Xcode의 디버깅 패널에서 샌드 박스 오류가 계속 발생하지만 플러그인이 제대로 작동합니다. 플러그인을 ~/Library/Quicklook에 설치하고 quicklookd으로 올바르게 등록하면 시스템 로그에 오류가 표시되지 않으므로 모두 정상적으로 나타납니다.

+0

다른 사람들에게이 Xcode 6 지침이 유용 할 수 있습니다. http://stackoverflow.com/a/27612166/893113 – paulmelnikow