2016-06-09 10 views
0

나는이 줄을 실행합니다통합 설계 OSX 앱 번들

codesign --verbose --force --deep --sign "Developer ID Application: Company" Company.app 

을하고이 오류 얻을 :

Company.app: bundle format unrecognized, invalid, or unsuitable 
In subcomponent: /Users/me/repo/client/Company.app/Contents/MacOS/include/python2.7 

내가 가지고 있다는 사실까지 문제를 좁혀을 Contents/MacOS 디렉토리에 이름에 마침표가있는 몇 개의 서브 디렉토리를 포함하는 앱 번들. 그것의 기간이 디렉토리는 번들 자체가 믿고 (강조 광산)을 거부하기 때문에 this에 따르면, 통합 설계는이에 초크 :

내 번들이 pyInstaller 중에 의해 생성되는

Note that a location where code is expected to reside cannot generally contain directories full of nested code, because those directories tend to be interpreted as bundles. So this occasional practice is not recommended and not officially supported. If you do do this, do not use periods in the directory names. The code signing machinery interprets directories with periods in their names as code bundles and will reject them if they don't conform to the expected code bundle layout.

(테스트 버전 3.1 및 3.2), 그리고 방향성은 자동으로 끌어 당겨진다. 다음은이 문제가 모든 디렉토리입니다 : 내가 here을보고,이 문제에 대한 언급이 없었다

Company.app/Contents/MacOS/include/python2.7 
Company.app/Contents/MacOS/lib/python2.7 
Company.app/Contents/MacOS/lib/python2.7/config 
Company.app/Contents/MacOS/qt_menu.nib 
Company.app/Contents/MacOS/tcl/http1.0 
Company.app/Contents/MacOS/tcl/opt0.4 

는, 나는 사람이 완전히 종속성을 제거하지 않고 문제를 해결할 수있는 구성 아이디어가 있는지 알고 싶어 포함되지 않는다.

번들은 다음 명령으로 생성됩니다

python $PYINSTALLER/pyinstaller.py \ 
-n $APP_NAME \ 
--paths $MODULE_SEARCH_PATH \ 
--windowed \ 
--icon $BUNDLEFILES_DIR/$APP_NAME.icns \ 
--distpath $BUNDLE_DIR/dist \ 
--osx-bundle-identifier com.company.$APP_NAME \ 
--exclude-module core.InternalTool \ 
main.py 

답변

0

이 모든 질문을 작성 후, 나는 우리의 빌드 스크립트는 내부적으로 내용/맥 OS 디렉토리에 심볼릭 링크를 따라 응용 프로그램의 복사본을 만드는 것으로 나타났습니다.

다른 가난한 사람이 비슷한 대답을 찾고있는 경우, 해결책은 그 디렉토리를 Contents/Resources 디렉토리에두고 MacOS 디렉토리에서 심볼릭 링크로 연결하는 것입니다.