- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发 IOS 应用程序,在其中我在 SFSafariViewController 中打开登录页面。当登录成功时,在该登录页面上会生成 Json 响应。
我想获得该响应并关闭 SFSafariViewController。
在 android 中,我通过 Javascript 和 Javascript 接口(interface)完成了它..
我的 android 服务器端代码:
<?php
//curl initialize
//Some code
//Curl Execution
$response = curl_exe($ch)
?>
<script>
showAndroidToast("<?php echo $response;?>");
function showAndroidToast(res){
Android.dataResponse(res);
}
</script>
在安卓中。
Android.dataResponse(res) 是我的 javascript 接口(interface),我将其添加到我的 Chrome 自定义选项卡 ( https://developer.chrome.com/multidevice/android/customtabs )。
我想要我的 IOS 应用程序具有类似的功能。我不知道。这对于 SFSafariViewController 是否可行?
最佳答案
根据 this StackOverflow 回答您无法使用 SFSafariViewController
下载文件此外,根据 Apple's documentation 似乎没有委托(delegate)来启动 JSON 的下载。
鉴于此信息,我很确定您最安全的选择是使用 WKWebView
路线,即使 WebKit 在 iOS 上有各种限制。你可能会使用 this作为起点。
我个人只是调用我的登录 API 并创建一个 native 登录表单,从而完全绕过 Apple 的浏览选项。希望对您有所帮助!
编辑
OP 实际上使用的是 FitBit 的 API 和 OAuth2,并且根据 FitBit 的文档:
For native applications, this means the authorization page must open in the default browser. Native applications can use custom URL schemes as redirect URIs to redirect the user back from the browser to the application requesting permission. iOS applications may use the SFSafariViewController class instead of app switching to Safari. Use of the WKWebView or UIWebView class is prohibited.
可以在 their documentation 中找到使用 FitBit 的授权码授予流程的指示。但没有合适的指南。但是OAuthSwift支持 FitBit,因此这可能是实现登录的最简单方法。还可以找到关于示例集成的讨论 here和 here .
关于javascript - SFSafariViewController 和 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41673846/
我正在使用 swift 2.0 开发一个项目。该应用程序支持中文和英文两种语言。 我正在使用 SFSafariViewController 打开网址。现在的问题是,当我选择英语时,网址加载成功。但我将
我使用 SFSafariViewController 从 UIView 呈现 Safari。链接从用户处获取。我的代码: @IBAction func linkTapped(_ sender: UIB
我有一个使用 SFSafariViewController 加载网页的应用程序,用户可以收听一些音频。 即使用户关闭 SFSafariViewController,我也想继续播放音频。 这可能吗? 最
我的 SFSafariViewController 在 Objective-C 中运行良好,但无法设置单独的标题(默认 URL 除外)。有谁知道如何设置单独的标题? 最佳答案 不可以,您不能为 SFS
我正在尝试研究一种将 WebView Controller 加载到 iOS 应用程序中的方法,这样网页就可以将数据传回到父级。 SFSafariViewController 是否可行?是否有某种机制(
我正在尝试使用 SFSafariViewController 来呈现用户需要填写的表单。在表单上,有一个“后退”按钮,它会触发一个打开应用程序的 url 方案。问题是当网页触发 url 方案时,a
作为 iOS 9 ATS 更改的一部分,我正在更新一个应用程序以将 SFSafariViewController 用于第三方 http 网站。 当我初始化并呈现实例时,我得到的只是一个空白的白色 Vi
我的应用在 SFSafariViewController 中有一个基于网络的在线支付流程——使用 Adyen 托管支付页面 (HPP)(由 Adyen 推荐)。当支付流程完全发生在 Safari 内部
这blog post Rizwan Sattar 概述了如何使用 SFSafariViewController 将用户登录到您的应用程序。他解释说这是可能的,因为 SFSafariViewContro
我有一个嵌入在 NavigationController 中的测试 ViewController。在测试 ViewController 中,我有一个 WebView 按钮。当我单击该 按钮 时,它会导
我了解到,从 iOS9 开始,您应该能够使用 SFSafariViewController 读取 cookie。 如果我使用以下 JS 在我的页面上设置 cookie: var dd = new Da
我想在用户上传内容后到达 Dropbox 站点的“谢谢”页面时自动关闭 SFSafariViewController;它需要自动关闭。我怎样才能做到这一点? 这是我目前所拥有的: @IBAction
如果您的站点是在 SFSafariViewController 而不是纯 Safari 中加载的,您如何判断使用 javascript?我查看了 window.navigator.userAgent,
我想关闭 SFSafariViewController 而无需用户点击左上角的完成按钮。 let svc = SFSafariViewController(URL: NSURL(string: "ht
我正在尝试将 google 登录集成到我的 IOS 应用程序中(使用 Swift),但每次运行它时,我都会收到以下警告/错误: [10061:521185] Warning: Attempt to p
我能够让我的应用程序根据这个 post 通过 SFSafariViewController 自动加载 url ,而且效果很好,唯一的缺点是导航栏。 SFSafariViewController 导航栏
当我尝试推送 Safari ViewController 时发生了 2 件奇怪的事情: 它带有完成按钮的地址栏位于我的导航栏下方; 委托(delegate)方法 safariViewControlle
我正在使用 SFSafariViewController 在我的 iOS 应用程序中打开一个 URL。它在 iOS 9 上运行完美,但在将我的设备更新到 iOS 10 后,它只是加载一个空白页面,地址
我在指定从 SFSafariViewController 访问时遇到问题,因为它具有与 Safari 浏览器完全相同的用户代理。 我要做的是仅在 webview 内显示图片,如果在普通浏览器上查看,则
我有具有用户名和密码的应用程序,以便用户登录该应用程序。 一些(不太重要的)功能仍然作为网页。 但是为了用户友好,用户在登录后再次登录是很烦人的。 我正在查看 SFSafariViewControll
我是一名优秀的程序员,十分优秀!