2012-11-29 3 views
1

로그인이 필요한 특정 웹 사이트를 표시하는 단순히 UIWebView을 표시하는 간단하고 간단한 iOS 앱이 있습니다. 내 애플 리케이션을 실행하고 사이트에 로그인하려고하면 오류 메시지없이 로그인 페이지가 다시 표시됩니다. Safari를 사용하면 동일한 사이트에 잘 로그인 할 수 있습니다. 내 UIWebView에서 무엇을 잘못 할 수 있습니까? 중요한 경우 SSL/https를 사용합니다.로그인은 Safari에서 작동하지만 UIWebView에서는 작동하지 않습니다.

답변

7

그것은 문제가이 것을 밝혀졌다 :. Asp.Net Forms Authentication when using iPhone UIWebView

합니다 (있는 UIWebView는 그것이 쿠키를 처리 할 수 ​​있다고 생각 ASP.NET 그렇게 인식하지 못하는 이상한 사용자 에이전트 헤더를 보냅니다을이 분명히 수정되었습니다 ASP.NET 4.5에서, 심지어는 ASP.NET 사이트에 액세스 할 수있는 경우) 서버에

을 고칠 수 있고, 대답은 여기에 있었다 이전 버전 : http://www.mphweb.com/en/blog/easily-set-user-agent-uiwebview

: Change User Agent in UIWebView (iPhone SDK)

에 연결하는앱 시작 코드에이 코드를 넣어되는 중요한 부분 1,363,210

는 :

- (BOOL)application:(UIApplication *)application 
     didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    NSDictionary *dictionary = [NSDictionary 
     dictionaryWithObjectsAndKeys: 
     @"Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", 
     @"UserAgent", nil]; 
    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary]; 
} 

이것은 사용자 에이전트를 변경합니다. 놀랍게도이 작업을 수행하는 다른 방법이 있습니다.이 중 일부는 매우 복잡해지며 (그 중 하나는 "짜증나게하기"라고 함) 대부분은 작동하지 않습니다.

0

그런 경우 UIWebView는 백엔드 아키텍처와 통신 할 수있는 적절한 위임 프로토콜 방법을 구현해야합니다. this, thisthis을보십시오.

+0

로그인에 영향을 줄 수있는 특정 항목을 알려줄 수 있습니까? – JoelFan

관련 문제