31

何が問題なのかわからない.armv7で91個のシンボルが重複して見つかった

iOS 7.1 を対象とする Swift プロジェクトに参加しています。

どちらのフレームワークも最新バージョンです。

プロジェクトのクリーニングと派生データの削除を試みましたが、役に立ちませんでした。

duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._URL in:
    /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o)
    /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o)
duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._appStoreId in:
    /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o)
    /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o)
duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._appName in:
    /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o)
    /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o)
4

5 に答える 5

51

91個の重複で同じ問題がありました。私にとってうまくいったのは、Facebookの新しいSDKにすでに何らかの形で含まれているように見えるBolts.frameworkを削除することだけでした。

それが役に立てば幸い!

于 2014-09-17T10:11:41.780 に答える
17

同じ問題がありました。

  • Leo Flahertyが言及したエラーが発生したため、Bolts.framework の削除は解決策ではありませんでした(受け入れられた回答のコメント)。
  • iOS_DEVで言及されているソリューションを使用すると、私には醜いハックのように思えます。
  • 私は Facebook SDK のバージョン 3.x を使用していて、最新は 4.x であるため、最新の Parse および Facebook SDK を使用することも解決策ではありませんでした( Simon Bøghが言及)。Facebook SDKの変更ログには次のように記載されています。 Facebook SDK for iOS v4.0 は、メジャー バージョンのアップグレードです。 締め切りに間に合わせる必要があったため、新しい 4.x SDK バージョンに合わせてすべての Facebook コードを書き直すことに時間を割くことができませんでした。

私が提案する解決策:

Bolts.frameworkと FacebookSDK.framework をフレームワークとしてプロジェクトに追加する代わりに、それらを Pod として追加します。

pod 'Bolts'
pod 'Facebook-iOS-SDK', '3.23.1'

最新ではないものを使用する必要がある場合に備えて、利用可能なすべての Facebook SDK バージョンをここで見つけてください。
Swift を使用している場合は、ブリッジ ヘッダーに次を追加する必要があります。
#import <FacebookSDK/FacebookSDK.h> #import <Bolts/Bolts.h>

于 2015-04-19T00:02:30.490 に答える
1

回答がすでに受け入れられていることは知っていますが、これは現在 Facebook によって解決されています。

この記事の執筆時点で最新の Parse SDK (1.7.0)Facebook SDK (4.0.0)をダウンロードすると、問題なく動作するはずです。どちらの SDK も数時間前に更新されました。

Parse SDK から Bolts.framework と Parse.framework をインポートしてコピーし、Facebooks SDK (現在は FBSDKCoreKit.framework と呼ばれています) にリンクすると、プロジェクトが正常にビルドされます。

重複した質問: Parse and facebook sdk -duplicate symbol

于 2015-03-25T23:45:08.867 に答える
-1

次の手順に従ってください: applicatonTarget-> Build Phase-> expend Compile sources。

ここで、シンボルの重複エラーを引き起こすファイルを削除する必要があります。その後、再度ビルドします。 ここに画像の説明を入力

于 2014-09-15T04:14:24.763 に答える