Невозможно получить значения города и страны из Facebook iOS SDK в Swift.IOS

Программируем под IOS
Ответить
Anonymous
 Невозможно получить значения города и страны из Facebook iOS SDK в Swift.

Сообщение Anonymous »

В настоящее время я использую Facebook iOS SDK для успешного захвата электронной почты, имени и фамилии в своем приложении. Однако по какой-то причине мне трудно получить информацию о местоположении пользователя, такую ​​как город и страна.
Вот мой соответствующий код:

Код: Выделить всё

override func viewDidLoad() {

super.viewDidLoad()
fbLoginButton.delegate = self
fbLoginButton.readPermissions = ["email", "public_profile", "user_location"]
}

extension RegisterViewController: FBSDKLoginButtonDelegate {

func loginButtonDidLogOut(_ loginButton: FBSDKLoginButton!) {
print("Did log out of facebook")
}

func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
if error != nil {
print(error)
return
}

print("Successfully logged in with facebook...")
FBSDKGraphRequest(graphPath: "/me", parameters: ["fields": "id, name, first_name, last_name, email, location{location}"]).start { (connection, result, err) in

if err != nil {
print("Failed to start graph request:", err)
return
}

print(result)

let fbDetails = result as! NSDictionary
let location : NSDictionary! = fbDetails.value(forKey: "location") as! NSDictionary //code crashes here
let locationContents : NSDictionary! = location.value(forKey: "location") as! NSDictionary
let city: String! = locationContents.value(forKey: "city") as? String
let state: String! = locationContents.value(forKey: "state") as? String
let country: String! = locationContents.value(forKey: "country") as? String

print(fbDetails)
print("city:", city)
print("state:", state)
print("country:", country)

}
}
}
Когда я запускаю код, в консоли я вижу выходные данные для электронной почты, имени, фамилии, идентификатора, имени, но ничего для местоположения, и мое приложение аварийно завершает работу с:

Код: Выделить всё

fatal error: unexpectedly found nil while unwrapping an Optional value
когда он достигнет линии:

Код: Выделить всё

let location : NSDictionary! = fbDetails.value(forKey: "location") as! NSDictionary
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/449 ... k-in-swift
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»