FacebookSDK 集成
第 1 步:安装 SDK
你可以手动或通过 CocoaPods
安装 SDK。强烈建议使用后一种选择。
把这些行放在 Podfile
中:
target 'MyApp' do
use_frameworks!
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
end
在终端运行 pod install
然后打开 .xcworkspace
而不是 .xcodeproj
。
FBSDKLoginKit
和 FBSDKShareKit
是可选的。你可能需要也可能不需要它们。
第 2 步:在 Facebook 上创建一个应用程序
转到快速入门 - Facebook for Developers 创建应用程序。
Facebook 将在创建应用程序后要求你下载 SDK。如果你已经通过 CocoaPods 安装了 SDK,则可以跳过此部分。
第 3 步:编辑 .plist
一个。要使你的应用能够与 Facebook沟通,你需要在 .plist
文件中添加一些设置。Facebook 将在快速入门页面上为你提供自定义代码段。
湾将你的 .plist
文件编辑为源代码。
C。将自定义代码段粘贴到源代码中。小心! 该片段必须完全是 <dict>
标签的子代。你的源代码应该是这样的:
<plist version="1.0">
<dict>
// ...
//some default settings
// ...
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{FBAppId}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>{FBAppId}</string>
<key>FacebookDisplayName</key>
<string>{FBAppName}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
</plist>
如果你将代码段粘贴到错误的位置,则会遇到问题。
第 4 步:在快速入门页面上告诉 Facebook 你的包标识符
=> 如何获取包标识符
第 5 步:编辑你的 AppDelegate.swift
一个。
import FBSDKCoreKit
湾
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}