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