通过Web视图登录

时间:2015-11-19 07:43:02

标签: ios xamarin

我正在为现有网站开发一个应用程序。我的要求是这样的:用户将通过WebView登录到应用程序。现在我想从webview回复天气登录成功与否。

对此有何想法?

2 个答案:

答案 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获取网址对象