2

このリンクからプライベート ライブラリのコレクションをダウンロードしました。ダウンロードをクリックすると、すべてのフレームワークが取得されます。したがって、これらはヘッダー ファイルのみであり、Xcode で使用できる .framework ファイルではありません。そのため、ビルドフェーズに行く通常の方法でそれらをリンクしました。その中で、ライブラリとバイナリをリンクし、+ をクリックして、フレームワーク (私の場合は設定フレームワーク) からヘッダーファイルを選択します。これらのファイルをプロジェクトに追加した後、ライブラリの 1 つからオブジェクトを作成し、それらのインスタンス メソッドを呼び出そうとします。このプログラムを実行しようとすると、このエラーが発生します。デバイスまたはシミュレーターで実行するかどうかに関係なく、これを取得します。

アーキテクチャ i386 の未定義シンボル:
"_OBJC_CLASS_$_DevicePINController"、参照元: UAViewController.o ld の objc-class-ref: アーキテクチャ i386 のシンボルが見つかりません。clang: エラー: リンカ コマンドが終了コード 1 で失敗しました (使用 -v呼び出しを見るために)

DevicePinController は、プライベート フレームワーク プリファレンスの一部です。h私はそのオブジェクトを UA にしようとしています

編集: Bluetooth などの他のフレームワーク ヘッダーを使用してみましたが、すべてこのエラーが発生します。

編集:個々のヘッダーファイルを追加する代わりに、フレームワーク全体をプロジェクトに追加しようとしました.今、エラーは

d: フレームワークが見つかりません BluetoothManager clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用します)

4

1 に答える 1

1

実際にフレームワークを構築する必要があります。ヘッダー ファイルに対してリンクすることはできません。それは意味がありません。

Preferences フォルダー内のすべての .m ファイルをCompile Sourcesとして追加し、 Link Binary with Librariesからヘッダー ファイルを削除してみてください。

追加:この答えが間違っていることに気づきました。OP が使用しようとしているファイルはライブラリではなく、Apple のプライベート フレームワークのヘッダー ファイルです。関連する回答は次のとおりです。https://stackoverflow.com/a/13388225/893113

于 2012-12-19T06:32:40.617 に答える