通过Web视图登录



我正在为现有网站开发一个应用程序。我的要求是这样的:用户将通过WebView登录到应用程序。现在我想从webview获取响应,看看登录是否成功。

对此有什么想法吗?

您可以使用XWebView

1.使用CocoaPods 下载XWebView

编辑你的播客

platform :ios, '8.1'
use_frameworks!
pod 'XWebView', '~> 0.9.2'

2.吊舱安装

3.修改ViewController viewDidLoad()方法

let webview = WKWebView(frame: view.frame, configuration: WKWebViewConfiguration())
view.addSubview(webview)
webview.loadPlugin(LoginNotify(), namespace: "loginNotify")
let root = NSBundle.mainBundle().resourceURL!
let url = root.URLByAppendingPathComponent("index.html")
webview.loadFileURL(url, allowingReadAccessToURL: root)

4.创建LoginNotify类在LoginNottify组中接收登录消息导入基础导入UIKit

class LoginNotify : NSObject {
    func show(text: AnyObject?) {
        let title = text as? String
        dispatch_async(dispatch_get_main_queue()) {
            let alert = UIAlertView(title: title, message: nil, delegate: nil, cancelButtonTitle: "OK")
            alert.show()
        }
    }
}

5.在LoginNotify组中创建index.html

// when login success use loginNofidy.show notify your swift part
loginNotify.show("login success!");

我没有完整的解决方案(解决方法),但这可能会有所帮助:

UIWebView有一个事件处理程序LoadStarted也许您可以尝试找出每当触发LoadStarted时它导航到的页面。根据该URL,您可以决定登录是否成功。

或者让网站导航到某个页面(如果该网站是您的)

我不是iOS开发人员,所以我不知道这一点——如果UIWebView内部使用LoadRequest方法进行导航,你应该覆盖它,然后从NSUrlRequest对象中获取URL

最新更新