頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


iOSアプリとMacのPythonでデータのやり取りをしたい

Networking Tutorial for iOS: How To Create A Socket Based iPhone App and Server
↑iOSアプリとMacのPythonでデータのやり取りをしたくて見つけたちょっと古いチュートリアル。これをやってみた時のメモ。

Downloads – Twisted
↑Twistedなるものを使う。公式ページにあるように pip install Twistedでインストール。
さらにエラー出たので pip install service_identity もした。

実行するにはsudoしないとダメらしい。sudo python ファイル名.py で。(Xcodeからsudoでできないのかな?)

osx - Python twisted reactor - address already in use - Stack Overflow
↑このエラーが出たので sudo apachectl stop したら a client connected が表示されるとこまではいけた。

ところが iam:hoge とかやっても data.split(':') のところでエラーが出る。
どうやらチュートリアルのPythonは2系らしく俺のが3.5なので、この辺りが原因とか?
def dataReceived(self, data):
decodeData = data.decode('utf-8')

def message(self, message):
message = message+ '\n'
encodeMessage = message.encode('utf-8')
みたいに2箇所ほど変更すればいけた。

この時点でターミナルのウインドウをいくつか開いてtelnetでつないだり、iOSシミュレータからつないだりはうまくいった。
iPhone実機でつなぐには接続先をMacのIPアドレス(Macのシステム環境設定 / ネットワークに書いてる)に指定する。
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"192.168.xx.xx”, 80, &readStream, &writeStream);
てな感じ。


PS 相変わらずターミナルでPythonのプログラムの終わり方がよくわからん。control + z した後に
sudo lsof -i TCP:80 | grep LISTEN
してプロセスをkillしてる。めんどくさいにもほどがある。どうすればいいんだろ?

<< 音で操作するiPhone用VRアプリをリリース  TopPage  App内課金のあるアプリの申請 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1047-5e16e655




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.