こんにちは。
つい先日Objective-CからWebAPIに接続することがありましたので、その手法をまとめます。
##URLを作る
###まずString型でURLを生成していく
NSString *urlString = @"http://hogehoge.jp/hoge.php";
パラメータがある場合は別変数で保持する。
NSString *idStr = [NSString stringWithFormat:@"id=%@", id];```
URLとパラメータを文字列結合する。
```NSString *urlWithParam = [NSString stringWithFormat:@"%@?%@",urlString,idStr];
###URLエンコード
String→URLへとエンコードを行う。
##接続準備
###URLからリクエストURLを生成
接続時に使用するリクエストURLを生成する。
今回はサブスレッドで実行する必要があったため、処理を記載。
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
##接続
###SessionDataTaskを使って接続〜判定結果による処理
NSURLSessionDataTask *task = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// 処理を書く
//NSDictionary化
NSDictionary *dic = [NSJSONSerialization
JSONObjectWithData:data options:0 error:nil];
//判定
bool *result = dic[@"return"][@"result"];
if(result == true){
NSLog(@"問題ありません。");
}
else{
NSLog(@"問題があります。");
}
// セッションの後始末
[session invalidateAndCancel];
}];
[task resume];
と上記のように書くことでWebAPIとの接続に成功しました!
##まとめ
Objective-c初心者が調べながら実装を行いましたが、情報が新しいものが少なく
少々手間取りました。
ざっとまとめさせていただきました。
先輩方から教えていただいたことが、またどなたかの役に立ちますよう!
では!