- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是编码的新手,但我有一个大问题:)
我不知道如何从 FBSDKGraphRequest 获取信息以显示在主 Storyboard上。
接下来我应该怎么做才能将图片添加到 Storyboard?我希望有人能帮助我:)
使用 Swift 3、Xcode 8
Facebook 登录正常,代码为:
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)
}
})
}
最佳答案
我将其视为四个步骤 - 如果您已经了解其中的一些内容,我向您表示歉意。
将 UIImageView 从界面生成器中的对象库拖到 Storyboard 中的 View 。
将 UIImageView 作为 IBOutlet 连接到您的代码并为其命名。通过控制从新的 UIImageView 拖动到您的代码来执行此操作,然后在弹出窗口中指定一个导出并命名 UIImageView。就我而言,我将其命名为“facebookPicture”
从 FaceBook 结果中获取图像的 URL。以下示例代码逐步深入到结果字典。有很多方法可以缩短它。
@IBOutlet var facebookPicture: UIImageView!
func getFBUserID(){
if((FBSDKAccessToken.current()) != nil) {
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email"]).start(
completionHandler: {
[weak self] (connection, result, error) -> Void in
guard let strongSelf = self else { return }
if let error = error {
print("Failed to download FB user with error:. \(error)")
}
if (error == nil) {
let resultDictSwift = result as! Dictionary<String, Any>
if let picture = resultDictSwift["picture"] as? Dictionary<String, Any> {
if let pictureData = picture["data"] as? Dictionary<String, Any> {
if let pictureURL = NSURL(string: (pictureData["url"] as? String)! ) {
strongSelf.downloadImage(url: pictureURL as URL)
}
}
}
print(result!)
let FBID = resultDictSwift["id"]
strongSelf.facebookID = FBID as! String?
print("User FB id: \(strongSelf.facebookID!)")
}
})
}
}
从 URL 位置下载图像。以下异步执行此操作并使用先前的堆栈溢出答案 here下载完成后,它将下载结果设置为您的 UIImageView 中的图像
func getDataFromUrl(url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) {
URLSession.shared.dataTask(with: url) { data, response, error in
completion(data, response, error)
}.resume()
}
func downloadImage(url: URL) {
print("Download Started")
getDataFromUrl(url: url) { data, response, error in
guard let data = data, error == nil else { return }
print(response?.suggestedFilename ?? url.lastPathComponent)
print("Download Finished")
DispatchQueue.main.async() {
self.facebookPicture.image = UIImage(data: data)
}
}
}
希望对您有所帮助!
关于ios - 从 FBSDKGraphRequest 到 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47640211/
虽然我已经导入了 FacebookSDK,例如:#import ,但它说:使用未声明的标识符“FBSDKGraphRequest”。 我写的代码很简单: FBSDKGraphRequest *req
我在获取封面个人资料图片时遇到困难... 这里我得到了个人资料图像: let userProfile = "https://graph.facebook.com/" + userId + "/pict
我正在尝试使用以下代码从 Facebook 页面读取帖子: class FacebookGraphAPI { class func getPosts(fromPageWithID pageId
最近几天我一直在尝试让 Facebook SDK 在 IOS swift 上运行。我可以正常登录,但无法获取个人资料信息。代码如下。 在此输入代码 func fetchProfile() {
我正在使用 FBSDKGraphRequest 在我的 iOS 应用程序中实现 Facebook 登录。 但是在登录完成并且用户确认后,我没有被重定向到我的应用。 这是我的代码: FBSDKGraph
我有兴趣从 Facebook 获取用户的性别。设备区域设置为俄语。代码: let FBRequest = FBSDKGraphRequest( graphPath: "me", par
我正在向群组用户墙发帖(图片和文字)。它已经工作了很长时间,最近停止工作(现在,图像已发布,但没有文字:()。知道是否有新的方法或规则?(没有错误报告) [params setObject:s
我正在开发一个使用 Facebook 联系人的应用程序。我将这些联系人保存在本地核心数据数据库中,以便在没有连接时使用它们。不幸的是,当我访问有形的 friend ID 时,我得到了不同的 UUID
我正在尝试更新隐私参数,以便我的应用启动的实时视频发布在用户的时间轴上,并将隐私设置为“ALL_FRIENDS”。我查看了文档,我提出的代码不起作用: NSString* livePath = [@
我正在构建一个用于检索用户个人资料图片的函数。我正在使用 facebook 的 FBSDKGraphRequest,但是当我尝试使用检索到的数据将其分配到图片中时,我收到一个我不明白的错误:Varia
在用户成功登录后,我遇到了 Facebook SDK(swift 4、Xcode 9)的问题,我试图撤回有关用户帐户的一些详细信息,例如他们的电子邮件地址、姓名和图片。 但是下面的代码在这一行给我一个
我正在尝试在按下 Facebook 登录按钮时执行的代码块中使用 FBSDKGraphRequest。但是,由于某种原因,这段代码永远不会执行。可能是什么原因。我使用的按钮是 FBSDKLoginBu
我收到以下异常: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDi
我正在使用 Parse 在我的应用程序上通过 facebook 登录。 这是我的代码: //set permissions required let permissionsArray
我正在使用 Facebook SDK 注册我的用户。我正在尝试使用 FBSDKGraphRequest 保存用户个人资料图片。我得到的是以下结果: { email = "adolfosrs@g
我是编码的新手,但我有一个大问题:) 我不知道如何从 FBSDKGraphRequest 获取信息以显示在主 Storyboard上。 接下来我应该怎么做才能将图片添加到 Storyboard?我希望
我正在使用 Xcode 10、Swift 5,我正在尝试将 UITextField 设置为我从 Facebook 检索到的用户名。我已在结果中成功检索到 ID、电子邮件和姓名,但是当我将结果发送到文本
我一直在尝试使用 FBSDKGraphRequest 上传带有标题和标记 friend 的照片,但我真的很难让标签起作用。这是我得到的: NSDictionary *parameters = @{
我想检查我当前的 Facebook token (它存在)是否仍然具有用户授予的所有所需权限。 因此,我调用该图来检索与我的 token 关联的所有授予的权限: FBSDKGraphReque
教程应用程序的 SignUpViewController 中使用的 FBSDKGraphRequest 连接处理程序现已过时。我将其更新到在用户成功注册后尝试放置解析代码之前不会出错的程度。一旦我输入
我是一名优秀的程序员,十分优秀!