僕が初めて作ったアプリがフォトビューアのアプリでした。
そして、2番目に作ったアプリが、最初のアプリを改良して作った電子書籍ビューアのアプリでした。
これを作成する際に、どうしてもUIScrollViewにダブルタップによる拡大・縮小機能を実装する事ができず(元々、UIScrollViewにはダブルタップによるズームイン・アウトが実装されていない。)途方に暮れそうになっていました。
そんな時に発見したのがthree20というiPhone向けオープンソースライブラリでした。
この中にある「Phot Thumbnails」がWeb上の画像をiPhoneの「Photo Albums」のように表示するという動作を再現しています。
色々と調べてみると、使用するにあたって2点大きな問題点がある事が分かりました。
1.three20のコード内にUndocumented APIを含んでいるため、そのまま使用してもAppStoreに申請の際にRejectされる。
2.このプロジェクト自体もう動いていない為、問題があった際に自力でなんとかしなければならない。(ソースが複雑すぎて超難問)(正直、これを作成された方をリスペクトしています。)
上記の問題1つ目は、該当部分がリンクに載っていたので、該当部分を修正する事によって回避できそうです。
2点目の問題に関しては、もう覚悟を決めるしかありませんでした。
と言う事で、ここから修羅の道が始まりました。
まずはgithubよりthree20をダウンロードします。
そして、自分のプロジェクト内にthree20を取り込みます。
取り込む際の手順はここがとても参考になりました。
- ソースの解析に何日もかかりました。
- よくわからないエラーが多発しました。
- 頭が痛くなりました。
- 判断のミスに気がつきました。
- もう、後には戻れないと思いました。
- 一人デスマーチが開催されました。
そして、時は流れ、ようやく完成しました。(残念ながら、ソースを公開する事ができないのですが・・・)
最終的には力ずくでねじ伏せた感じです。
その後、2週間程度の審査を経て、無事AppStoreに上がりました。(試験的に上げたため、現在は削除しています。)
振り返ってみると、iPhoneアプリ開発の初心者な僕には修羅の道でした。
ただ、この経験のおかげ?で、現在の開発は大分楽にできるようになりました。 何事も経験ですね。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。