1. ホーム
  2. macos

[解決済み】OS X Framework Library not loaded: 'Image not found'.

2022-01-30 05:45:23

質問

OS Xの基本的なフレームワークを作ろうとしているのですが、今はテストフレームワークを作っただけなんです。 TestMacFramework.framework で、それを新しいOS Xアプリケーションのプロジェクトにインポートしようとしています。

私は、.frameworkファイルをビルドして、新しいプロジェクトにインポートしました。フレームワークは問題なくリンクしているように見え、私はフレームワークのビルドフェーズセクションに追加したパブリックヘッダーファイルを参照することができます。

しかし、コンテナアプリケーションを実行しようとすると、次のようなエラーが発生します。

dyld: Library not loaded: /Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework
  Referenced from: /Users/samharman/Library/Developer/Xcode/DerivedData/TestMacContainer-dzabuelobzfknafuhmgooqhqrgzl/Build/Products/Debug/TestMacContainer.app/Contents/MacOS/TestMacContainer
  Reason: image not found

少しググった後、私は、このような場合、(1)(2)(3)(4)を追加する必要があることに気づいた。 Copy Files セクションをコンテナアプリケーションのビルドフェーズに追加しました。

画像

しかし、まだランタイムエラーが出ます。明らかに何か間違っているのですが、Appleの開発者ライブラリのリソースはXcode 2を参照しているので、あまり役に立ちませんね。

何か見落としがあったのでしょうか?

UPDATE

ビルドログを見ると、私の TestMacFramework.framework は .app contents/frameworks ディレクトリにコピーされますが、HD の Library/Frameworks ディレクトリにはインストールされません。

画像

UPDATE 2:

を手動でコピーすると、ビルドが正しくリンクされます。 TestMacFramework.frameworkLibrary/Frameworks ディレクトリ

解決するには?

[Xcode 11+]を使用する。

やるべきことは、フレームワークを General->Frameworks, Libraries And Embedded Content セクションの General

Embedded binaries

General

[Xcode v6 -> Xcode v10】の場合。]

やるべきことは、フレームワークを セクションの {コード タブをクリックします。