2

私はこのチュートリアルに従いました:

https://github.com/jverkoey/iOS-Framework

開発の最後ですべてが機能するようにします。依存製品でも問題なく動作します。最後に、.framework、.a、headers フォルダー、およびビルド後の include フォルダーがあります。この記事では、.framework をプロジェクトにドラッグして #include を含めるだけでよいと書かれていますが、これを実行してビルドすると、リンカー エラーが発生します。

ld: framework not found MyFramework

覚えておいてください、依存プロジェクトでこれが機能し、リンクしていますが、そのプロジェクトではFrameworkプロジェクトをTestingプロジェクトにコピーしました。.framework をドラッグした後に実行しなければならない手順がありませんか? .a もドラッグしようとしましたが、成功しませんでした (同じエラー メッセージ)。

助けてくれてありがとう。

4

3 に答える 3

3

フレームワークの構造が完全に正しいと確信していますか? フレームワークディレクトリを正しく構築していない可能性があります。

次のようになります。

MyFramework.framework     //(directory)
  info.plist
  MyFramework             //(symbolic link to Versions/Current/MyFramework)
  Resources               //(symbolic link to Versions/Current/Resources)
  Headers                 //(symbolic link to Versions/Current/Headers)
  Versions                //(directory)
    Current               //(symbolic link to directory "A" below)
    A                     //(directory)
      Headers             //(directory containing framework headers)
      Resources           //(directory holding framework resources)
      MyFramework         //(actual compiled library, really a .a file)

フレームワークの .a ファイルは、.a で終わらないようにしてください。前述のように、これらのシンボリック リンクはすべて正しくls -lなければなりません。フレームワーク ディレクトリの " " は次のようになります。

drwxr-xr-x   7 kendall  admin   238B Feb 19 13:36 ./
drwxr-xr-x  11 kendall  admin   374B Feb 19 13:36 ../
lrwxr-xr-x   1 kendall  admin    24B Feb 19 13:36 Headers@ -> Versions/Current/Headers
lrwxr-xr-x   1 kendall  admin    30B Feb 19 13:36 MyFramework@ -> Versions/Current/MyFramework
lrwxr-xr-x   1 kendall  admin    26B Feb 19 13:36 Resources@ -> Versions/Current/Resources
drwxr-xr-x   4 kendall  admin   136B Feb 19 13:36 Versions/
-rw-r--r--   1 kendall  admin   215B Feb 19 13:36 info.plist

info.plist の内容 (フレームワーク内の静的ライブラリの実際の名前をリンカーに伝える) は次のようになります。

CFBundleDevelopmentRegion
English
CFBundleExecutable
MyFramework
CFBundleIdentifier
com.pushio.pushiomanager
CFBundleInfoDictionaryVersion
6.0
CFBundlePackageType
FMWK
CFBundleSignature
????
CFBundleVersion
1.0.0
于 2013-02-27T00:19:07.117 に答える
2

*) フレームワークをドラッグまたはコピーしたときに、[項目を宛先グループ フォルダーにコピーする (必要な場合)] チェックボックスをクリックし忘れたと思います。

*) また、プロジェクト -> ターゲット -> ビルド フェーズ -> ライブラリとバイナリをリンクし、フレームワークを追加して、フレームワークをリンクしていることを確認してください。

于 2013-02-27T00:06:50.243 に答える
0

上記のチュートリアルでは、XCode の最新バージョンが追加する Copy Files Build フェーズを必ず削除する必要があります。これは、この手順が原因で発生しました。他のすべてが正しく追加されました。

于 2013-02-27T22:19:06.010 に答える