サンドボックス化されたアプリのバンドル識別子を変更して実行しました。実行する前に実行時例外が発生しますmain()
。スタック トレースの先頭はruntime_init
. Xcode の外部でアプリを実行しようとしたところ、標準のクラッシュ レポート ダイアログが表示されました。表示された情報をスクロールすると、次のことに気付きました。
Application Specific Information:
dyld: launch, running initializers
/usr/lib/libSystem.B.dylib
xpchelper reply message validation: sandbox creation failed: 1002
Container object initialization failed: The operation couldn’t be completed. (Cocoa error 13.)
もう一回走るとすぐに、問題はありません。コンテナが存在することがわかります。ただし、コンテナーを削除するとすぐに、例外が再びスローされます。ユーザーがアプリを最初に使用したときにクラッシュすることは望ましくありません。どうすればこれを修正できますか?
アクセス許可を修復しようとしましたが、違いはありませんでした。また、Xcode が例外で中断するまでに、コンテナーが既に作成されていることにも気付きました。また、Craig Hockenberry はブログ投稿でこのエラーについて言及しましたが、ユーザーのホーム ディレクトリのシンボリック リンクを非難しました。私はそこにシンボリックリンクを持っていません(少なくともトップレベルにはありません、それは私が彼が意味していると思います)。
Twitter での追加の入力は、それがどこでもシンボリック リンクになる可能性があることを示唆しています。誰かがそれに対する回避策を発見しましたか? 例外の前にアプリケーションコードが実行されないため、それは難しいと思います。うまくいけば、マウンテンライオンはそれを修正します...?