iOS プログラミング関係資料

2009年からiPhone SDK プログラミング(後に iOS SDK となった)を始めている。 学生向けのプログラミング勉強会を行っており、その際に作成した資料なども含まれるが、多くは個人的に作成したものである。

ここには作成した資料やサンプルなどを置く。


加速度センサ関連

iPhone3GS, 4 の加速度センサの精度を計測した。主として2010年11月のKOF2010に参加するための基礎資料。そのためプロットは加速度ではなく位置情報である。(2010.6)

加速度計試験顛末
[ PDF 800KB ] [ iPhone4 でのテスト結果 PDF 260KB ]

シングルトン実験

勉強会で荻原先生が示してくださったシングルトンのアイディアを後に実装したもの。(2010.6)

SingletonSample
[ PDF 500KB ] [ ソースコードzip 600KB ]

iPadNote

「iPad でスライド教材に対してノートを取る」ためのコンセプトモデル。 インタフェイスを試すために動作するモックとして作った。(2010.8)

iPadNote : ノートを取る
[ HTML 動画他あり ] [ 2010年9月の勉強会のためにまとめた資料 PDF 1MB ]

AirPrint 関連

iOS 4.2 から Printing 機能が用意された。これに合わせて HP の ePrint 対応プリンタを導入して一連の印刷機能を試み、2011年3 月の勉強会で公開。(2011.3)

Printing iOS 4.2
AirPrint に関する作業ログを兼ねて作成した資料。 [ PDF , 3.2MB ]
printTest
上のドキュメントと連動する AirPrint の各機能をテストするための自作アプリ。 [ ソースコード zip , 600KB]

Xcode4 関連

Xcode 4 から Storyboard と Sgue 機能が用意された。これを用いて、Interface Builder でシーンを追加し、その上にキャラクター(の絵柄を乗せた ImageView)を配置するだけでコーディングなしに一場面が完成するような仕組みを試みた。2012年5 月の勉強会で公開。(2012.6)

Segue, Landscape, Touch events, Alpha and User Defined Runtime Attributes
勉強会用に作成した資料。 [ PDF , 7MB ]
Story board とSeugeによるシーンごとの移動、全画面でのタッチイベントの取得、Mathematica Alpha を使ったキャラクター移動方向を決めるアルゴリズムの検討、User Defined Runtime Attributes 機能のテストなどが含まれている。
CoverFire
上のドキュメントと連動する各種機能を用いた自作ゲームアプリ。 左のキャラクターが右端に到達するのを迎撃するキャラクターが複数右側におり、これが移動する左キャラクターめがけて近寄ってくる。叩く(タッチする)ことで少し遠くにはじき飛ばすことができる。 近寄る多くのキャラクターをバンバン叩きまくって活路を開き、右端まで到達させることができれば次のステージに進む、というもの。
screen image
(実際のアプリには公開には適さない借り物のキャラクターが用いられているため、ソースコードの公開は保留中。本来は上の画像のようなオリジナルキャラクターでやれば良いのだろうが、元々このアプリは子供からのリクエストで作った経緯がある。)

Bluetooth 関連

Bluetooth による Picker なしの制御について調べた。2011年7 月の勉強会で公開。(2011.7)

Bluetooth control without Picker
Bluetooth に関する作業ログを兼ねて作成した資料。 [ PDF , 3.2MB ]
printTest
上のドキュメントと連動する Bluetooth の機能をテストするための自作アプリ。 どのようなイベントがどのような状況で発生するのか観測するのに便利。 [ ソースコード zip , 47KB]
(Bluetooth はシミュレータでは機能しないので実験には実機インストールが必要です)
動作試験
開発当時 iOS 4 / Xcode 3 で接続試験を行ったが、せいぜい 3, 4 台まででそれ以上台数を増やすと安定的にピア検出、接続を行えなかった。2012.5 にiOS 5 / Xcode 4 で再度確認してみたが同じく台数が増えると共に動作が不安定になり、せいぜい 5 台までしかつながらなかった。
Picker を用いた Bluetooth での相互接続は iOS 3 の頃にも試したが、当時は二台の相互接続すら安定しない状態で、それに較べれば安定したと言えなくもないが、多数台連携の実利用には難しい状況である。


番外

Android によるチョロQの制御

iOS とは関係ないが、NECの EM-1 を試用する機会を得たので Android による作業を少し試した。 どうせなら iPhone ではできないことをやろう、と思いテーマをハードウェア制御とした。 ただし直接ポートを介すのは危険(作業はハードウェア経験のない学生)だろうと考えて LED と受光素子によるものとした。 (2010.7)

Android はチョロQを遠隔操作するか
大学で行っている学生向けのイベント(ランチタイムトーク)で公開した資料。 [ PDF, 12.5MB ]


Yutaka Yasuda (yasuda [ at ] ylb.jp)