iOSアプリのネットワーク化に取り組んでいます。Web サイトで php ファイルを呼び出して、情報を取得する必要があります。このチュートリアルを使用してきましたが、現在は古く、サポートされていません。
http://www.raywenderlich.com/2965/how-to-write-an-ios-app-that-uses-a-web-service
MKNetworkKit を少し見てきましたが、それを使用する必要があると思いますが、実装方法がわかりません。
iOSアプリのネットワーク化に取り組んでいます。Web サイトで php ファイルを呼び出して、情報を取得する必要があります。このチュートリアルを使用してきましたが、現在は古く、サポートされていません。
http://www.raywenderlich.com/2965/how-to-write-an-ios-app-that-uses-a-web-service
MKNetworkKit を少し見てきましたが、それを使用する必要があると思いますが、実装方法がわかりません。
ヘルプに「NSURLConnection」と入力します。いくつかの良い例があります。
最も簡単な方法は、NSURLConnection で同期呼び出しを行うことです。
これは、サーバーが応答して閉じるまでの呼び出しをブロックします。
NSURL *url = [NSURL URLWithString:@"http://makemyday.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSError *error;
NSURLResponse *response;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
ユーザー エクスペリエンスのより良い方法は、デリゲートを使用した非同期です。5 秒、10 秒、20 秒、60 秒のいずれかの時間を追加できるため、次の満足のいく結果が得られました。
NSURLRequest *theRequest = [NSURLRequest requestWithURL: url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:**20.0**];
NSURLDownload *theDownload = [[NSURLDownload alloc] initWithRequest:theRequest delegate:**self**]; // NOTE THE SELF FOR THE CALLBACks
if (!theDownload) {
//OOPS
}
失敗、成功/終了、およびファイル名に対して次のコールバック メソッドを使用する
- (void)download:(NSURLDownload *)download decideDestinationWithSuggestedFilename:(NSString *)filename;
- (void)download:(NSURLDownload *)download didFailWithError:(NSError *)error
- (void)downloadDidFinish:(NSURLDownload *)download;
- (void)download:(NSURLDownload *)download didCreateDestination:(NSString *)path