私はトリッキーな問題に直面しています。誰かが以前に似たような問題に遭遇したことを願っています。
OS X アプリ (アプリ バンドル、Yosemite 10.10.2 でテスト) を作成し、このバンドルの一部としていくつかのヘルパー サブ アプリを使用しました。これらのサブアプリは、独自のアプリ バンドルに格納されます。
構造は次のとおりです。
AppName.app
-> Contents/Frameworks/SubAppName_1.app
-> Contents/Frameworks/SubAppName_2.app
などなど。これはすべてうまく機能し、まったく問題ありません。
この問題は、開発/アドホック/Mac App Store 展開の準備のためにアプリをサンドボックス化/共同設計するときに発生し始めます。
次のコマンドを使用して、アプリバンドル (+ サブコンポーネント) に署名しています
codesign --verbose --force --sign "$IDENTITY" --entitlements entitlements.child "$OUTDIRECTORY/AppName.app/Contents/Frameworks/SubAppName_1.app"
codesign --verbose --force --sign "$IDENTITY" --entitlements entitlements.child "$OUTDIRECTORY/AppName.app/Contents/Frameworks/SubAppName_2.app"
codesign --verbose --force --sign "$IDENTITY" --entitlements entitlements.parent "$OUTDIRECTORY/AppName.app"
繰り返しますが、うまくいきます。署名済みアプリが起動し、正常に動作します。すべての機能が動作しており、バグ/クラッシュ/目に見えるエラーはありません。サンドボックス化されていない/共同設計されたアプリに似ています。すべてがサンドボックスで実行されます。何時間もアプリを使用できますが、問題ありません。
ただし、アプリをしばらく閉じると (たとえば、15 ~ 30 分、かなりランダムです)、サブアプリの1 つで署名が無効であるというエラーが表示されます (メイン バンドルはそれらをサブ プロセスとして生成します)。
12:38:56 MBA.local amfid[274]: /Applications/AppName.app/Contents/Frameworks/SubAppName_1.app/Contents/MacOS/SubAppName_1 signature not valid: 0xfffefa31
12:38:56 MBA kernel[0]: proc 82808: load code signature error 4 for file "SubAppName_1"
12:38:57 MBA.local amfid[274]: /Applications/AppName.app/Contents/Frameworks/SubAppName_1.app/Contents/MacOS/SubAppName_1 signature not valid: 0xfffefa31
12:38:57 MBA kernel[0]: proc 82811: load code signature error 4 for file "SubAppName_1"
数分後にアプリを再起動しても、すべてが機能します。10 回中 9 回は、アプリを再コンパイルして再び機能させる必要があります。ただし、時折、ランダムに再び機能し始めます。
このアプリの AdHoc ビルドを無関係の Yosemite デバイスに展開すると、同じことが起こりますが、次の amfid エラー コードが表示されます: 0xfffefa2a
これを引き起こしている可能性のあるアイデアはありますか?私が間違っていることがあるに違いありません!