FacebookSDK和Bolts在构建时相互冲突(重复的符号) [英] FacebookSDK and Bolts conflicting each other (duplicate symbols) on build

查看:549
本文介绍了FacebookSDK和Bolts在构建时相互冲突(重复的符号)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不确定是什么问题..找到91个符号为armv7重复

Not sure what is the problem.. 91 symbols found duplicated for armv7

我是一个针对iOS 7.1的Swift项目。

Am on a Swift project targeting iOS 7.1.

两个框架都是最新版本

尝试清理项目并删除派生数据。但无济于事。

Tried cleaning project and removing derived data., but to no avail.

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)


推荐答案

有同样的问题。


  • 删除Bolts.framework不是解决方案,因为我收到的错误 Leo Flaherty (在接受的答案中评论)。

  • 使用 iOS_DEV 对我来说似乎是一个丑陋的黑客

  • 使用最新的Parse和Facebook SDK也不是解决方案(由 SimonBøgh )因为我使用的是3.x版的Facebook SDK和最新的是4.x.
    Facebook SDK更改日志提到: 适用于iOS v4.0的Facebook SDK是主要的版本升级。
    由于我需要在截止日期前完成,我无法将时间用于重写我所有的Facebook代码,以适应新的4.x SDK版本。

  • Removing the Bolts.framework was NOT a solution since I get the errors that Leo Flaherty mentioned (comment in the accepted answer).
  • Using the solution mentioned by iOS_DEV seems like an ugly hack to me.
  • Using the latest Parse and Facebook SDKs was also NOT a solution (mentioned by Simon Bøgh) since I was using the version 3.x of the Facebook SDK and the latest is 4.x. The Facebook SDK Change log mentions: The Facebook SDK for iOS v4.0 is a major version upgrade. Since I needed to meet a deadline, I couldn't dedicate time on re-writing all my Facebook code, to fit with the new 4.x SDK version.

而不是添加Bolts.framework和FacebookSDK.framework作为项目的框架,将它们添加为 Pods

Instead of adding the Bolts.framework and FacebookSDK.framework as framework to your project, add them as Pods:

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

查找这里所有Facebook SDK版本,如果您需要使用一个不是最新的。

如果您使用的是Swift,则需要在桥接头中添加以下内容:

#import < FacebookSDK / FacebookSDK.h>
#import< Bolts / Bolts.h>

Find here all the Facebook SDK versions available, in case you need to use one which is not the latest.
In case you're using Swift, you need to add the following in your bridging header:
#import <FacebookSDK/FacebookSDK.h> #import <Bolts/Bolts.h>

这篇关于FacebookSDK和Bolts在构建时相互冲突(重复的符号)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆