2014-12-31 3 views
2

Я тестирую приложение с помощью входа в facebook. Я сделал кнопку, и когда я нажимаю на нее появляются страницы Facebook, и после пароля он исчезает. Проблема в том, что блок из [PFFacebookUtils loginWithPermissions] никогда не вызывается. Таким образом я не могу преформировать свой сеанс.PFFacebookUtils loginWithPermissions block never called

Я думаю, что у меня есть все конфигурации, сделанные на Parse и Facebook. Все классы импортируются в PrefixHeader

Методы Appdelegate были обновлены информацией, которая находится в документах разработчика developerWorks.facebook.com.

PrefixHeader PrefixHeader

AppDelegate AppDelegate

My Root View Controller Класс AppDelegate

ответ

7

После многих часов я понял это!

Я не знаю, почему, но мне нужно, чтобы изменить код AppDelegate на

- (BOOL)application:(UIApplication *)application 
     openURL:(NSURL *)url 
     sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 
     // attempt to extract a token from the url 
    return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:[PFFacebookUtils session]]; 

}

и не блок теперь называется потому, что я добавил «withSession: [PFFacebookUtils сеанса]».

Я понятия не имею, почему я должен это делать, потому что в руководстве Facebook это не написано. Если кто-то может объяснить мне, я был бы благодарен.

+0

Работал для меня тоже. Parse сообщите об этом в своей документации: https://www.parse.com/docs/ios_guide#fbusers/iOS Они также говорят, что вы должны добавить [FBAppEvents activateApp]; в приложенииDidBecomeActive – CedricSoubrie

2

Для тех из вас застрял на Swift 1.x, это решить мою проблему ... текущий руководство синтаксического анализа КСН-фб говорит использовать

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

но делает

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool { 
    return FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication, withSession:PFFacebookUtils.session()) 
} 

работы , Swift 1.2, Parse/ParseFacebookUtils 1.8.5, Facebook 4.3

+0

FBAppCall - это FacebookSDK 4.x. Не знаю, как это будет работать. – momentsnapper

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