• ベストアンサー

objective-cからのDB接続

iPhoneアプリを開発しています。 objective-cからデータベースに接続し、 データを取得・更新を行いたいのですが、 可能なのでしょうjか? できるのであれば、どのようにすればできるか、教えてください。 データベースはサーバ上にFilemakerで作成されています。 objective-cからは無理であれば、サーバにPHPファイルを書いておいて、 PHPにアクセスして、データベースへのアクセスでもOKです。 objective-cからのPHP実行に関しても、ご存じの方、教えてください。 宜しくお願いします。。

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

こんにちは。 たとえば、MySQLならPHPのWebAPIが用意されているので、iOS(Objective-C)からMySQLのDBを利用する事例は捜せばいくらでもあります。 MySQLにはC言語用のlibMySQLライブラリもありますが、WebAPIはHTTPなので、このほうが作りやすいと思います。 Filemaker社がPHP用のWebAPIを公開しているなら、MySQLの事例を参考にして開発されるといいです。 PHP用のWebAPIがあるとして、 サーバ側(Filemaker, ApacheとPHP)には、DB接続用、情報登録、更新、取得、一覧取得、削除処理のPHPスクリプトがたぶん必要でしょう。 iOS側では、HTTP非同期通信処理が必要なので、NSURL, NSURLRequest, NSURLConnectionクラスを組み合わせて開発することになります。 主な処理はそれらのクラスのデリゲートの中に記述することになると思います。 iOS側からサーバへの情報送信には、HTTPのPOSTまたはGETメソッドを利用することになります。 GETメソッドの場合はURLにURLパラメータを記述して、情報をiOSからサーバーに渡すことになります。 こんな感じで( http://サーバー名/phpスクリプト名?パラメータ1=値?パラメータ2=値....) POSTメソッドを使うならNSMutableURLRequestクラスで、URLに含めずに情報を渡すことになります。 サーバからの受信は、データを受信するごとにNSURLConnectionのデリゲートが呼ばれるので、その中で処理することになります。 受信データは、サイズが小さければバッファにすべて保存できますし、大きければ、逐一ファイルに書き込む処理が必要です。 受信データの形式は、FTPのようにビットストリームかXMLやJSON、独自フォーマットなど考えられますが、それぞれに応じたフレームワークやパースの仕組みが必要になります。

gawacchi
質問者

お礼

詳しいご回答ありがとうございます!! >Filemaker社がPHP用のWebAPIを公開しているなら、MySQLの事例を参 >考にして開発されるといいです。 Filemaker社からPHPのAPIは公開されているようでしたので、 こちらを使用させて頂きたいと思います。 http://codezine.jp/article/detail/5035 >iOS側では、HTTP非同期通信処理が必要なので、NSURL, >NSURLRequest,NSURLConnectionクラスを組み合わせて開発 >することになります。 >主な処理はそれらのクラスのデリゲートの中に記述することになる >と思います。 > >iOS側からサーバへの情報送信には、HTTPのPOSTまたはGETメソッドを利 >用することになります。 > >GETメソッドの場合はURLにURLパラメータを記述して、情報をiOSからサー >バーに渡すことになります。 >こんな感じで( http://サーバー名/phpスクリプト名?パラメータ1=値?パラメー >タ2=値....) > >POSTメソッドを使うならNSMutableURLRequestクラスで、URLに含めずに情 >報を渡すことになります。 > なるほど、iOSでのそのあたりの処理はやったこと無いので、 参考させて頂いて、一度こちらで勉強してみます。 また、iOSでの処理でわからないことがあれば、こちらで質問させて頂きます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A