更新: Twitter似乎解决了这个问题。单击授权按钮现在可以使用!谢谢大家的回复。
我有一个UIWebView打开并指向Twitters Oauth / Authorize网页。用户登录Twitter详细信息并使用Twitter帐户验证我们的应用程序的使用。在Twitter 6.37 iOS应用程序发布之前,这个过程非常完美。现在发生的事情是,当WebView检测到https://twitter.com/oauth/authorize?oauth_token而不是留在WebView中时,它会打开本机Twitter应用程序并死掉。如果您卸载Twitter应用程序,一切都会像在WebView中一样工作。我怎样才能防止这种情况发生?我想留在我的UIWebView中,而不是自动打开深层链接。我一直在阅读iOS 9中新的URL深层链接更改,但不确定如何将它们从我的应用程序停止到其他本机应用程序。谢谢你的帮助!
答案 0 :(得分:4)
作为一种解决方法,在twitter身份验证屏幕中,我们可以使用iOS键盘上的Go按钮,而不是使用Web视图上的登录按钮,直到twitter修复。 为清晰起见,请参阅随附的屏幕截图链接。
答案 1 :(得分:3)
我也遇到了这个问题,并且发现这是因为我的授权端点设置为https://twitter.com/oauth/authorize?oauth_token="+oauthToken
(我相信这是在原始文档中)。如果您添加api
作为子域:https://api.twitter.com/oauth/authorize?oauth_token="+oauthToken
,它将不再触发深层链接并加载推特应用。
答案 2 :(得分:1)
我通过Xamarin问题回答了这个问题:
除非Twitter删除/更新" https://www.twitter.com/apple-app-site-association"的应用部分。允许旁路或辅助oauth不在apple-app-site-association文件中,我不知道你会怎么做。这些文件已签名,iOS将在操作系统级别处理它们。
我没有使用continueUserActivity委托以及传递给从UNI链接启动的应用程序的NSUserActivity对象,但我没有看到启动应用程序(即Twitter)将控制权返回到原始应用程序的方法那时oauth呼叫链也会被打破....
独特的。与自定义网址方案不同,其他应用无法声明通用链接,因为它们使用指向您网站的标准HTTP或HTTPS链接。
安全。当用户安装您的应用时,iOS会检查您上传到网络服务器的文件,以确保您的网站允许您的应用代表其打开网址。只有您可以创建并上传此文件,因此您的网站与您的应用的关联是安全的。
我会向Twitter的开发论坛报告一个问题(错误?):https://twittercommunity.com