ほっこりメモランダム

日々のちょっとしたほっこりをつづれたらいいかな。

4日目:初めてプログラムをiPhone実機に転送!

実際に学習を始めてから、あっという間に4日目になってしまいました。

日々の記録にしていくはずが、全く遅れてしまっているので、これではまずいということで、いきなり4日目までの記録を駆け足で書いておこうと思います。

iPhoneのアプリを勉強すると決めたその後、いくつかの候補の中から一冊テキストを選び、それを一冊やり通そうと決めました。

早速、Appleの用意している開発環境XCodeMacにダウンロードし、テキストにそってプログラムを書く、というか、写して(笑)、シュミレーターで確認、ということで、色々トラブルもあったが、昨日までに4つのプログラムを曲がりなりにも動かすに至りました。

テキストは「たった2日でマスターする」というタイトルで全部で6つのプログラムが含まれているもの。毎日フルに一日使えるわけではないけれども、とりあえず昨日までで1日目を大方終了しました。

今日、4日目は、テキストの後半、2日目のプログラムに着手。

5つ目のプログラムのお題は「タイマー」。

画面ナビゲーション(遷移)と、画面間で変数の引き継ぎ、それと画面の部品(ボタンや背景)の色の設定あたりがメインの内容。この辺りは、大分昔だがMS-ACCESSのマクロをいじった時と感覚的には似たものがある気がして、割とスムーズに入っていける感じ。トータル2時間ちょっとでクリア。

さて、6つ目。ここからが難題だった。お題は「カメラ」。何ステップかになっていて、まずはiPhoneのカメラ機能を呼び出して、撮った写真のデータをアプリの画面に出すというのが最初の課題。

このあたりから、初期のPC(8ビットか16ビット(^ ^; )のプログラミング経験がほとんどの私には馴染みのない「クラス」「メソッド」「プロトコル」だのという概念を、どうしても通らざるを得なくなるが、正直に言ってこの章から急に文章の難易度が跳ね上がり、とてもすんなりとは理解できず、むしろ珍紛漢紛に近い(汗)。これ、一応初心者向けの書籍だよねえ。。。と思いつつ、かなり苦しい。

ともかく、プログラムを「うつす」ことに専念することにして手を動かしますが、コードの長さも大分長くなって、いくら開発環境のアシストがあっても、細かなミスでエラー表示が多発。目を皿のようにしてテキストと比較すること1時間以上、かなりのミスを修正しエラー表示も減ってきた。

テキストが「全部入れたら コマンド+Bでエラー表示が消えるのを確認せよ」というので、そろそろ大丈夫かと思ってするも、ビルドが失敗、と出る。エラーメッセージは「UIViewControllerRepresentableのお作法に合致していないからダメ」という意味のものだけが、最後まで消えない。

もう一度見直すが、どこがおかしいのかわからない。テキストでは全体が比較しにくかったので、ダウンロードしてあったサンプルコードを開いて、ウィンドウを並べて比較。それでもわからない。。。何が違うんだあ??

さらに小一時間格闘するが、どうにも間違いがわからず断念。ただ、おそらくはテキストでも、上記のプロトコルに必須だと書いてある2つのメソッド(makeUIViewController, updateUIViewController)あたりがクサいと思って、ダメもとでこの部分だけ自分の打ち込んだコードを全てコメントアウトして、サンプルコードからコピーしてみた。

そうしたら。。。ビルド成功!

やっぱりここだったか、と思いつつ、コメントアウトした自分のを再度見てもやはりわからなかった。摩訶不思議。

このプログラムは、カメラにアクセスしないと行けないので、これまではシミュレータだけで確認してきたが、今回はいよいよ実機にて確認ということで、プログラムを自分のiPhoneに転送!いくらサンプル通りであるとはいえ、自身で打ち込んだプログラムが実機で動くかどうか、素直にワクワクするものですな。

ということで、ここまで4時間近くかかったかな。まだまだ理解が追いついていないが、続きは明日ということで。

おやすみなさい。