2015-09-19 2 views
2

Когда я нажимаю кнопку входа в систему с помощью кнопки Facebook, на IOS одновременно работает. Получение объекта PFUser. Затем, если я запустил тот же код на устройстве iPhone, получив объект PFUser как null. Нет ошибки.Parse API - вход в Facebook не работает на устройстве iPhone

Code: 
func loginWithFacebook() 
    { 
     print("login with facebook") 
     let permissions = ["public_profile"] 
     PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: { 
      (user: PFUser?, error: NSError?) -> Void in 
      print("################") 
      if let error = error { 
       print(error) 
      } else { 
       if let user = user { 
        print(user) 
       } 
      } 

     }) 
    } 

IDE: Xcode 7 Язык: Swift2 Facebook SDK: 4.6.0 Анализировать: 1.8.4 устройство: iPhone 5s Я проверил .plist оказывает все ключи, которые необходимы. Также проверен идентификатор связки для ошибок опечатки. Все выглядят хорошо. Приложение Facebook активно.

Любая помощь?

ответ

0

Заканчивать это руководство, чтобы решить вопрос http://discoverpioneer.com/blog/2015/09/18/updating-facebook-integration-for-ios-9/

вопрос имеет отношение к App безопасности транспорта. Несколько изменений в вашем info.plist и вы будете все :)

+0

У меня есть все записи в файле .plist, и я также попытался отключить защиту транспорта приложений и включить защиту транспорта приложений. ** Пока не повезло **. Мое устройство: iPhone 5 с 8.4.1 IOS. – sfbayman

+0

Вы пытались обновить рамки Parse и PFFacebookUtils? @sfbayman – Phil

+0

Да. Я загрузил последнюю версию Parse 1.8.4 и импортировал ее. – sfbayman

4

В AppDelegate.swift, у меня есть следующий код:

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool { 
     return FBSDKApplicationDelegate.sharedInstance().application(app, openURL: url, sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String, 
      annotation: options["UIApplicationOpenURLOptionsOpenInPlaceKey"]!) 
    } 

Согласно комментариям в UIApplicationDelegate, мы должен использовать приложение: openURL: options :, но все же он не работает.

@available(iOS, introduced=4.2, deprecated=9.0, message="Please use application:openURL:options:") 
    optional public func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool 

Теперь я изменился на следующий код:

func application(application: UIApplication, 
     openURL url: NSURL, 
     sourceApplication: String?, 
     annotation: AnyObject) -> Bool { 
      return FBSDKApplicationDelegate.sharedInstance().application(
       application, 
       openURL: url, 
       sourceApplication: sourceApplication, 
       annotation: annotation) 
    } 

Затем он начал работать отлично как на тренажере и iPhone устройства.

Смежные вопросы