iOS SDK上的Facebook SDK 4.6登录按钮不使用Facebook应用程序进行身份验证

时间:2015-09-01 17:53:00

标签: ios facebook

我使用Facebook SDK v4.6.0 for iOS 9在一个简单的Swift应用程序中add a login button到我的应用程序(我已按照Preparing Your Apps for iOS 9中的步骤操作)。

登录按钮始终打开Safari进行身份验证,并且永远不会使用本机Facebook应用程序。这是预期的行为吗?是否可以使用本机应用程序(许多用户已经过身份验证)而不是直接进入Web登录?

我已经尝试通过使用XCode构建和运行以及使用TestFlight分发的构建来测试iPhone上的应用程序。即使我安装并配置了本机应用程序,它也始终打开Safari进行身份验证。

我找到了this relevant question,答案似乎只适用于3.x SDK。我还发现了其他有关配置# create query to save new_df back to impala save_query = """ CREATE TABLE new_table AS SELECT * FROM pandas_df """ # run query on impala cur = conn.cursor() cur.execute(save_query) cur.close() tryFBAppAuth的问题,这些问题似乎适用于以前版本的FB SDK上的边缘情况。我还没有找到4.6的明确答案。

3 个答案:

答案 0 :(得分:7)

这是设计的。我几天前填写了一份错误报告,Facebook仍然存在iOS 9的问题。

见Facebook小组的回答:https://developers.facebook.com/bugs/786729821439894/?search_id

答案 1 :(得分:6)

您需要将facebook原生应用列入白名单。在info.plist中,请确保您有以下条目

<key>LSApplicationQueriesSchemes</key>
  <array>
    <string>fbapi</string>
    <string>fbapi20130214</string>
    <string>fbapi20130410</string>
    <string>fbapi20130702</string>
    <string>fbapi20131010</string>
    <string>fbapi20131219</string>    
    <string>fbapi20140410</string>
    <string>fbapi20140116</string>
    <string>fbapi20150313</string>
    <string>fbapi20150629</string>
    <string>fbauth</string>
    <string>fbauth2</string>
    <string>fb-messenger-api20140430</string>
  </array>

除非您将网址计划列入白名单,否则您的iOS应用将无法切换到该应用。在这种情况下,facebook SDK将显示Safari而不是本机应用程序。

答案 2 :(得分:1)

您是否正在使用iOS9 SDK(XCode 7.x)进行编译?正如FB's iOS9 preparation page中所述,您应该使用新的SDK进行编译,以便进行应用切换策略。