iOS FacebookSDK整合

示例

步骤1:安装SDK

您可以手动安装SDK或通过CocoaPods。强烈建议使用后一种方法。

将这些行放在Podfile:

target 'MyApp' do
  use_frameworks!

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

运行pod install在终端和开放.xcworkspace,而不是.xcodeproj事后。

FBSDKLoginKit和FBSDKShareKit是可选的。您可能需要也可能不需要。

步骤2:在Facebook上创建应用

转到快速入门-开发人员Facebook创建一个应用程序。

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

步骤3:编辑 .plist

一种。为了使您的应用程序能够与Facebook“通信”,您需要在.plist文件中进行一些设置。Facebook将在“快速入门”页面上为您提供自定义的代码段。

b。编辑.plist文件作为源代码。

C。将您的自定义代码段粘贴到源代码中。小心!该代码段必须完全是<dict>标记的子代。您的源代码应类似于:

<plist version="1.0">
<dict>
    // ...
    //一些默认设置
    // ...
    <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

b。

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