私は本当に奇妙なコードサインの問題を抱えています。以前のほぼ同一のバージョンが検証に合格し、App Store に提出されたので、私のコード署名は壊れていません。
最近、iTunesLibraryフレームワークを使用しようとしています。このフレームワークは、アプリケーションがコード署名されている場合にのみ機能します。フレームワークを初期化しようとすると、コード署名の失敗を示す一般的なエラーが発生します。
エラー Domain=NSPOSIXErrorDomain Code=100001 「読み込めませんでした。」UserInfo=0x100329d80 {NSLocalizedDescription=Could not load., NSUnderlyingError=0x10031a430 "The operation could't be completed. (OSStatus error 100005.)"}
私のアプリは、動的にリンクされたものとプラグインの両方の複数のフレームワークに編成されています。フラグを使用し--deep
てアプリケーションに再帰的に署名してきましたが、どうやらこれは間違っているようです。現在、run script
ビルド フェーズを使用して、各フレームワークとプラグインに署名しています。これはcodesign
、アプリが署名されていることを示しているように機能するようです。
アプリをデバッグ モードでビルドし、アーカイブして、開発者 ID 署名付きプログラムとしてエクスポートし、署名を確認しました。両方のビルド モードがパスします。実行すると、上記のエラーが表示されiTunesLibrary
ます。本当に奇妙な部分は、アプリをエクスポートして、以下のように自分で再署名すると、iTunesLibrary
正しく機能することです。
codesign --force --sign "MyIdentity" --deep MyApp.app
これspctl --assess
について詳しく説明しようとすると、このアプリケーションは正常に動作しているにもかかわらず、署名が不適切であることがわかります。
/Users/me/Desktop/MyApp.app: rejected
iTunesLibrary
一方、気に入らないアプリはspctl
検査に合格します。
/Users/me/Desktop/MyApp.app: accepted
source=Developer ID
origin=Developer ID Application: Me