我尝试从Facebook实施App Invites功能,我希望将我的用户重定向到原生Facebook应用(如果安装在用户的设备上)。
然而,虽然Facebook Native应用程序安装在设备上但它从未打开过,但是“邀请对话框”#39;始终以SafariViewController
打开(请参见下图)。这是不希望的,因为大多数时候用户没有登录Safari并且放弃完成"邀请"任务。
以下是我用来构建应用的SDK版本:
我已阅读Preparing Your Apps for iOS9并已使用所有可能的网址方案填充了我的Info.plist:
<key>LSApplicationQueriesSchemes</key>
<array>
<string></string>
<string>http</string>
<string>https</string>
<string>mailto</string>
<string>fb</string>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</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>fb-messenger-api20140430</string>
<string>fb-messenger-platform-20150128</string>
<string>fb-messenger-platform-20150218</string>
<string>fb-messenger-platform-20150305</string>
</array>
尽管如此,SafariViewController
总是打开而不是Facebook Native App。
如何让我的应用用户使用“应用邀请”#39;使用原生Facebook应用程序的对话框?
答案 0 :(得分:5)
这似乎是由Facebook设计的,显然Facebook选择使用SafariViewController来避免要求多次切换应用程序的权限。您可以查看常见问题解答here
常见问题
为什么在调用时会看到“想要打开Facebook”警告对话框 对话框?
在iOS 9中,应用程序切换可以提示用户进行确认 对话。 SDK将尝试通过选择来最小化此频率 可用的最佳对话框(例如SafariViewController),但这是 按照iOS 9中的设计。