duplicate symbol _OBJC_METACLASS_$_SBJsonParser in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_CLASS_$_SBJsonParser in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.sortKeys in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.humanReadable in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_METACLASS_$_SBJsonWriter in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_CLASS_$_SBJsonWriter in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
この問題を解決する方法を教えてください。
ご覧のとおり、リンカーはSBJsonWriter
とSBJsonParser
の両方がlibfacebook_ios_sdk.aで定義されており、プロジェクト内の個々のファイルとして定義されていると文句を言います。
ターゲットから個々のファイルを削除する以外に、問題を実際に解決することはできません。
問題は、libfacebook_ios_sdk.aの開発者が、jsonフレームワークを使用することをお勧めすることです(ホストアプリで使用されるコードとの衝突を気にしないでください)。これは、iOS上のSDKでよくある問題です。
問題を解決しました。手順に従ってください。
この問題は、ヘッダーを含める際のタイプミスが原因である可能性があります。実装ファイル(.m)ではなくヘッダーファイル(.h)がインクルードされていることを確認してください。
これが私にとっての問題でした
他に何も機能しない場合に役立つことが多いのは、Xcodeの失敗ログに表示されるクラスの名前のテキストエディターとgrepを使用して.pbxcodeprojファイルを開くことです。重複する行が2つある可能性があります-そのうちの1つを削除してください。
プロジェクトにSBJsonParser.h/.mを2回追加しておく必要があります。
サードパーティのAPI /ライブラリが2回含まれているように、.h/.mファイルが2回含まれている可能性があります。または、プロジェクトですでに使用可能なファイルとまったく同じ名前の新しいファイルを作成したようです。プロジェクトフォルダに重複するファイルがあるかどうかを確認してください。
次のこともできます。
.h
ファイルpods
をコピーします。pods
をpodfile
から削除します。.h
ファイルをプロジェクトにコピーします。#import
ファイルの</.h>
".h"
の名前を.h
に変更します。pod install
とbulidを作成します。トリックは、.h
ファイルがインポートされたため、コードにエラーがないことですが、.o
ファイルは正しくリンクされています。
.hファイルのいずれかを2回インポートすると、それが発生します。
たとえば、.... ViewController.hファイルと.... ViewController.mファイルの両方の.hファイルをインポートすると発生します。
何よりも問題が解決しない場合は、2つの異なるファイルで定数を宣言しているかどうかを確認してください(つまり、2つの同じ(.h&.m)ファイルがあるかどうかを確認してください。プロジェクトに重複ファイルがないようにしてください。