はじめに
Objective-C は初でしたが、最初は意味不明でしたね。
特にメソッド呼び出しとデリゲートについて。
まあそれは置いておいて。
UIWebViewは簡単にWebページをブラウザできるのでよいのですが、なんとHTTP Status Codeを見れないようです。
404 Not Foundみたいな表示がそのまま出ちゃうと。
それはよろしくないので、HTTP Status Codeを見て、その後の処理を制御するサンプルコードを書いてみました。
このエントリの目次
- GitHubにあげたiOSプロジェクト
- ソースの重要な箇所
- 閑話休題 「GitHub for Mac」について
- さいごに
1.GitHubにあげたiOSプロジェクト
コチラになります。2.ソースの重要な箇所
以下に貼付けます。GitHubのソースの47〜77行目にあたります。
コメントを読めば処理の概要は分かると思います。
- (void)kick:(NSString *)url
{
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
//UserAgentをセットします
NSString *userAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
[urlRequest setValue:userAgent forHTTPHeaderField:@"User-Agent"];
//urlにアクセスします
NSHTTPURLResponse *response;
NSError *error;
NSData *responseData = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response
error:&error];
//何らかのエラーが出たとき
if ([response statusCode] >= 400 || error) {
UIAlertView *alert =
[[UIAlertView alloc] initWithTitle:@"エラー"
message:[NSString stringWithFormat:@"HTTP STATUS CODE:%d", [response statusCode]]
delegate:self
cancelButtonTitle:@"確認" otherButtonTitles:nil];
[alert show];
}
//正常なレスポンスのとき
else {
[webView loadData:responseData MIMEType:[response MIMEType]
textEncodingName:[response textEncodingName]
baseURL:[response URL]];
[self setView:webView];
}
}
参考にしたサイト
- How do I get the last HTTP Status Code from a UIWebView? | Stack Overflow
- Changing the userAgent of NSURLConnection | Stack Overflow
3.閑話休題 「GitHub for Mac」について
Mac向けにGitHub for Macというクライアントツールがあります。GUIでソースのコミットなどがとても簡単にできます。
操作方法はデザイナーのためのGithub for Mac の使い方「リポジトリ作成編」 | KUROIGAMEN(黒い画面)が詳しいです。
さてGitHub for Macですが、このオクトキャットの仕草や表情がめっちゃ可愛い!!

普通のオクトキャットはまぁまぁくらいですが、この絵は衝撃的可愛さ!
アイコンもこの絵なので、Dockに追加すれば いつでも見られます。
あと、いろんな格好をしたオクトキャットがいるサイトを見つけました。
マリオとかロックマンとかゼルダのリンクの格好したやつもいます。
0 件のコメント:
コメントを投稿