リソース、nibファイル、サウンドファイルなどを含むプライベートフレームワークを共有する「メインアプリ」と「ヘルパーアプリ」(問題がある場合はサンドボックス)があります。
フレームワークは両方のアプリで問題なく呼び出され、使用されます。ただし、フレームワーク コード内からNSViewController
、リソース フォルダーに含まれる nib ファイルをロードする があります。これは、「メインアプリ」によって呼び出されている限り機能するようです。ただし、Helper アプリ (ログイン項目) で同じことを行っても機能せず、"Unable to find nib named"
エラーで失敗します。
実際の「フレームワーク」はメイン アプリの「フレームワーク」ディレクトリにコピーされ、ヘルパー アプリで @rpath を使用してフレームワークを見つけます。@executable_path/../../../../Frameworks
このセットアップは問題なく動作するように見えますが、実行時に、フレームワーク コードは、フレームワークのリソース フォルダーではなく、ヘルパー アプリのリソース フォルダーの下で名前付きリソースを見つけようとするようです。フレームワークの実行可能ファイル/ライブラリがインストールされている正確なパスの下でフレームワークが常に見えるようにするために、xcode で設定できる設定またはフラグはありますか?