我正在为现有网站开发一个应用程序。我的要求是这样的:用户将通过WebView登录到应用程序。现在我想从webview回复天气登录成功与否。
对此有何想法?
答案 0 :(得分:1)
您可以使用XWebView
1.使用CocoaPods下载XWebView
编辑您的Podfile
platform :ios, '8.1'
use_frameworks!
pod 'XWebView', '~> 0.9.2'
2.pod install
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组中创建LoginNotify类接收登录消息 进口基金会 导入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!");
答案 1 :(得分:0)
我没有完整的解决方案(解决方法),但这可能有所帮助:
UIWebView
有一个事件处理程序LoadStarted
也许您可以尝试在触发LoadStarted
时找出导航到的页面。根据该URL,您可以决定登录是否成功。
或者让网站导航到某个页面(如果网站是您的)
我不是iOS开发人员,所以我不知道这一点 - 如果UIWebView内部使用LoadRequest
方法进行导航,您应该覆盖它,然后从NSUrlRequest
获取网址对象