我有一个关于UIWebView的问题。我无法使用Windows身份验证打开网站...在Safari浏览器中会出现一个弹窗,但在WebView控件中没有反应。
有人能帮我解决这个问题吗?
以下是我的代码:
class MainViewController: UIViewController, UIWebViewDelegate, MFMailComposeViewControllerDelegate {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad();
webView.delegate = self;
let url = NSURL (string: "http://test.raphaels.com/mobile/");
let requestObj = NSURLRequest(URL: url);
webView.loadRequest(requestObj);
}
}
这段代码在iOS模拟器上的非安全服务器URL上运行得非常好,即在Xcode上的iPhone模拟器/仿真器上。但是当我使用上述URL(只能从内部网络访问)时,在浏览器中会要求输入用户名/密码并在iPhone模拟器中停止。请帮助我,如何提供用户名和密码。我在互联网上搜索了很多例子,但不幸的是没有一种是用Swift编程的。
我尝试编写一个失败的解决方案,因此下面是失败的代码:
override func viewDidLoad() {
super.viewDidLoad();
webView.delegate = self;
let username = "username11";
let password = "password22";
let loginString = NSString(format: "%@:%@", username, password);
let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!;
let base64LoginString = loginData.base64EncodedStringWithOptions(nil);
// create the request
let url = NSURL (string: "http://test.raphaels.com/mobile/");
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
webView.loadRequest(request);
}