2017-03-15 2 views
2

何らかの理由で、BitriseのMacOSアプリケーションの手動コード署名を実行する必要があります。次のコマンドを使用していることをやった場合:BitriseでMacOS codesignコマンドが失敗しました:セグメンテーションフォールト:11

codesign --deep --force --verify --verbose --sign "Developer ID Application: Name (ID)" "MyApp.app" 

それは、常にエラーで返さ:

line 11: 3043 Segmentation fault: 11 

誰もがそれを修正する方法を知っていますか?

答えて

3

可能な解決策を探している間、私は、これら2つのポストに出くわした:

Segmentation fault: 11 when attempting to codesign .app

https://forums.developer.apple.com/thread/65055

彼らは私の問題への解決策を見つけるために私を助けました。

--timestamp=none 

が私のために本当ではなかったそれを修正します:最初のリンクで正しいものとしてマーク答えがあると述べています。しかし、2番目の答えと2番目のリンクに記載されている解決策には正しいヒントが含まれています。

証明書の名前ではなく16進数の識別子で署名する必要がありました。

あなたは、このコマンドを実行するあなたの証明書の六角識別子取得することができます:六角識別子を使用して

security find-identity -p codesigning 

が、これは私がMyApp.appに署名するためにBitrise上で実行する必要があるコマンドである私の証明書を返さ

codesign --deep --force --verify --verbose -s <<hex identifier>> "MyApp.app" 

オプションの順序も重要であることに注意してください。 「-s」は私の最後の選択肢でした。

(そしてBitriseワークフローステップ「の証明書とプロファイルのインストーラ」を含めることを忘れないでください)

===編集===

私はここMacOSのシエラ・スタックについて話しています。

+0

をちょうど1つのノートソリューション@Thor_Bux を共有するためのおかげで特定。カップルのキーチェーン/サイン関連の事がシエラで変わりました。シエラはエル・キャピタンで少し違って働いていました。 bitrise.ioのように、SierraスタックとEl Capitanスタックの両方を選択することができます。 –

+0

私が明示的にBitriseを言及したのは、この問題はSierraを実行している私のローカルMacでは発生しないということです。私はMacOS版を含めるべきであることに言及してくれてありがとう。 –

0

代わりに証明書の16進IDで署名して解決策を見つけました。

あなたは実行することにより、HEXのIDを見つけることができます:ここでは security find-identity -v

クレジット: - :これは、特定のbitriseされていませんが、MacOSのシエラSegmentation fault: 11 when attempting to codesign .app

関連する問題