iPhoneアプリ開発で、Objective-Cを使っています。
サーバにログインする処理で、以下のようなHTTPプロトコルで通信しています。
(書籍に載っていた一般的な内容です。)
//HTTPプロトコルで接続する
NSURL *url = [NSURL URLWithString:urlLogin];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSHTTPURLResponse *res;
NSData *contents = [NSURLConnection sendSynchronousRequest:req returningResponse:&res error:nil];
NSString *str = [[NSString alloc] initWithData:contents encoding:NSUTF8StringEncoding];
_label1.text = str
・実サーバの場合は、この通信でサーバから応答がcontentsに来ているのですが、テスト用サーバでアドレスだけ変えて行うとcontentsはnilとなり、デバッグ用のラベルlabel1には何も表示されません。
・しかし、次の画面に遷移して(本当はログイン処理で応答がなければ遷移させるべきではありませんが。。。)もう一度、ログイン画面に戻ると、今度はcontenntsにもデータが入って、ラベルlabel1にも表示されます。
・何か、原因や対策等ありますでしょうか?
・実サーバとテストサーバは物理的に別のサーバとのことです。
・サーバ側はPHPで処理されているので、試しにPCのブラウザから同じアドレスでそれぞれ、テスト、実サーバにアクセスしたら、両方とも応答データが表示されました。
・PCでは両方、接続可能、iPhoneだと、テストサーバのみ応答が返ってこないことになります。
・何か、上記の通信処理で対応策等ありますでしょうか?
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。