UIWebView에 BASIC 인증 지원을 위한 UI 추가

UIWebView는 표준으로 BASIC 인증을 지원하지 않지만 URLProtocol 메커니즘을 사용하여 인증이 요청된 시점에서 임의의 처리 후크를 할 수 있습니다.

그래서 모바일 Safari와 마찬가지로 UialertView에서 사용자 이름과 암호를 입력하는 대화 상자를 팝업하는 라이브러리를 만들었습니다.



소스 코드는 MIT 라이센스로 공개됩니다.
htps : // 기주 b. 이 m / sy p-seto ft / 우이 우 b ゃ

설치



Cocoapods에서 할 수 있습니다.

Podfile
platform :ios, '5.0'

pod 'UIWebViewAuthentication', :podspec => 'https://raw.github.com/synapsesoft/UIWebViewAuthentication/master/UIWebViewAuthentication.podspec'

사용법



이 라이브러리는 UIWebView를 상속한 UWAWebView 클래스를 제공합니다.
일반적인 사용법은 ViewController에 추가하는 UIWebView를 UWAWebView로 대체하는 것입니다.

RootViewController.m
// #import <UIWebViewAuthentication/UWAWebView.h>
- (void)viewDidLoad
{
  [super viewDidLoad];

  self.webView = [[UWAWebView alloc] initWithFrame:self.view.frame];
  [self.view addSubview:self.webView];

  NSString* url = @"http://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx";
  NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
  [self.webView loadRequest:request];
}

한 번 입력한 비밀번호는 iOS가 관리 자격 증명에 등록합니다. 이를 일시적으로 저장하지 않도록 변경하려면 authentication.persistence 속성에 NSURLCredentialPersistenceForSession을 설정합니다.

RootViewController.m
self.webView.authentication.persistence = NSURLCredentialPersistenceForSession;

알림의 메시지는 iOS 앱 국제화 메커니즘을 사용하여 변경할 수 있습니다. Example 앱 소스 htps : // 기주 b. 이 m / sy p-seo ft / 우이 우 b ゔ ぃ 와우 ぇ 치카 치온 / t 에 / 마 s r / 에 mp ぇ 등을 참조하십시오.

Localizable.strings
"Authentication Required" = "認証が必要です";
"Cancel" = "キャンセル";
"Log In" = "ログイン";

본 라이브러리는 주식회사 시냅스 소프트의 실제 프로젝트의 앱으로 사용하고 있습니다만, 현실의 여러가지 패턴의 앱에 짜넣는 테스트는 불충분하다고 생각됩니다. 사용법이나 거동에 관한 질문이 있으시면 언제든지 htps : // 기주 b. 이 m / sy p-seso ft / 우이 우 b에 게시하십시오.

좋은 웹페이지 즐겨찾기