iOS Advent Calender 2011 で勉強になったことメモ
昨年末にiOS Advent Calender 2011というイベントがあったらしく、遅ればせながらチェックしてみたところいろいろと知らなかったこと、勉強になったことがあったので、以下にメモしておきます。
CocoaPods に対応していないライブラリを集めた自分用リポジトリを作る方法
http://akisute.com/2011/12/cocoapods.html
CocoaPodsというのは、
このCocoaPodsを使うと今まで大変面倒くさかったライブラリの管理が嘘のように簡単になります。たとえば、新しいプロジェクトを始めるときに、
- 通信したいからASIHTTPRequestを使おう
- APIのレスポンスがJSONだからJSONKitも必要だな
- DBにはCore Dataを採用したいから、MagicalRecordも欲しいな
- Blocksバリバリ使うからBlocksKitは常識だよね
と思ったら、さくっと以下のような設定ファイル(Podfile, mavenで言うところのpom.xml)を書いてやれば、あとはCocoaPodsが指定されたライブラリを取ってきてビルド設定までやってくれるわけです。
というものらしいです。
でもまだまだ発展途上らしく
- つい最近できたばかりのツールなので、対応しているライブラリが少ない
とのこと。
ライブラリ対応状況は下記をみればよさそうです。
https://github.com/CocoaPods/Specs
CocoaPods自体は使用しないとしても、Cocoa開発者が使用しているメジャーなライブラリ一覧としてひとつの参考になりそう。
そのUI, まずはCocoa Controlsで探してみよう
http://d.hatena.ne.jp/ntaku/20111209/1323408037
Cocoa ControlsはiOSやMax OS X開発者が開発したUIコンポーネントが大量に登録されているありがたいサイトです。現在、iOS用のコンポーネントが330弱、Mac OS X用が50弱登録されています。
あとで見る。
お客様の中に名探偵はいらっしゃいませんか?
http://watermint.org/2011/12/10/1501.html
DTraceでのデバッグの話。
- 初期化処理がどうやらうまくいっていないようだが、どこまで実行されたか知りたい。しかし、Xcodeのデバッガでステップ実行・ブレークポイント設定などしながら確認するにはプログラムが大きすぎる。
- NSLogを埋め込んでどこまで実行されたか確認したいが、そもそもログを埋め込むのが面倒くさい。または、ソースコードをNSLogだらけにして汚したくない。
こういうときに活躍するようです。
その名の通り、プログラムの実行状況をtraceするしくみ。
手順をざくっと書くと
- シミュレータでアプリを実行
- ターミナルからシミュレータで実行されているアプリのプロセスIDを指定してdtraceを実行
これだけでObjective-Cで実行された関数がリアルタイムに出力されます。
で、さらにありがたいことに、スクリプトを書いて引数に指定して実行することで、関数呼び出しをダンプしたりもできるようです。
XCodeからappCodeへ乗り換える8つの理由
http://d.hatena.ne.jp/happy_ryo/20111211
appCodeというIDEの話。
個人的にはXcodeのコード補完には満足してたのですが、こういうのもあるのかー、ってことでメモ。
facebookライクなスライドメニュー
http://blog.livedoor.jp/inonb/archives/1543275.html
UINavigationController を使ったカスタムUIの作り方の参考として。
10分でわかるGoogle Analytics SDK for iOS
http://d.hatena.ne.jp/murapong/20111220/1324379177
Webと違いiOSアプリはオフライン時にも利用されます。オフライン時のデータは一旦端末に記録されて、オンラインでデータ送信可能なタイミングでまとめて送信されます。
以下のサイトを参考にし、マクロを定義しておくと便利です。
http://d.hatena.ne.jp/ninjinkun/20110115/1295074900
http://wp.serpere.info/archives/2308
iOS向けのオープンソースをまとめたサイトを作りました
http://yomoapp.tumblr.com/post/14552666148/ios
lambというiOS向けのオープンソースプロジェクトを集めたサイトを作りましたというお話。
http://lamb-inside.appspot.com/
UIのスクリーンショットが入り口になっていて、とても良さげです。