iOSアプリ"1,2,3,4"をリリースしました!
"1,2,3,4"という一風変わった名前ですが、iOSアプリを個人として初めてリリースしました!
https://itunes.apple.com/us/app/1-2-3-4/id623790896?l=ja&ls=1&mt=8
簡単にいうと「写真を4枚連写して、それを縦に4コマ漫画のように並べて1つの画像を生成する」というシンプルなカメラアプリ。どんなものができあがるかというと・・・
同僚がすぐさまオフィスで作ってくれました。感謝!!
アプリの細かな紹介だったり使い方はすぐに別のエントリーで書くとして、制作に関する話をここではまとめておきたいと思います。
カメラ撮影のビューをカスタマイズする
上画像のようにカメラ撮影のビュー(わかりづらいですが確かにカメラを撮影しようとしているところです)を独自にカスタマイズする方法については色々なサイトをみましたが、サンプルがappleのドキュメントに載っているのでそちらを参考にしました。
http://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html
大きな画像を扱ううえでの注意
カメラで撮影した画像についてあまり自分は意識していなかったのですが「2448*3264ピクセル(iPhone 4Sで撮影)」とかなり大きめです。それを4枚も扱うアプリということもあって、あるときメモリリークが発生しました。
原因はCGImageRefの解放漏れ。ARCを有効にしていても、これは自分の手で解放してあげないといけないようですね(下コードは撮影した画像を正方形にトリミングしているところの処理)。
CGImageRef imgRef = CGImageCreateWithImageInRect(image.CGImage,rect); UIImage *clipedImage = [UIImage imageWithCGImage:imgRef scale:1.0f orientation:UIImageOrientationRight]; //ここの解放を忘れないこと! CGImageRelease(imgRef);
GPUImageによるフィルター
カメラアプリということもあって、はじめてフィルター機能も入れました。
下の記事を参考に"GPUImage"というライブラリを利用しました。
GPUImageで高速フィルター!iOSカメラアプリの作り方(1) ~ fantagramができるまで ~
どんな調整ができるのかなどは直接githubにいって確認しました。
https://github.com/BradLarson/GPUImage
・・・と、制作に関しての大きなポイントは以上です。
他には、偉そうにUIとかの記事も書いたりしてきたくせにいざ自分が制作してみると改めて難しいなと思ったり、申請の手順をはじめて経験できて(業務時は別の同僚が対応したため)良かったなど、色々とありますが、とりあえずリリースできて良かったです。
よければDLしていただけると嬉しいです。