我正在为现有网站开发一个应用程序。我的要求是这样的:用户将通过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