1

OS X FUSE に基づいてアプリをビルドしました (つまり、OS X FUSE に基づいた独自のファイル システムを持っています)。OSXFUSE がインストールされている場合、もちろん /Library/Frameworks から OSXFUSE.framework を含めることができます。ただし、アプリを配布するときに、ユーザーが既にアプリをインストールしているとは期待できないため、次のようにフレームワークをバンドルに含めようとしました:

  • フレームワークを /Library/Frameworks から私のプロジェクトにドラッグしました
  • 新しい Copy Files ビルド フェーズを作成しました (ターゲット フレームワークを使用)
  • フレームワークをそのコピー ビルド フェーズに追加しました

ただし、FUSE がインストールされていないシステムでそれを実行すると、エラーが発生します。

dyld: ライブラリが読み込まれていません: /Library/Frameworks/OSXFUSE.framework/Versions/A/OSXFUSE 参照元: /Users/me/Library/Developer/Xcode/DerivedData/

コピー ビルド フェーズでこれを防ぐべきではありませんか? ここで何が欠けていますか?

4

2 に答える 2

1

フラグrequiredoptional.

これは で実行できますProject Overview > Target > Linked Frameworks and Libraries。各フレームワークの横には、選択できるドロップダウン メニューがありますoptional

フレームワークのリンク ステータスを変更する

したがって、私の質問は実際にはこれの複製です Xcode 4でフレームワークを弱くリンクするにはどうすればよいですか?

于 2014-05-07T09:20:59.540 に答える
0

OSXFuse フレームワークが機能するには、対応するカーネル モジュールが必要だと思います。これは個別にインストールする必要があるため、最初にカーネル モジュールと設定ペインをインストールし、次にアプリケーションをインストールするインストーラー パッケージをまとめる必要があります。

または、モジュールを個別にインストールする必要があることをユーザーに通知し、ダウンロード リンクなどを提供することもできます。

于 2013-06-21T15:13:17.790 に答える