아주 간단한 앱을 만들려고 노력하고 있지만, 더 어려울만한 작업 인 것 같습니다. 상상해보십시오.비 웹뷰/브라우저를 통한 간단한 Gmail 로그인 HTTPS POST
나는 기본적인 두 개의 텍스트 필드, 사용자 이름 & 암호 (수행)과, 간단한 사용자 인터페이스를 사용해야하고 로그인 버튼을 누른되면, 그것은 통해 Gmail (또는 기업의 Gmail 계정)에 로그인 https POST (모든 Gmail 액세스는 이제 'https'를 통해서만 수행됩니다.) 간단한 UI가 닫히고 사파리가받은 편지함에 으로 열립니다 (로그인 창에는 표시되지 않음).
Safari에 소켓 핸들이나 쿠키 데이터를 전달할 방법이 없습니까? 또는 Safari에 매개 변수로 제공 할 수있는 임시 파일을 작성하여 열어보십시오.
내가 아마 필요가 없습니다 만 빌드 오류의 스택을 얻기 위해, 다른 오픈 소스 라이브러리를 구축을 위해 노력 약 3 고체 일 보냈다...
난 사실 아니다 올바른 데이터가 서버로 전송되고 있는지 확인하십시오.
기본적으로 제가 가진 것은 ... 아이디어가있는 사람은 누구입니까?
NSString *urlString = @"https://www.google.com/LoginAction2?service=mail";
// setting up the request object now
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *contentType = [NSString stringWithFormat:@"application/x-www-form-urlencoded"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"action=https://www.google.com/LoginAction2?service=mail&"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Email="] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:userName] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"&"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Passwd="] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:passWord] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"&"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"continue=https://mail.google.com/&"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"PersistentCookie=yes&"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"signIn=\"Sign in\"&"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"media="] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSString *msgLength = [NSString stringWithFormat:@"%d", [body length]];
[request addValue: msgLength forHTTPHeaderField:@"Content-Length"];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
[pool release];
URLWithString:@"https://mail.google.com/"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: returnString]];