2

自分のスタティック ライブラリの使用に問題があります。

これが私がしたことです:

静的ライブラリ

1.) 「cocoa static library」テンプレートで新しいプロジェクトを作成しました

2.) そのプロジェクトに簡単なテスト ファイル「LibraryTest」を追加しました

3.) 「LibraryTest」でパブリック関数「testFunction」を定義しました

4.) "Targets" -> "Build Phases" -> "Copy Headers" の下で、LibraryTest.h を "public" に追加しました。

5.) ライブラリをビルドすると、フォルダ "Products" で、以前は赤でマークされていたライブラリ ファイルが黒に変わります。だから私はすべてがうまくいったと思います

新しい計画

1.) 「空のアプリケーション」テンプレートを使用して新しいプロジェクトを作成しました

2.) 静的ライブラリを新しいプロジェクトにドラッグしました

3.) #import "LibraryTest.h" を使用して "LibraryTest.h" を AppDelegate にインポートしています。インポートはオートコンプリート

4.) 残念ながら、コンパイルしようとすると、「LibraryTest.h」が見つからなかったため、ビルドされませんでした。

ここでは、xCode の「新しいプロジェクト」プロジェクト エクスプローラー ウィンドウのスナップショットを確認できます。ライブラリ「libJRL_jumero_iOS_library」はまだ赤です。したがって、ライブラリが見つからないと思います。これがおそらく理由です。しかし、なぜそれが構築されていないのかわかりません。

何がうまくいかなかったのか誰にもわかりますか?

よろしく、 ヤン

編集 11.06.2012:

「@class LibraryTest;」を使用すると、コンパイルでき、関数が呼び出されます。

LibraryTest *libraryTest = [[LibraryTest alloc] init]; [libraryTest testFunction];

しかし、警告が表示されます。Receiver LibraryTest.h はフォワード クラスであり、対応するインターフェイスが存在しない可能性があります。インスタンス メソッド -testFunction が見つかりません。

4

1 に答える 1

0

プロジェクトでもhファイルをドラッグする必要があります。通常、静的ライブラリを構築するときは、.aファイルとパブリックhファイルを提供します。そのバンドルはすべてプロジェクトにインポートする必要があります。そうしないと、インターフェースとメソッドの宣言を確認できません。

于 2012-06-13T13:48:02.293 に答える