2011-12-21 4 views
1
"_OBJC_CLASS_$_SBJSON", referenced from: 

Objc-class-ref in JparseViewController.o 

Symbol(s) not found for architecture i386 

Clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Ld /Users/mag1/Library/Developer/Xcode/DerivedData/Jparse-heknsvlbknssribatbwgkuefjoja/Build/Products/Debug-iphonesimulator/Jparse.app/Jparse_armv7 armv7 i386 
    cd "/Users/mag1/Documents/Xcode Projects/Jparse" 
    setenv MACOSX_DEPLOYMENT_TARGET 10.6 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/mag1/Library/Developer/Xcode/DerivedData/Jparse-heknsvlbknssribatbwgkuefjoja/Build/Products/Debug-iphonesimulator -F/Users/mag1/Library/Developer/Xcode/DerivedData/Jparse-heknsvlbknssribatbwgkuefjoja/Build/Products/Debug-iphonesimulator -filelist /Users/mag1/Library/Developer/Xcode/DerivedData/Jparse-heknsvlbknssribatbwgkuefjoja/Build/Intermediates/Jparse.build/Debug-iphonesimulator/Jparse.build/Objects-armv7/i386/Jparse.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/mag1/Library/Developer/Xcode/DerivedData/Jparse-heknsvlbknssribatbwgkuefjoja/Build/Products/Debug-iphonesimulator/Jparse.app/Jparse_armv7 

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

ダウンロードした例からJSONフレームワークファイルを取得しました。例は完璧に動作していますが、私のプロジェクトはエラーを上回っています。iOS5のJsonがエラーを表示

+0

この問題は、クラスが正しい方法でコピーしていないときに発生します。古いものを削除してもう一度コピーします。 – Ron

答えて

2

Symbol(s) not found for architecture i386

上記のエラーは、次の状況で発生します。

  1. あなたは物理的に実行するためのライブラリのみ構築されたiPhone/iPadのシミュレータ
  2. でアプリケーションを実行しようとしていましたシミュレータでの実行をサポートしていません。

この問題を解決するには、SBJSONライブラリビルドターゲットの有効なアーキテクチャにi386を追加するか、物理デバイスを使用してアプリケーションをテストする必要があります。

+0

i386をSBJSONライブラリの有効なアーキテクチャに追加する方法は?他の例からのファイルのみです。 –

+1

@darvidsOnありがとうございました....私のために少し働いたのですが問題はARCでJSONアップデートされたフレームワークを持っていませんでしたが、今は問題を解決しました。 –

2

SBJSON.mファイルをターゲットに追加しませんでした。プロパティパネルでこのファイルをチェックすると、どのターゲットに割り当てられているかを示すチェックボックスが表示されます。 SBJSON.mをあなたのプロジェクトにまったくコピーするのを忘れたかもしれません。 +アイコンでJSONのすべての.mファイルを追加するには、ここ>compileSources

- >Buildphases -

2

Projectappに行きます。問題が解決される

関連する問題