1

RestKit でシンボルの重複エラーが発生するため、ここ数日間、共有キットの実装を進めることができず、厄介な状況にあります。iOS 5.1 と最新バージョンの xcode で実行しています。指定されたガイドラインに従って、両方のライブラリをインストールしました。いずれかで問題を引き起こすことなく、ShareKitまたはRestKitからこれの参照を削除する方法がわかりません。これについて本当に助けが必要です...ありがとう。

duplicate symbol _OBJC_IVAR_$_GCOAuth.OAuthParameters in:
    /Users/josephboston/Library/Developer/Xcode/DerivedData/Prowd_Wallet-ezxvmeygcnwgtzehshsnnprpsjww/Build/Products/Debug-iphoneos/libShareKit.a(GCOAuth.o)
    /Users/josephboston/Library/Developer/Xcode/DerivedData/Prowd_Wallet-ezxvmeygcnwgtzehshsnnprpsjww/Build/Products/Debug-iphoneos/libRestKit.a(GCOAuth.o)

私のプロジェクト

4

2 に答える 2

4

両方のフレームワークが共通のサード パーティ フレームワークを使用しているため、このエラーが発生しています。そのため、Xcode はシンボルの重複について不平を言っています。このブログ「静的ライブラリ内で一般的なユーティリティを使用する場合の重複シンボルの問題の回避」では、これを修正する方法を説明しています。

ここに記載されている解決策があります。

私は現在、他の開発者がプロ​​ジェクトで使用できるように、静的ライブラリ製品を含む 2 つのプロジェクトに取り組んでいます。Audiobus と The Amazing Audio Engine です。どちらの場合も、循環バッファ コード TPCircularBuffer をかなり多用しているため、スタティック ライブラリがそれを使用する別のプロジェクトにリンクされていると、重複シンボル エラーが発生します。

プリプロセッサを使用して、ビルド フェーズ中にシンボルの名前を自動的に変更します。

これは、たとえば -DTPCircularBuffer=ABCircularBuffer のように、一連の -DOldSymbol=NewSymbol フラグを「その他の C フラグ」ビルド設定に追加することによって行われます。

ここに画像の説明を入力

于 2012-12-25T19:45:40.993 に答える