ios - Facebook Cocoapods 集成

标签 ios xcode facebook cocoapods facebook-ios-sdk

我正在使用 cocoapods 将 3rd 方库集成到我的项目中。一切都很顺利,但是当我尝试集成 facebook ios sdk 时遇到一个非常奇怪的问题,我的 pods 项目有以下警告:
Validate Project settings
如果我点击它,我会得到以下对话框:
Remove Duplicates Dialog
我检查了目标“Pods-Facebook-iOS-SDK”的构建阶段部分的标题。每个头文件都在重复:
Repeating headers
当我尝试构建我的项目时,它失败了,因为它无法找到“FacebookSDK/FacebookSDK.h”。
我的最后一个选择是手动集成 facebook sdk,而不是使用 cocoapods,但我不想走那条路,对于我的生活,我无法理解我做错了什么。引用以下是我的 pod 文件:

platform :ios, '7.0'

pod 'DTCoreText'

pod 'UIView+AnimationExtensions'

pod 'EZAudio'

pod 'MZTimerLabel'

pod 'AWSAutoScaling'

pod 'AWSCloudWatch'

pod 'AWSCore'

pod 'AWSDynamoDB'

pod 'AWSEC2'

pod 'AWSElasticLoadBalancing'

pod 'AWSKinesis'

pod 'AWSS3'

pod 'AWSSES'

pod 'AWSSNS'

pod 'AWSSQS'

pod 'AWSSimpleDB'

pod 'Facebook-iOS-SDK'


以下是有关我的开发环境的信息:
X代码:6.1
架构:armv7、arm64
基础 SDK:iOS 8.1

最佳答案

我遇到了类似的问题。我的项目以前没有使用过 Cocoapods,我现在正尝试通过 Cocoapods 添加 Facebook SDK。

根据@MingLi 的评论,我用 #import <FacebookSDK/FacebookSDK.h> 替换了所有 #import <FBSDKCoreKit/FBSDKCoreKit.h> 实例,事情又开始工作了。

当我在 Xcode 中编译时,它显示了需要 #import <FBSDKLoginKit/FBSDKLoginKit.h>#import <FBSDKShareKit/FBSDKShareKit.h> 的文件

您可能还必须经历和调整 Facebook SDK 3.x 和 4.x 之间发生的变化。例如,我必须将 [FBSettings setDefaultAppId:123456789] 替换为 [FBSDKSettings appId:123456789] 并将 [FBAppEvent activateApp] 替换为 [FBSDKAppEvents activateApp]

如果您编译然后单击每个编译错误旁边的红点(在您的代码中),Xcode 有时有助于找到所需的更改。

整理所有更改可能需要大量工作,您可能需要重新编译多次。

如果您在从 SDK 3.x 升级到 4.x 时无法弄清楚如何替换特定函数/类,您可以引用 Facebook 的变更日志:
https://developers.facebook.com/docs/ios/change-log-4.x

您还可以在此处找到其他信息:
https://developers.facebook.com/docs/ios/getting-started

关于ios - Facebook Cocoapods 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29515642/

相关文章:

ios - 在 iOS 设备上运行 clubbed swift & react-native 项目时出错

ios - 无法对推送通知自定义按钮执行操作

iphone - 发送带有图像的 http post 请求时出错

ios - swift 的新手 : Why is the Timer not updating to the UILabel?

php - Laravel 5.2 Socialite Facebook 登录 cURL 错误 60

ios - 如何在 Swift 3 中将 captureStillImageAsynchronously(sampleBuffer) 转换为 base64 编码

ios - 如何为后退按钮做 'prepareSegue'?

android - 为 FacebookShareDialog 设置标签

php - 使用全局 ID 在 graph api v2 中获取应用程序用户数据

objective-c - 使用 segue 将数据传递到另一个 Detail TableViewController 的问题