1年半ほどコツコツと書きためてきた iOS アプリ開発 / Objective-C 関連の Tips をカテゴリ別にまとめてみました。
数が多いので、オススメのものを太字にしてあります。
(更新情報 2012.8.11)ちゃんと数えてみたら88個しかなかったので、20個ほど追加しました。
(追記 2013.10.1) 本記事をきっかけに秀和システム社よりお声がけいただき、書籍を執筆 させていただきました。iOS開発に役立つTips集です。ぜひ下記ページより 目次を見ていただき、興味のある項目がありそうであれば ご購入いただけるととても嬉しいです。
『iOSアプリ開発 達人のレシピ100』という本を書きました
##ライブラリ/フレームワーク
-
ゲームアプリ向け UI コンポーネントセット "UIKitForGame"
ゲームアプリをつくる際に便利な UIKit のカテゴリ/サブクラスの詰め合わせライブラリ
-
iOS 5 から追加された高速画像処理ライブラリ、vImage の紹介と、サンプルコードの解説
-
アプリのメモリ使用量をリアルタイムに表示するクラスを公開しました
メモリ消費量やUIViewの数など、「負荷を示すパラメータ」をリアルタイム表示するライブラリ
-
NSUserDefaults に保存する際に自動的に iCloud にも保存してくれるライブラリ "MKiCloudSync"
-
iOS SDK用音声認識機能ライブラリVocalKitの使い方
iPhone SDKで利用できる音声認識ライブラリ
-
実装の面倒な部分をうまくラップしてくれている便利カテゴリ3選
UIImageに各種画像処理機能を持たせるNYXImagesKit
面倒なデリゲート処理を Blocks で記述できるカテゴリ
英単語の単数形/複数形変換をメソッド1つで行えるようにするNSStringのカテゴリ -
グラデーション描画や色のアニメーションの実装を簡単にする色処理関連の便利OSS3選
グラデーション描画のヘルパークラスLBGradient
2つのUIColorの間でクロスフェードさせるUIColorのカテゴリ
色の重ね合わせやCSSカラー名での色の指定ができるようになるUIColorのカテゴリ -
Path や Facebook ライクなスライドメニューを実現するライブラリ "IIViewDeckController"
##SNS連携
##デバッグ関連
-
クラス名、メソッド名、コード内の何行目か、を出力するマクロ
-
TestFlight SDK のように、クラッシュイベントを受け取って Stack Trace をレポートするしくみの実装方法
-
バッテリー消費量の計測方法など、iOSのデバッグに関するドキュメント
iOS Debugging Magic を読んで勉強になったことのメモ。
-
アップロード時に An error occurred uploading to the iTunes Store エラーが出た場合の対処方法
##XCode
-
プロジェクト全体でARCを有効にした状態で、一部ファイルを「まとめて」無効にする方法など。
##UI関連
-
「リファクタリング講座」で勉強になったことのメモ。breakpointの右クリックエディットの話、xibファイルの話、クラスエクステンション、LLVMなどなど
-
スクリーンショットをとって UIImage で返してくれるメソッド
-
ジャンプに見立て、始点(startPos)と終点(targetPos)と高さ(height)を指定するように CAKeyframeAnimation をラップしたスニペット
-
UIFont の fontWithName:size: メソッドに渡す fontName の一覧。
##Foundation
-
開発時の動作確認用リセット(初期化)ボタン等に
##アプリ内課金 / 広告
##位置情報関連
-
すれ違い通信アプリ『EncountMe』の開発を通して得たiPhoneのBluetoothまわりの諸々について
##Unity / cocos2d / Titanium
-
iOS SDK の UIKit に用意されているような UI を Unity で実装できるプラグイン
##その他
-
__has_feature(objc_arc)で処理を書き分けるのが面倒な場合に便利なマクロ
-
iOS Advent Calender 2011 で勉強になったことメモ
CocoaPods の話、Cocoa Controls の話、DTrace でのデバッグの話、appCode という IDE の話、、などなど
-
NSNotification, NSNotificationCenter によるオブジェクト間通知のパフォーマンス
NSNotification, NSNotificationCenter を用いたオブジェクト間連携は使いやすいのでついつい多用してしまうのですが、具体的に内部でどのような処理が行われていて、パフォーマンス面での影響はどのくらいなんだろう、ということをイメージできずにいたので、Appleのドキュメントで調べてみました
-
アップルの『iOSアプリケーションプログラミングガイド(英語版)』にある、『パフォーマンスと応答性のチューニング』という章のためになった部分の紹介
-
エクセルとかGoogle docsで編集されたデータをplistファイルとしてアプリに持たせたい、といった場合用の、csvファイルからplistファイルへの変換スクリプト
-
プッシュ通知を実装するときに、「バックグラウンドで通知受けたときはapplication:didFinishLaunchingWithOptions:とapplication:didReceiveRemoteNotification:、どっちが呼ばれるんだっけ?」とかなんだかいつも自信なくなってきてドキュメントを見返したりしてしまうので、ドキュメントと、実際の動作を確認した内容をまとめました。
-
プロセス情報を取得する
NSProcessInfo というクラスを使ってプロセス情報をいろいろと取得する方法 -
iOSアップデート中に"This device isn't eligible for the requested build"エラーが出る場合の対処