2011-10-21 15 views
2

私のアプリケーションでは、プライベートフレームワークを含めています。フレームワークを含む場合のリンカエラー?

私のプロジェクトにはフレームワークファイルがあります。

私は、アプリケーションを実行しているとき、私は下に示すリンカのエラーがあります。

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_MessageWebLayer", referenced from: 
     objc-class-ref in MessageUIAppDelegate.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

実はこのフレームワークは、iOS 3でよく働いていたけど、すぐに私は、ベースSDK 5.0、 を変更するように、それは私にエラーを与えます。 MessageWebLayerはヘッダーファイルの名前です。 *

***EDIT1**

私は、サンプルプロジェクトのプライベートなフレームワークを含めていた場合、それは、iOS 3.2とiOS 5.0の両方で正常に動作します。 しかし、私は既存のプロジェクトでエラーが発生しています。


しかし、誰もがいくつかの手掛かりを持っている場合、私は一つのリンクを発見しました。リストで Nice answer but could not get it

****EDIT2* * 最初のプロジェクトのための右のビルドを探す状態に答えますか?しかしどのように? 私はどこかでそれを見ていた場合、/Users/company/Library/Developer/Xcode/DerivedData/MyappUI-azodwyjwfonowicennduyclhdest/Build/Products/Debug-iphonesimulator/MyappUI.app/MyappUI通常のi386のはどのようなものです

ことを書かれていますやっと彼らはi386を書いたのですか?

私のビルドとの接続はありますか?

答えて

1

このフレームワークは含まれていないか、パスまたは名前が変更されている可能性があります。プライベートなので、誰もAppStoreで承認されないので、誰もそれを使用してはいけません。私的なフレームワークも公開されていないため、Appleはこれをサポートしていないため、必要なときには避けなければなりません。

達成しようとしていることは何ですか?プライベートAPIを使用する方法はありませんか? いくつかのコードを投稿してください。おそらくもっとお手伝いできます。

2

"アーキテクチャi386で見つからないシンボル"ビットは、libがあなたのMacのIntelプロセッサと互換性のあるバイナリを持っていないことを示しています(シミュレータ上で実行しようとしていると思われます)。これらは、iOSデバイスで使用されるARMv6/ARMv7プロセッサアーキテクチャ用に構築されている可能性が最も高いです。 i386アーキテクチャ用の適切なビルドを見つけ、実行しているプラ​​ットフォームに基づいて条件付きリンクが必要です。または、デバイス上で実行するだけです。

+0

他のサンプルプロジェクトに同じフレームワークを含めると、うまく動作しますが、リンダーはLd/Users/taxsmart2/Library/Developer/Xcode/DerivedData/MessageUI-azodwyjwfonowicennduyclhdest /ビルド/製品/デバッグ-iphonesimulator/MessageUI.app/MessageUI normal i386それはどういう意味ですか? –

+0

ulator/MessageUI。app/MessageUI normal i386彼らが返すi386アーキテクチャの意味は何ですか? –

+0

あなたの答えはあなたが正しいビルドを見つけたと言いました、これを詳しく教えてください? –

関連する問題