在swift中使用facebook ios sdk获取用户的位置信息

时间:2015-01-29 10:10:26

标签: xcode facebook-graph-api swift

我无法找到有关在swift和xcode 6中获取用户位置信息的任何信息

我试过

var fbcity = user.objectForKey("location")
        var fbcountry = user.objectForKey("country")

但没有工作。

知道如何实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

也许您可以向我们提供更多信息,例如您正在使用哪个Facebook SDK以及FBSDKGraphRequest必须返回user的参数。请注意,当您发送用户个人资料的图表请求时,没有关于国家/地区的具体信息,用户节点中的location字段。它将返回子字段:idname,其中name为

使用最新的Facebook iOS SDK 4.0,您可以执行以下操作:

override func viewDidLoad() {
    super.viewDidLoad()

    self.loginView.delegate = self

    if FBSDKAccessToken.currentAccessToken() != nil {
        fetchUserData()
    } else {
        loginView.readPermissions = ["public_profile", "email", "user_friends"]
    }       
}

func fetchUserData() {
    let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)
    graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in                
        if error != nil {
             // Process error
             println("Error: \(error)")
        } else {              
             let location: NSDictionary! = result.valueForKey("location") as NSDictionary
             let city: NSString = location.valueForKey("name") as NSString                   
        }
    })
}

更详细的信息可以在Facebook Graph API User页面找到。