Ios 将FacebookSDK导入Swift应用程序

Ios 将FacebookSDK导入Swift应用程序,ios,facebook,swift,facebook-sdk-3.1,Ios,Facebook,Swift,Facebook Sdk 3.1,我正在使用FacebookSDK.framework,它是一两个小时前刚下载的(我想是3.17版),是在一个用Swift编写的新iOS应用程序中使用的。我有Xcode 6.01。我可以从设备上的SDK文件夹构建并成功运行HelloFacebookSample项目。但这是Objective-C。我没有看到任何Swift样本 我无法通过import FacebookSDK将SDK导入Swift源代码单元,这会导致错误:没有这样的模块 如果我将#import添加到项目的桥接头文件中,它将找不到头文件。

我正在使用FacebookSDK.framework,它是一两个小时前刚下载的(我想是3.17版),是在一个用Swift编写的新iOS应用程序中使用的。我有Xcode 6.01。我可以从设备上的SDK文件夹构建并成功运行HelloFacebookSample项目。但这是Objective-C。我没有看到任何Swift样本

我无法通过import FacebookSDK将SDK导入Swift源代码单元,这会导致错误:没有这样的模块

如果我将#import添加到项目的桥接头文件中,它将找不到头文件。该框架在项目使用的其他框架中是可见的,我可以看到标题。构建设置中的框架搜索路径看起来合理。它包括~/Documents/FacebookSDK

我以前在另一个第三方SDK框架中见过这种行为。我正在成功地与我自己的框架进行链接,但这是从源代码构建的

在Swift应用程序中使用FacebookSDK是否需要进一步的准备步骤


谢谢。

就像对你的问题的评论中提到的一些人一样,我建议你使用椰子荚。我换了,感觉很棒!我提前道歉,这将是一个很长的答案,但我试图彻底

1) 安装cocoapod。我认为应该没有问题(此处“安装”选项卡下的说明)

2) 使用CocoaPods处理Facebook SDK依赖关系。这意味着您不需要下载Facebook SDK框架并将其拖到您的项目中(如果您已经下载了它,现在可以删除它)。要使用椰子荚:

-使用Mac终端,将cd复制到项目目录

-使用'pod init'命令,该命令在项目目录中创建PodFile并进行设置。如果您现在正在项目目录中,您应该会看到一个名为PodFile的文件

-打开PodFile并添加Facebook SDK依赖项。以下是我使用Facebook SDK的项目的播客文件的样子:

platform :ios, '7.0'

target 'RatingApp' do
    pod 'Facebook-iOS-SDK', '~> 3.22'
end
请注意,对于要添加的其他依赖项,可以在CocoaPods网站上查找它们。主页应该有一个大的搜索字段,您可以在其中键入依赖项的名称。例如,输入“Facebook”,第一个结果是“Facebook iOS SDK”,右边是“3.23.0”(这是本文的最新版本)。版本号右侧是剪贴板图标。如果你在上面滚动,你会看到你应该输入到你的pod文件中的内容。请注意,滚动显示pod“FacebookIOSSDK”,“~>3.22”这正是我的pod文件中的内容

-关闭pod文件,然后运行“pod安装”

-打开YourProject.xcworkspace,其中YourProject是项目的名称。现在你可以开始工作了不再使用您的project.xcodeproj

这些说明也在这里:

3) 最后,您需要桥接标头。FacebookSDK仍然使用Objective-C(截至目前),桥接头允许您在Swift项目中使用Objective-C框架

-在项目中创建新文件。选择“头文件”作为文件类型

-在该文件中,进行导入。下面是我的文件的外观,我将其命名为“bridgeing Header.h”

#ifndef Bridging_Header_h
#define Bridging_Header_h

#import <FacebookSDK/FacebookSDK.h>

#endif
\ifndef桥接头\u h
#定义桥接头
#进口
#恩迪夫
-告诉Swift项目使用桥接头文件。点击你的项目目标文件,这是一个有蓝纸和“A”图标的文件(希望你知道这是什么)。您应该看到6个选项卡(从XCode 6开始)。这些是“常规”、“功能”、“信息”、“构建设置”、“构建阶段”和“构建规则”。转到BuildSettings,一直到接近底部的“Swift编译器-代码生成”。将“安装Objective-C兼容性标头”设置为“是”。对于“Objective-C桥接头”,键入YourProject/BridgingHeaderFileName.h,其中YourProject是项目的名称,BridgingHeaderFileName是创建的桥接头文件的名称

您现在应该已经准备好使用Facebook SDK了。好处是现在你不需要在你的任何文件中做任何Facebook导入语句(实际上我根本不做任何导入语句)。如果您需要另一个SDK,您可以使用CocoaPods添加它,就像使用Facebook一样(假设它可以通过CocoaPods获得)。因此,对我来说,最好的事情是,您不必在文件中创建导入语句,也不需要自己下载任何SDK=)

使用cocoapods:

在iOS中使用facebook sdk

使用swift配置CoCoapod

然后在pod文件中添加以下内容

platform :ios, "8.0"
use_frameworks!

target 'ProjectName' do
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
pod 'FBSDKMessengerShareKit'
end
没有椰子荚:


将FacebookSDK ShareKit、CoreKit、LoginKit和Bolts框架拖放到项目的框架文件夹中,确保在项目中“复制”(复制时单击复选框)这些框架,并将这些框架添加到桥接头文件中。

您可以使用cocoapods将Facebook SDK添加到项目中。使用CoCoCoapods。它们使用起来非常简单,为您节省了大量时间