やりたいこと
- iPadアプリ作ります
- WiFi接続でとある機器(仮にWebカメラとする)と接続
- 奴はアクセスポイント(ルーター機能なし)としてアドホック接続を要求してくる
- iPadに固定IPと指定のSSID付けて奴の子機として繋いでやると画像・動画を取得できるのでこれをアプリに表示
- 保存した静止画をサーバにアップロードする必要がある(奴のネットワークのせいでネットに出られないんだけども。。。)
- なんと奴らは複数存在していちいち繋ぎ換えて動画取得せねばならない(さらに別ネットワーク)
このなんとも”とほほ”な環境で果たしてアプリ開発は完了するのか?
調査項目・メモ
- 3G+iPadだとWiFiと3Gネット接続同時にいけるの?(動作検証する)
- 無線LANルーターの簡単接続アプリみると、どうやらプロファイルを書き換えてやれば、いろいろなWiFi環境を即時切り替えられそう(構成プロファイル「Wi-Fi」ペイロード)
- でも「構成を変更しますか?」みたいなメッセージがいちいち出てしまうからユーザ面喰らうかも
- WiFIのSSIDスキャニングする実装方法ないの?
- アプリから直接WiFi設定変更できないの?
この投稿は?
現在進行形PJのものです。解決編まで書ける保証はありません。タイトルの意図はiOSに関してググってもあまり有効なネットワークプログラミングねたが見つからなかったので助けて欲しくてつけました。Objective-CだからC言語のネットワークプログラミング使って何でも出来るよーみたいな回答は厳しいなと。あの時代に戻りたくないので(一応私もそこからスタートしてます。ピアソンエデュケーションのUNIXネットワークプログラミングは手放せなかった10年前。。。)用意されたライブラリ使わないでいろいろやるとアプリ審査も怪しくなるみたいですね。
分かったことから更新予定です。もちろんコメント・アドバイス大募集です
2014.07.16 追記
3G+WiFi同時接続ってアプリが変われば出来るみたいですけど、1アプリ内でプログラムから使い分けるなんて出来るのか?手元に3G端末ないので検証出来ないのですが、Noインターネッツなアドホックに繋いだ状態でWebサービスにPOSTするプログラムが動けばいいのかも
何も有用なネタ提供できないのもストックしてくれた方に申し訳ないので、本流から逸れますが今日ハマった小ネタを
- Supporting Files配下に追加したローカルリソース内のJSを書き換えたのに反映されない現象
何てことはない、書き換えたらいきなり「Run」しないで「Build」するか「Clean」してから「Run」しないと反映されないみたいですね
※ UIWebViewにローカルHTMLはめ込んでてデバッグに苦戦しました。。。XCode使いの常識なのかもしれませんが知らなかったし、こういうのでいつもIDE使った開発が嫌いになる
2014.07.30 追記
ネットワークに問題を抱える当アプリなので、ローカルHTMLをUIWebViewで表示して出来るだけネット接続しないスタンドアロンな処理が必要になりました。
ローカルHTMLをUIWebViewで表示する方法はいくらでもあるのですが、じゃあローカルDB(SQLite)のデータバインドしてHTML作成する方法ないの?と思って調べても出てこない。。。どなたかERBみたいに簡単にデータバインド出来る方法教えて下さい。
SQLite -> Model(FMDB) -> ControllerでごりごりHTML文字列作成。stringByEvaluatingJavaScriptFromStringでUIWebViewのDOMを変更と力技で動きましたがカコワルイ