iPhoneプロジェクト『お散歩ミッション その8』 iPhoneでサーバーアクセス
お久しぶりです。スタッフの川上です。
もっとマメに更新しなくっちゃね。反省してます。m(_ _)m
前回、テスト用ローカルサーバーを立ち上げてテストDBを作って
とりあえず、PC でアクセス出来るとこまでしました。
これを、iPhoneから呼び出して、データ取得してみましょうってことで、「お散歩」アプリのトップメニューにテスト用メニューを追加してWabViewを設置しました。
この辺の記事を参照にボタンとWabViewを載っけた新規ViewContlloerを関連付けて遷移させてみましょう。
WabViewに適当な ヤホーでも設定して表示させましょう。。。出ませんね。
そっ。ATSです。これをOFFにせねば表示しません。
info.plistに下記を追加すると、OFFに出来ます。<<・・・テスト仕様ですよ〜
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
設定後、再try。 出ました。出ました。。
ここで、母艦のローカルサーバーにアクセスして、MySqlのデータを引張ってこれるようapachとmysqlを起動しておきます。
iMac側(host server側)
$ sudo apachectl start
$ mysql.server start
で、URLに http://hogehoge.local/dbtest.php を設定して、表示させると
DB登録データが出ます。
xode7からは、実機テストがタダで出来るようになりました。
実機テストでする時は、自宅のWiFiでローカルネットに繋ぐこと忘れずにネ。
このWabViewの表示データをNSMutableStringに落として利用するのです。
DLしたデータはリスト作成やMapViewに使ってあれやこれやに利用するのです。
以下でLOGに表示できました。
var targetURL = “http://hogehoge.local/dbtest.php”
let url = NSURL(string: targetURL)
let req = NSURLRequest(URL: url!)
webVw.loadRequest(req)
let request = NSURLRequest(URL: url!,
cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 10.0)
var htmlString:NSMutableString?;
do {
let data = try NSURLConnection.sendSynchronousRequest(request, returningResponse:nil)
htmlString = NSMutableString(data:data,encoding:NSUTF8StringEncoding)
} catch{
print(“error”)
}
print(htmlString);
//hogehoge.localは、自宅のローカルサーバーの名前です。
( 「設定」ー「共有」に表示されている名前です)
で、データが取れてます。
サーバーのDBからデータを持ってこれたら、後は、楽勝かもね。