【问题标题】:Swift 3 and Facebook swift SDKSwift 3 和 Facebook swift SDK
【发布时间】:2016-11-23 20:48:13
【问题描述】:

我一直在尝试了解如何在我正在创建的应用程序中集成 Facebook SDK for swift。我用过cocoapods:

pod 'FacebookCore'

pod 'FacebookShare'

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 内容)

(我发现的所有教程都是从年初开始的(已过时),仅显示登录设置(不在 Swift 上)。还显示了使用 Import Social 的旧方法,SLComposeViewController 不起作用不再,仅适用于 twitter。)

谢谢..

PS。 我已经在我的应用程序中链接了框架和库。 并且还会收到以下警告:

ld:警告:找不到选项“-F/Users/Siles/Desktop/PartyTime/build/Debug-iphoneos/FBSDKCoreKit”的目录

ld:警告:找不到选项“-F/Users/Siles/Desktop/PartyTime/build/Debug-iphoneos/FBSDKShareKit”的目录

【问题讨论】:

    标签: ios facebook swift3


    【解决方案1】:

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

    目标 'FBSwiftLogin' 做 使用_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

    类视图控制器: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)
                }
            })
        }
    }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      • 2017-06-05
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多