簡體   English   中英

Swift 3和Facebook swift SDK

[英]Swift 3 and Facebook swift SDK

我一直在努力了解如何在我正在創建的應用程序中集成Facebook SDK for swift。 我用過cocoapods:

pod'FacebookCore'

pod'with''

https://github.com/facebook/facebook-sdk-swift

我正在使用swift 3編寫我的應用程序,我只希望我的用戶能夠在他們的新聞源上發布帶有主題標簽和應用徽標的消息(內容),並且還能夠使用主題標簽共享應用內拍攝的照片和消息(內容)。 (全部沒有Facebook登錄框架)

我已經閱讀了Facebook SDK swift的文檔以及Facebook IOS SDK的文檔:

https://developers.facebook.com/docs/swift

https://developers.facebook.com/docs/ios/getting-started

但是,我不確定我是否應該遵循Facebook IOS文檔中顯示的第一步(添加到info.plist等),以便在Facebook和我的應用程序之間建立連接以便能夠發布。 那是因為在Facebook Swift文檔中它並沒有說明它。 它只是說安裝框架,就是這樣。

我想知道是否有人知道我該怎么辦? 有誰知道視頻教程或分步教程? (分享Facebook內容)

(我發現的所有教程都是從年初開始的(過時的)並僅顯示登錄設置(Not On Swift)。並且還顯示了使用Import Social的舊方法,SLComposeViewController不再起作用且僅適用於推特。)

謝謝..

PS。 我已經在我的應用程序中鏈接了框架和庫。 並得到以下警告:

ld:警告:找不到選項'-F / Users / Siles / Desktop / PartyTime / build / Debug-iphoneos / FBSDKCoreKit'的目錄

ld:警告:找不到選項'-F / Users / Siles / Desktop / PartyTime / build / Debug-iphoneos / FBSDKShareKit'的目錄

6 7 8 9 10 11 12平台:ios,'9.0'

目標'FBSwiftLogin'做use_frameworks!

#FBSwiftLogin的Pods

pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'

結束

導入FBSDKLoginKit

@UIApplicationMain類AppDelegate:UIResponder,UIApplicationDelegate {

var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}

func applicationWillResignActive(_ application: UIApplication) {
    FBSDKAppEvents.activateApp()
}

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
}

}

ViewController.swift

導入UIKit導入FBSDKLoginKit

class ViewController:UIViewController {

var dict : [String : AnyObject]!

override func viewDidLoad() {
    super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

@IBAction func btnFBLoginPressed(_ sender: AnyObject) {
    let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
    fbLoginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) in
        if (error == nil){
            let fbloginresult : FBSDKLoginManagerLoginResult = result!
            if fbloginresult.grantedPermissions != nil {
                if(fbloginresult.grantedPermissions.contains("email"))
                {
                    self.getFBUserData()
                    fbLoginManager.logOut()
                }
            }
        }
    }
}

func getFBUserData(){
    if((FBSDKAccessToken.current()) != nil){
        FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email"]).start(completionHandler: { (connection, result, error) -> Void in
            if (error == nil){
                self.dict = result as! [String : AnyObject]
                print(result!)
                print(self.dict)
            }
        })
    }
}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM