This is actually doable using 1Password
Add the extension files:
- OnePasswordExtension.h
- OnePasswordExtension.m
Then include them using a bridging header:
#import "OnePasswordExtension.h"
Finally, you can use the following in your project
@IBAction func onePassword_btn(sender: AnyObject) {
OnePasswordExtension.sharedExtension().fillLoginIntoWebView(self.webView, forViewController: self, sender: sender, completion: {(Bool) in
// error handling
})
}
Here is the link to the 1Password
Here is the reference
or you can simply try like this
func webViewDidFinishLoad(webView: UIWebView!) {
let savedUsername = NSUserDefaults.standardUserDefaults().stringForKey("USERNAME")
let savedPassword = NSUserDefaults.standardUserDefaults().stringForKey("PASSWORD")
if savedUsername == nil || savedPassword == nil {return}
if ( countElements(savedUsername!) != 0 && countElements(savedPassword!) != 0) {
let loadUsernameJS = "var inputFields = document.querySelectorAll("input[name='username']"); \ for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '(savedUsername)';}"
let loadPasswordJS = "var inputFields = document.querySelectorAll("input[name='password']"); \ for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '(savedPassword)';}"
self.webview.stringByEvaluatingJavaScriptFromString(loadUsernameJS)
self.webview.stringByEvaluatingJavaScriptFromString(loadPasswordJS)
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…