みなさん、はじめまして!
社内システムの開発、保守を担当している工藤といいます。
(ちなみに、他社の生産管理システムの開発もやってたりします。)
今回は、そんな自分のドタバタ奮闘記を書かせてもらいます。
時は去年、新しもの好きな社長から
「自社の受付業務にiPhoneを使ったシステムを開発してみないか?」
という提案を受けました。
弊社の作業指示票には、塗装する対象となる製缶品のスケッチを書いたり、
または写真を印刷したりしてたのでiPhoneで写真をとり、それをシステムに
取り込んで作業指示票に印字できるシステムができるんじゃないかという安
易な、いやもとい革新的な発想でした。(^▽^;)
しかし、私はiPhoneを使ったことすらなく、いったいどうやってプログラム
を作るのか(・_・?)
とりあえず、Google先生に教えてもらおうということで、「iPhone プログラム開発」
等のキーワードで検索すると、
以下のことが判明φ(._.)メモメモ
①開発言語は Objective-C というオブジェクト指向言語を使うということ
②開発ツールは、Apple社のサイトから無償でダウンロードできること
③プログラム開発にはMacが必要なこと
えーとMac?(~ヘ~;)ウーン うちの会社にはMacなんてないぞ、買ったらいくら
くらいになるのか?
これも調べてみるとApple社のサイトでMac miniというのが6万くらいで売ってる。
どうもシステム開発で使うには、メモリの増設が必要で結局8万くらいになるようだ。
これを社長に話して、「社長、8万くらい投資しないとプログラム開発できませんよー
( ̄∇ ̄)」と嬉々として言うと、
社長が「じゃあ、買おう(^▽^)/」 (え、まじでー!)ということになり、
ここから私の苦難の道が始まりました。(T△T)
まずは、開発するために必要なものを揃えようということで、Macの手配とプログラム
開発の本をamazonで探すことにし、amazonのカスタマーレビューを読んで以下の本
を選択
そしてMacも到着( ̄□ ̄;)!!
ち、小さい!
お約束のタバコと一緒に写真にとりました。ヽ(=´▽`=)ノ
ディスプレイは、会社で余っていたDELL製のものを使うことにして、
あれ?(; ̄Д ̄)差し込み口が合わない!
どうやらアダプタを使わないとDELL製のディスプレイは、Macに繋がらない
ようだ。
急遽、会社の近くのPCデポにいき以下のアダプタを購入、
そして
Mac電源を入れると見事、システムが立ち上がりディスプレイにデスクトップ画面
が表示されました。w( ̄▽ ̄;)wワオッ!!
って、こんなことで喜ぶなとヾ(--;)
そして、iPhone開発ツールであるiPhone SDKをダウンロードしようとすると、
どうやらApple Developer というサイトに登録しApple IDを作成する必要
があることが判明。早速これに登録してiPhone SDKをダウンロードし、これを
インストールした。
まあ、やっとここでプログラム開発のスタートラインに立ったわけだ。通常なら
ここでシステムの仕様を決めて、設計を始めるところだけども、そもそもiPhone
で何ができるのか?または何ができないのか?が不明の状態であり、まずは
このへんを勉強しながら調査し、あとでシステムの仕様を考えるということにした。
(まあ、システムの要件はiPhoneで受付業務したいというだけだから、システムの
仕様はどうだっていいわけだ ヾ(・・;)ォィォィ)
会社で使用している業務システムは、サーバにDBを配置したクライアントサーバ
システムとなっている。(ちなみにDBはORACLE11gを使用している)となると、
iPhoneからこのDBにアクセスできないと話にならない。いろいろ調査するとどうやら
iPhoneから直接DBにアクセスする手段はないみたいだ。(-_-;ウーン
iPhoneはsafariというWebブラウザが標準で搭載されているので、Webプログラムにして
DBにアクセスするしか手がないようだ、がiPhoneのsafariにはファイルを転送する機能
がないことが判明(PC版のsafariには当然この機能はある)、でiPhoneでとった写真を
サーバには送れない(ノ△・。)
うーん、行き詰ったε-( ̄ヘ ̄)┌ ダミダコリャ…
こまったときのGoogle先生 (」°ロ°)」オーイ!!
どうやら、iPhoneで使えるライブラリにWebブラウザ機能を実現できるものがあり、これを
使用するとファイルの送受信が行えるらしい。ということで、この機能を使ったサンプルが
掲載されているという以下の本をamazonから購入。
(さっきから、いろいろ購入しているが会社の金なのでモウマンタイ( ̄ー ̄)ニヤリッ)
早速、本を読んでみると( ̄□ ̄;)!!わからん!
まあ、iPhone SDKの使い方も、Objective-Cも知らんのだから
当たり前か (*⌒∇⌒*)テヘ♪
ということで、買っておいた「iPhone SDKの教科書」を読み、iPhone SDKの使い方と
Objective-Cを勉強することとした。
この本は、例題とそのサンプルコードが載っているので、これをシコシコ コーディングし
Mac上のiPhone シミュレータ上で動かすことができる。
最初にObjective-C言語の説明のくだりをさらっと読み、それからスマッシュという
簡単なゲームを見よう見真似で(というか、コードがそのまま掲載されているのでこれを打ち込んだ
だけ)ヽ(*^^*)ノ作成し、動かすことにした。
このゲームは、画面上にUFOが現れ、このUFOを指でタッチすると撃墜できるという画期的なゲーム
である。ヾ(・・;)ォィォィ
ちなみに、このUFOは不規則な動きをするので、結構難しい。
で、プログラムは掲載されているのでそのまま打ち込めばよいが、このUFOの画像は自分で用意する
必要があった。
自分で作成するのも面倒なので、ネットで検索して見つけることにしたが、なんかいいのがない。
すると、たまたま目についた画像があったのでこれを採用することとした。

(* ̄ ̄ ̄ ̄ー ̄ ̄ ̄ ̄)フッ
そう言えば、UFOのコマーシャルにデーブスペクターがケトラーって役で
出てたよねヽ(=´▽`=)ノ
などといろいろ遊んでいると、もとい、勉強していると、この本に写真のアルバムをコントロールする
プログラムサンプルが掲載されていることを発見。この機能とWebブラウザを実現する機能を組み
合わせれば、写真をサーバに送る機能が作れるのではないかと。
d(`・ω´・+)ャッタネ+.☆゚+.☆゚
しかし、そのためにはプログラムの仕組みをきっちり理解する必要があり、(まあ、改造するのだから
当然だけど)まだまだ、道のりは長いと感じるしだいでありました。(〃´o`)=3 フゥ
(ここでシコシコ勉強中)
そうこうするうちに、システムの仕様をどうするか検討することにし、いろいろと考えてみた。
製缶品は図番と品番で管理されているので、会社の業務システムでは、写真のファイル名を図番_品番
という形にしてデータと写真をリンクさせていた。図番、品番を入力して写真をサーバに送れればよいと
いうことなのだが、これを一々手入力するのはめんどくさいし(特にiPhoneでの入力はキーボードからの
入力に比較して千倍めんどくさい)、入力ミスもかなりの確率で発生するだろう。
となると、あらかじめ、この図番、品番をiPhoneの画面に表示し、これを選択して写真にこの図番、品番
情報を付与するというやり方が一番無難かなと。 (゚ー゚)(。_。)ウンウン
それで、サーバ側に受注データを検索する機能をもったWebプログラムを作成し、ここで一覧表示させた
データから図番、品番を選択させることとした。
とりあえず、以前購入した以下の本を参考にして、サーバ側にPHPでプログラムを作成し、iPhoneで表示
できるようにした。

ここまでくると、あとはiPhoneのWebブラウザ上に表示された図番、品番をタッチしたらそれをプログラム
で取得し、写真に付与してサーバに送るという処理でOKだ。
なんだかんだで(←適当すぎる)、プログラムは完成し、Mac上でのシミュレータ上で正しく動作するように
なった。
あとは、このプログラムを実機(iPhone)に載せればいいだけだ!と思ったのもつかの間、さらに、この後
苦難の道がつづくとは、誰も思わないのであった。
(もしかしたら 続くかも (o ̄ー ̄o) ムフフ)