忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

iOSにてOneDrive(SkyDrive)の動作確認4

わか

iOSのOneDriveの動作確認について記載します。
・ログイン画面のユーザIDとパスワードに予め値を設定する
・ログイン画面のユーザIDとパスワードをローカルに保存する


LiveSDK-for-iOSを使用して認証をしようとすると、ユーザIDとパスワード
を入力する
ログイン画面が表示されます。
この時に予め別画面で設定したアカウント名をパスワードを表示させたり、
逆にSigh in押下時にローカルに保存したい場合があると思います。
その方法を記載します。(iOSにてJavaScriptを使用した方法)

LiveAuthDialog.m

・予めユーザID,パスワードを表示する

webViewDidFinishLoad

[webView stringByEvaluatingJavaScriptFromString:
 [NSString stringWithFormat:@"document.forms[0].login.value='%@'", userID]];
[webView stringByEvaluatingJavaScriptFromString:
 [NSString stringWithFormat:@"document.forms[0].passwd.value='%@'",password]];

・表示されているユーザID,パスワードを取得後、適宜ローカルに保存する

shouldStartLoadWithRequest

[webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].login.value"];
[webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].passwd.value"];
上記方法で表示/取得できます。
ただし、決めうちで記載しているので、ログイン画面の仕様が変更された場合
正しく動作しなくなる可能性があります。
取得で一番良い方法は「Sigh in」リンクが押下された場合に、
UIWebViewがサーバ側にpostする値(ユーザID,パスワード)を取得する方法だと思いますが
方法が分からなかったため、上記方法にしました。
微妙な方法ですので、いい方法があれば教えて頂きたいですね・・・

拍手[0回]

PR