繁体   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