Swift 3 和 Facebook swift SDK
Posted
技术标签:
【中文标题】Swift 3 和 Facebook swift SDK【英文标题】:Swift 3 and 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”的目录
【问题讨论】:
【参考方案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)
)
【讨论】:
以上是关于Swift 3 和 Facebook swift SDK的主要内容,如果未能解决你的问题,请参考以下文章
在 Xcode 6.3 (Swift) 中使用 Parse 和 Facebook 框架编译错误
facebook集成错误2500 OAuthException xcode 8 Swift 3
使用 FBSDKProfileExpressionKit 上传 Facebook 个人资料图片 - swift 3.0