2014-10-17 41 views
0

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

我无法通过导入FacebookSDK将SDK导入到Swift源单元中,这会导致错误:无此类模块。

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

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

是否有任何进一步的准备步骤使用Swift应用程序使用FacebookSDK所需?

谢谢。

+1

您可以使用cocoapods将Facebook SDK添加到您的项目中。 – mustafa 2014-10-17 19:51:27

+0

使用CocoaPods。它们非常简单易用,为您节省大量时间。 – AdamPro13 2014-10-17 19:54:39

+0

这里你去:(http://stackoverflow.com/questions/27056648/how-to-import-facebooksdk-in-header-file-of-swift-ios-application) – lukaivicev 2014-11-25 22:21:32

回答

2

就像在你的问题的评论中提到的一些人,我会建议你使用CocoaPods。我切换了,它很棒!我事先道歉,这将是一个长期的答案,但我试图彻底。

1)安装CocoaPods。应该没有问题,我不认为(在“安装”选项卡下的说明http://cocoapods.org

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

- 使用Mac的终端,cd到项目目录

- 使用“吊舱的init”命令,在项目目录中创建PodFile并将其设置。如果你现在在你的项目目录中,你应该会看到一个名为PodFile的文件

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

platform :ios, '7.0' 

target 'RatingApp' do 
    pod 'Facebook-iOS-SDK', '~> 3.22' 
end 

请注意,您要添加其他的依赖,你可以看看他们上了的CocoaPods网站上。主页应该有一个很大的SEARCH字段,您可以在其中键入依赖项的名称。例如,输入'Facebook',第一个结果是'Facebook-iOS-SDK',右边是'3.23.0'(这是本文的最新版本)。版本号右侧是剪贴板图标。如果你滚动它,你会看到你应该输入到你的PodFile。请注意,滚动显示pod'Facebook-iOS-SDK','〜> 3.22'这正是我在我的PodFile中所具有的功能。

-close您PodFile,并运行 '安装荚'

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

这些指令也在这里:http://guides.cocoapods.org/using/using-cocoapods.html

3)最后,你需要桥接头。 Facebook SDK仍然处于Objective-C(截至目前),并且桥接头允许您在Swift项目中使用Objective-C框架。

- 在您的项目中创建一个新文件。选择'头文件'作为文件类型

- 在该文件中,进行导入。下面是我的文件看起来像,我命名为“桥接-Header.h”

#ifndef Bridging_Header_h 
#define Bridging_Header_h 

#import <FacebookSDK/FacebookSDK.h> 

#endif 

- 告诉你的斯威夫特项目使用桥接头文件。点击你的项目目标文件,这是一个蓝色的纸和'A'图标(希望你知道这是什么)。您应该看到6个选项卡(从XCode 6开始)。这些是“一般”,“能力”,“信息”,“构建设置”,“构建阶段”和“构建规则”。转到Build Settings,并在“Swift编译器 - 代码生成”下一路接近底部。将'安装Objective-C兼容性头'设置为是。对于“Objective-C桥接头”,键入YourProject/BridgingHeaderFileName.h,其中YourProject是项目的名称,BridgingHeaderFileName是您创建的桥接头文件的名称。

您现在应该全部设置为使用Facebook SDK。好处是,现在你不需要在你的任何文件中创建任何Facebook导入语句(实际上我根本没有做任何导入语句)。如果你需要另一个SDK,你可以像使用CocoaPods的Facebook一样添加它(假设它可以通过CocoaPods获得)。所以对我来说,好处是你从来没有让在文件中导入语句,而你并不需要自己下载的SDK任何=)

0

用的CocoaPods:在iOS的

使用Facebook SDK。

按照this tutorial配置cocoapods与swift。

然后在您的podfile中添加以下内容。

没有的CocoaPods:

拖放FacebookSDK ShareKit,CoreKit,LoginKit和螺栓框架,项目的框架文件夹,并确保“复制”(通过点击复选框而拷贝)这些框架在您的项目并在您的桥接头文件中添加框架。

相关问题