FacebookSDK 集成

第 1 步:安装 SDK

你可以手动或通过 CocoaPods 安装 SDK。强烈建议使用后一种选择。

把这些行放在 Podfile 中:

target 'MyApp' do
  use_frameworks!

  pod 'FBSDKCoreKit'
  pod 'FBSDKLoginKit'
  pod 'FBSDKShareKit'
end

在终端运行 pod install 然后打开 .xcworkspace 而不是 .xcodeproj

FBSDKLoginKitFBSDKShareKit 是可选的。你可能需要也可能不需要它们。

第 2 步:在 Facebook 上创建一个应用程序

转到快速入门 - Facebook for Developers 创建应用程序。

Facebook 将在创建应用程序后要求你下载 SDK。如果你已经通过 CocoaPods 安装了 SDK,则可以跳过此部分。

第 3 步:编辑 .plist

一个。要使你的应用能够与 Facebook沟通,你需要在 .plist 文件中添加一些设置。Facebook 将在快速入门页面上为你提供自定义代码段。

湾将你的 .plist 文件编辑为源代码。

StackOverflow 文档

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)
}