Swift x Rubyというテーマで開発内容を随時掲載していきます!

第一回目の今回は、LinuxサーバとiOS端末でHTTP通信を行ってみます。

 

私の環境は以下のとおりです。

Linux Server: Raspberry Pi 2

OS: RASPBIAN JESSIE LITE

iOS Device: iPhone6

iOS version: 9.2.1(13D15)

Xcode version: 7.1.1(7B1005) *最新のデバッグ関連ファイルを追加しています。

 

今回はiOS端末向けアプリをSwiftで開発していきますが、Objective-Cでも文法以外は同じように使えると思われます。

タイトルに”Swift x Ruby”と書いていますが、今回はPHPで接続を確認するところまでです。

なぜそうなったのかは、読み進めればわかるはずです(^_^;)


 

STEP 1:

Rubyをインストールしましょう。

以下のページを参考にさせていただきました。

rbenv を使って ruby をインストールする(CentOS編)

 

yumをapt-getと読み替えてくださいね。

オプションとかも、臨機応変に対応してください。

 

エラー

The Ruby openssl extension was not compiled.
The Ruby readline extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running apt-get install -y libssl-dev libreadline-dev to fetch missing dependencies.

非常に丁寧なエラーですね。

4行目に答えが書かれています。


 

STEP 2:

PHPはそれなりに触ったことがあるのですが、Rubyに関しては文法を勉強しただけだったので今回はPHPで許してください。

おそらく、Railsを導入する必要があるんです。

そして、paramsを使うんだと思います(次回)。

 

今回は、動作テストということで、慣れているPHPを使わせていただきます。

PHPはWordPressをインストールした時に導入したので私はインストール作業をしませんでしたが、インストールしていない人はapt-getで導入してください。

その後、好きなディレクトリにPHPファイルを作成してください。

公開サーバの場合はセキュリティなどを考慮する必要がありますが、今回はローカル環境なので手抜きです。

私は以下のように配置しました。

sudo vi  /var/www/html/RaspberryOne.php

PHPのコードは以下のとおりです。

このコードの意味に関しては公式リファレンスでご確認ください。

ここで、PCかスマホのブラウザからアクセスして動作確認をしておくと良いでしょう。

http://192.168.2.22/RaspberryOne.php?title=あーちゃんへ&note=大好きです

※IPアドレスは環境に合わせたものを使用してください。


 

STEP 3:

iOS端末向けアプリの開発を行います。

まず、iOS9以降のセキュリティ強化によって、http://を拒否されます。

Info.plistの項目に、以下を追加してください。

※IPアドレスは環境に合わせたものを使用してください。

 

次に、以下のようにデザインを作成しました。

ただし、入力欄・送信ボタン・結果出力欄があればどんなデザインでも構いません。

ios_Storyboard

 

また、対応するSwiftファイルには以下のプログラムを記述します。

UITextFieldは、何も処理を行わないとキーボードが閉じてくれないので多少工夫をしています。

Swiftはよく仕様変更があるので、バージョンに合わせて臨機応変に修正を施す必要があるかもしれません。

※IPアドレスは環境に合わせたものを使用してください。


実行結果:

やはり、サーバと連携すると夢が広がりますね!

今回は以上です!!

IMG_1123 IMG_1124

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*