<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6347132870493912656</id><updated>2012-02-12T11:56:37.577+09:00</updated><category term='日付'/><category term='ARC'/><category term='Grand Central Dispatch'/><category term='GCD'/><category term='お知らせ'/><category term='iOS Developer Library'/><category term='Xcode'/><category term='トラックパッド'/><category term='Multi Tasking'/><category term='情報'/><category term='Xcode 3.2.3'/><category term='条件見本'/><category term='画像処理'/><category term='Core Data'/><category term='github'/><category term='情報/開発/プロモーション'/><category term='iOS 3.1.3'/><category term='Cocoa Bindings'/><category term='開発ツール'/><category term='メモリ管理'/><category term='SimpleCap'/><category term='デバッグ'/><category term='OCUnit'/><category term='情報/2011-11-06'/><category term='git'/><category term='Objective-C'/><category term='Blocks'/><category term='Core Animation'/><category term='情報/開発/チュートリアル'/><category term='ios 4.3'/><category term='iOS 4.0'/><category term='AVFoundation'/><category term='ライセンス'/><category term='JSON'/><category term='Keychain Services'/><category term='情報/開発/iOS5'/><category term='情報/開発/テクニック'/><category term='iOS 3.2'/><category term='ライブラリ開発'/><category term='Howto'/><category term='モデリング'/><category term='Mac OS X 10.6'/><category term='サンプルあり'/><category term='GameKit'/><category term='情報/開発/情報サイト'/><category term='gdb'/><category term='インストール'/><category term='iCloud'/><category term='XPC'/><category term='Tips'/><category term='Code Snipet'/><category term='ファイル操作'/><category term='Tool'/><category term='テスト'/><category term='情報/開発/ライブラリ'/><category term='PKI'/><category term='iPhone'/><category term='UIKit'/><category term='Xcode 4.2'/><category term='GUI部品'/><category term='情報/2011-11-20'/><category term='iPhone シミュレータ'/><category term='Info.plist'/><category term='Bluetooth'/><category term='Core Location'/><category term='情報/開発/デバッグ'/><category term='iPad'/><category term='音'/><category term='情報/開発/ツール'/><category term='iOS 4.2'/><category term='Xcode 3.2.5'/><category term='iOS 5.0'/><category term='Mac OS X 10.7'/><category term='Interface Builder'/><category term='Core Graphics'/><category term='Xcode 4'/><category term='パターン'/><title type='text'>Cocoaの日々</title><subtitle type='html'>iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default?start-index=101&amp;max-results=100'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>339</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8409511397871130946</id><published>2012-01-05T23:45:00.000+09:00</published><updated>2012-01-05T23:49:26.297+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iOS 5.0'/><title type='text'>[iOS] iOS5 から標準で UINavigationBar に複数のボタンを配置することができるようになった</title><summary type='text'>UINavigationItem の API に iOS5 から rightBarButtonItems があることに気がついた。複数形ということは...？

早速試してみた。こうすると。
UIBarButtonItem *item1 = [[UIBarButtonItem alloc]
                              initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                              target:self
                              action:@selector(touched:)];
    
    UIBarButtonItem *item2 = [[UIBarButtonItem alloc]
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8409511397871130946/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2012/01/ios-ios5-uinavigationbar.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8409511397871130946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8409511397871130946'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2012/01/ios-ios5-uinavigationbar.html' title='[iOS] iOS5 から標準で UINavigationBar に複数のボタンを配置することができるようになった'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-WZrag3YV1Tc/TwW1unWp2xI/AAAAAAAAH50/_iRJPKdYBFo/s72-c/120105-0013.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-501878387245075806</id><published>2012-01-03T15:09:00.000+09:00</published><updated>2012-01-03T15:09:44.927+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><title type='text'>リファレンスマニュアルを mac から ios に切り替える（割とどうでもいい）Tips</title><summary type='text'>Googleで Appleのサイトのリファレンスマニュアルを検索すると iOSではなく Mac OS X の方がヒットすることがある（特にNS系クラスなど）。これを iOSに切り替えるTips。

方法は簡単で URLの mac を ios へ変えて再読込するだけ。

こうなる↓

両方のOSに存在する実装であれば、クラスリファレンスに限らず各種ガイド・マニュアル類でも同じ方法が使える。</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/501878387245075806/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2012/01/mac-ios-tips.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/501878387245075806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/501878387245075806'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2012/01/mac-ios-tips.html' title='リファレンスマニュアルを mac から ios に切り替える（割とどうでもいい）Tips'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Ai2Sn4qOcBM/TwKal1TG2pI/AAAAAAAAH0E/hpojxa_zCvk/s72-c/Untitled.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2251723006716420280</id><published>2012-01-02T23:08:00.001+09:00</published><updated>2012-01-02T23:08:28.842+09:00</updated><title type='text'>Cocoaの日々 - 2012年正月</title><summary type='text'>あけましておめでとうございます。
本年もよろしくお願いします。

毎年正月はこのブログのことについて書いています。今年も思ったことをとりとめなく書いておきます。

昨年はブログの毎日更新をやめた他、秋以降は忙しかったこともありブログの更新頻度はずいぶん下がってしまいました。今年も当面は頻度が下がると思いますが技術情報を少しでも提供して共有できればと思っています。

また昨年正月に目標としていたことはほとんど実行できませんでした。
Cocoaの日々: Cocoaの日々 - 2011年元旦
唯一できたのは「Cocoaの日々情報局」を立ち上げたくらい（RoRは使っていないが）。

その点プログラミングに関して昨年は不本意な一年でした。ただその分、子育てやハーフマラソン完走、TOEIC目標クリアなどそれなりに充実した一年だったと思います（なかなか両立は難しい...）。

さて今年は趣味の</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2251723006716420280/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2012/01/cocoa-2012.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2251723006716420280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2251723006716420280'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2012/01/cocoa-2012.html' title='Cocoaの日々 - 2012年正月'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-9145069604773433964</id><published>2011-12-02T22:29:00.001+09:00</published><updated>2011-12-03T11:37:58.002+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AVFoundation'/><title type='text'>[iOS] AVFoundation のカメラでフォーカスと露出をタッチで合わせる</title><summary type='text'>AVFoundation を使い、タッチでフォーカスと露出を決められるカスタムカメラを作る。今日の主題はタッチフォーカス＆露出なのでプレビューを表示するだけで撮影（画像の保存）は実装していない。



サンプル

まずはサンプルから。起動すると真ん中に四角が表示される。



この状態で任意の場所をタッチするとそこにフォーカスと露出が合う。



手前を合わせてみた。






実装 - プレビュー

カメラ入力をプレビュー表示する部分の説明は今回割愛する。この辺りは下記のドキュメントが詳しい。ひと通り読めば簡単に実装できる。

AV Foundation プログラミングガイド

もしくは



など。後者の本は iOS4 となっているが iOS5 でも十分に役立つ情報が掲載されている。おすすめの本。




実装 - フォーカスと露出

任意の点にフォーカスと露出をあわせるプロパティ</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/9145069604773433964/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/12/avfoundation.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/9145069604773433964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/9145069604773433964'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/12/avfoundation.html' title='[iOS] AVFoundation のカメラでフォーカスと露出をタッチで合わせる'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-6BCLS8OJs60/TtjeoUFeJMI/AAAAAAAAHEs/yHn8zN5q7bA/s72-c/111202-0013-61%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3229833903204203235</id><published>2011-11-25T20:42:00.000+09:00</published><updated>2011-11-25T20:44:08.286+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='github'/><title type='text'>github で Forkしてみる</title><summary type='text'>
github にはソースを自分用にカスタマイズできる Fork という機能があるらしい。試してみた。



最初に github に自分のアカウントでログインしておきForkしたいソースのページを開く。そして右上の "Fork" ボタンを押す。



これだけ。自分のリポジトリに Forkされたリポジトリが作成される。



一旦、Fork したものは自分ですきなようにできる。例では MTStatusBarOverlay というライブラリを Fork してみた。

このライブラリにはサンプルアプリが付いていなかったので自分で作ってみる。Forkした先ほどのリポジトリを Clone して手元の PCへ持ってくる。

（参考）

Xcode でプロジェクトを開き、新しいターゲットを追加する。





簡単な動作確認なので Single View Application を使う。



</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3229833903204203235/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/github-fork.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3229833903204203235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3229833903204203235'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/github-fork.html' title='github で Forkしてみる'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-gHHKWBH6yxY/Tstdfy8vU1I/AAAAAAAAGuc/Y7One-QAjK8/s72-c/111122-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8789181079970898213</id><published>2011-11-24T23:53:00.001+09:00</published><updated>2011-11-24T23:58:55.014+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.7'/><title type='text'>[Mac] Lion から導入された XPC Services</title><summary type='text'>Mac OS X 10.7 から XPC Services という仕組みが導入された。

リファレンスによれば XPC Services は単一のアプリケーション専用に利用できる軽量なヘルパーツール（lightweight helper tools）と定義されている。アプリのバンドル内に組み込んで実行時に利用するのでこの点を見れば通常のライブラリと似ている。ライブラリと大きく異なるのは、XPC Services はアプリとは独立して動作していて、XPC Services がクラッシュしてもアプリに影響を与えない点。XPC Services は launchd管理下にあり、起動・停止の他、クラッシュした場合の再起動まで面倒見てくれる。こう見ると XPC Services はOS上のプロセスに近い（プロセスなのかまでは調べきれなかったがプロセス間通信と説明されているのでそうなんだと思う。</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8789181079970898213/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/mac-lion-xpc-services.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8789181079970898213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8789181079970898213'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/mac-lion-xpc-services.html' title='[Mac] Lion から導入された XPC Services'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-HBvWaTHqKN8/Ts5Q_mPnWCI/AAAAAAAAGxA/KTR4D-dl6kE/s72-c/111124-0014-54%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7374574007401121957</id><published>2011-11-21T08:50:00.000+09:00</published><updated>2011-11-21T08:50:00.663+09:00</updated><title type='text'>新サイト「Cocoaの日々情報局」を開設しました</title><summary type='text'>サイトを新設しました。


Cocoaの日々情報局






最近このブログでiOSの開発情報提供を積極的にやってきましたが今後は「Cocoaの日々情報局」にその役割を移します。このブログ「Cocoaの日々」は前までのスタイル（開発日誌、検証情報や自作ライブラリの紹介など）に戻ります。

興味があれば新しいサイトをのぞいてみて下さい。
今後もよろしくお願いします。
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7374574007401121957/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/cocoa.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7374574007401121957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7374574007401121957'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/cocoa.html' title='新サイト「Cocoaの日々情報局」を開設しました'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-XmH57B1pCR4/TscJs39g-xI/AAAAAAAAGsI/9pFc-HY5GJw/s72-c/111119-0022.png-48%2525.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-634487068357977128</id><published>2011-11-19T10:28:00.000+09:00</published><updated>2011-11-19T10:28:05.252+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 5.0'/><title type='text'>[iOS] iOS5から追加された新しい通知の有無を判定する</title><summary type='text'>例えば UIKeyboardWillChangeFrameNotification の通知を受け取りたい。普通に NSNotificationCenter へ登録すればいいのだが、iOS 4 でこれを実行するとクラッシュする。


この通知は iOS5 から導入された新しいもので iOS4 に無いのが原因。この通知名は NSString* const で定義されている。
// UIWindow.h

UIKIT_EXTERN NSString *const UIKeyboardWillChangeFrameNotification
     __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);

そこでこの定数の有無をチェックしたい。調べると Appleがドキュメントを出していた。

SDK Compatibility Guide: Using</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/634487068357977128/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/ios-ios5.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/634487068357977128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/634487068357977128'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/ios-ios5.html' title='[iOS] iOS5から追加された新しい通知の有無を判定する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-HTGZWrKrwlU/TsSGb_L2v2I/AAAAAAAAGpg/cq_eb8cNQQk/s72-c/111117-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8358502332284800657</id><published>2011-11-18T19:00:00.000+09:00</published><updated>2011-11-18T19:00:07.161+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/テクニック'/><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><title type='text'>[Info] Objective-C で Singleton Pattern</title><summary type='text'>+allocWithZone: までもオーバーライドしてとことんシングルトンにこだわった記事。大抵の場合ここまで必要は無いと思うがいつか役にたつかも。


Duck Rowing » Using the Singleton Pattern in Objective-C Part 2





参考情報

Cocoaの日々: [iOS][Mac] dispatch_once を使ったシングルトン</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8358502332284800657/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-objective-c-singleton-pattern.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8358502332284800657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8358502332284800657'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-objective-c-singleton-pattern.html' title='[Info] Objective-C で Singleton Pattern'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-HGcpqR8yCbA/TsPD_q_SSnI/AAAAAAAAGpY/JKdqKPNmOlw/s72-c/111116-0014-33%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7650730186095406578</id><published>2011-11-18T12:13:00.000+09:00</published><updated>2011-11-18T12:24:52.256+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] AFNetworking</title><summary type='text'>ポスト ASIHTTPRequest と注目されているネットワークライブラリ。

AFNetworking/AFNetworking - GitHub

並列実行に NSOperation を使い Blocks を使った APIを提供している。

用意されているクラス、プロトコル、カテゴリの一覧
AFHTTPClient
AFHTTPRequestOperation
AFImageCache
AFImageRequestOperation
AFJSONRequestOperation
AFNetworkActivityIndicatorManager
AFPropertyListRequestOperation
AFURLConnectionOperation
AFXMLRequestOperation
Protocol References
AFMultipartFormData
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7650730186095406578/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-afnetworking.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7650730186095406578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7650730186095406578'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-afnetworking.html' title='[Info] AFNetworking'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-LWJTCn670vM/TsO2_YLQvtI/AAAAAAAAGpM/UtAfEeWSO8k/s72-c/111116-0006-32%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-990585646636076762</id><published>2011-11-18T07:00:00.000+09:00</published><updated>2011-11-18T07:00:04.760+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/プロモーション'/><title type='text'>[Info] アプリ紹介サイトを作る時に参考になる情報</title><summary type='text'>よく出来たアプリのサイトが６０ほど紹介されている。
iPhone アプリのプロモサイトを作成する時に参考になるクリエイティブで高品質なwebサイト60選 | aqua create

どのサイトも綺麗にできてる。
アプリ用のサイトを作る時の参考になる。</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/990585646636076762/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_18.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/990585646636076762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/990585646636076762'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_18.html' title='[Info] アプリ紹介サイトを作る時に参考になる情報'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-V3IF_0-h7rk/TsOuE-sydiI/AAAAAAAAGoI/LeEKmuWeTaM/s72-c/111116-0001-31%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5575050410685716764</id><published>2011-11-17T18:00:00.000+09:00</published><updated>2011-11-17T18:00:08.823+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] ネットワーク接続状況検出ライブラリ</title><summary type='text'>Abizern/NPReachability - GitHub


Blocks、KVOに対応。また ARCにも対応している。

typedef void (^ReachabilityHandler)(NPReachability *curReach);
- (id)addHandler:(ReachabilityHandler)handler;

@property (nonatomic, readonly, getter=isCurrentlyReachable) BOOL currentlyReachable;
@property (nonatomic, readonly) SCNetworkReachabilityFlags currentReachabilityFlags;
接続状況が変化した時に handerで定義した Blocksが実行される。引数に </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5575050410685716764/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_17.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5575050410685716764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5575050410685716764'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_17.html' title='[Info] ネットワーク接続状況検出ライブラリ'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-mzJ-66pV_4I/TsEi-I4K14I/AAAAAAAAGn8/qMq7WawrIdE/s72-c/111114-0025-32%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6543476698834229882</id><published>2011-11-17T12:09:00.000+09:00</published><updated>2011-11-17T12:09:00.293+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/iOS5'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] 日本語による ARC の紹介記事</title><summary type='text'>@natsun_happy さんによる ARCの解説。


[iOS5] ARC (Automatic Reference Counting) : Overview - iOS 開発ブログ Natsu's note



ARCの基本的なところが押さえられているのでこの記事でひと通りの知識が得られる。

また図による説明がとてもわかりやすい。



- - - -
日本語での解説はうれしいし、
なによりも @natsun_happy さんの文章は読みやすいくてわかりやすい。
今後も期待。
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6543476698834229882/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-arc_17.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6543476698834229882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6543476698834229882'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-arc_17.html' title='[Info] 日本語による ARC の紹介記事'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-RdUtaEmCNQc/TsOu9AhuR5I/AAAAAAAAGoU/9gCcoHYn3BE/s72-c/111116-0002-33%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5235257146188923241</id><published>2011-11-17T08:30:00.000+09:00</published><updated>2011-11-17T08:30:02.300+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] iPhone版Safariのようなページ切替ビュー</title><summary type='text'>
100grams/HGPageScrollView - GitHub



iPhone版Safariのようなページ切替ビュー。こんなやつ。


ページを挿入・削除するとアニメーションが起こる。

タップするとアニメーションして画面にフィットする。画面上部にヘッダビューを付けてカスタマイズすることができる。



使い方は、まずHGPageScrollView を作りメインのビューへ貼る。
HGPageScrollView *pageScrollView =
   [[[NSBundle mainBundle] loadNibNamed:@"HGPageScrollView" owner:self options:nil] objectAtIndex:0];

[self.view addSubview:pageScrollView];
サンプルではページの定義を XIBファイルで行</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5235257146188923241/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-iphonesafari.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5235257146188923241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5235257146188923241'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-iphonesafari.html' title='[Info] iPhone版Safariのようなページ切替ビュー'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-3OHLyZ6Suvk/TsEgAKgIKPI/AAAAAAAAGnM/fRjiBwq80TM/s72-c/111114-0017-34%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2497251053857882053</id><published>2011-11-16T18:00:00.000+09:00</published><updated>2011-11-16T18:00:11.484+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ツール'/><title type='text'>[Info] 標準アプリ、フレームワークで使用されている画像を抽出する</title><summary type='text'>標準アプリ、フレームワークで使用されている画像を抽出するツール。

0xced/UIKit-Artwork-Extractor - GitHub

標準アプリ、フレームワークの画像

絵文字

プライベートAPI（UIGlassButton）を利用してボタン画像を生成するツール

シミュレータで実行して保存ボタンを押すと Mac上に画像一式が保存される。


なおシミュレータのデバイスを iPhone（Retina）で実行すると Retina用の解像度でファイルが保存される（@2x）。
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2497251053857882053/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_8445.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2497251053857882053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2497251053857882053'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_8445.html' title='[Info] 標準アプリ、フレームワークで使用されている画像を抽出する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-NRp4x7Vq_C0/TsEUiJyvXjI/AAAAAAAAGls/fV2RxFjyS8s/s72-c/111114-0010-27%2525.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6842506368255280388</id><published>2011-11-16T12:10:00.000+09:00</published><updated>2011-11-16T12:10:00.150+09:00</updated><title type='text'>[Info] Core Data 用 Active Record ライブラリ</title><summary type='text'>Ruby on Rails の Active Record にインスパイアされて作成されたライブラリ。Core Data をベースに Active Record 相当の APIを提供する。

brunogb/MagicalRecord - GitHub
Rails の Active Record ライクな APIが提供されている。以下 READMEからの転載。
NSArray *people = [Person findAll];
NSArray *peopleSorted = [Person findAllSortedByProperty:@"LastName" ascending:YES];
Person *person = [Person findFirstByAttribute:@"FirstName" withValue:@"Forrest"];
フェッチ
結果をブロックで処理</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6842506368255280388/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-core-data-active-record.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6842506368255280388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6842506368255280388'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-core-data-active-record.html' title='[Info] Core Data 用 Active Record ライブラリ'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-5GldpypmNwc/Tr6IWXZePxI/AAAAAAAAGjw/3kDvE0-Z25s/s72-c/111112-0005-37%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-383459982177357576</id><published>2011-11-16T00:30:00.000+09:00</published><updated>2011-11-16T00:30:01.673+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] 写真ライブラリから複数画像を選択できるライブラリ</title><summary type='text'>elc/ELCImagePickerController - GitHub

サンプルの実行例。こんな感じで複数選択できる。

選択結果はデリゲートで受け取れる。
@interface ELCImagePickerController : UINavigationController {

 id delegate;
}

@property (nonatomic, assign) id delegate;

-(void)selectedAssets:(NSArray*)_assets;
-(void)cancelImagePicker;

@end

@protocol ELCImagePickerControllerDelegate

- (void)elcImagePickerController:(ELCImagePickerController *)picker
     </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/383459982177357576/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_16.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/383459982177357576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/383459982177357576'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_16.html' title='[Info] 写真ライブラリから複数画像を選択できるライブラリ'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-s96SixCxZGk/TsENFy2xPtI/AAAAAAAAGlU/RN3n7JHg_YE/s72-c/111114-0006-30%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-214583761087991742</id><published>2011-11-15T12:05:00.000+09:00</published><updated>2011-11-15T12:50:10.024+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] ノンブロッキング/非同期処理ライブラリ - libuv</title><summary type='text'>nodejs用に作られたもので WindowsのIOCP、Unix上の libenvをラップしている。Non-blocking TCP sockets や Asynchronous DNS など標準では用意されていない便利な APIが提供されている。

joyent/libuv - GitHub

以下、Features を転載

Non-blocking TCP sockets
Non-blocking named pipes
UDP
Timers
Child process spawning
Asynchronous DNS via c-ares or uv_getaddrinfo.
Asynchronous file system APIs uv_fs_*
High resolution time uv_hrtime
Current executable path look up </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/214583761087991742/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-libuv.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/214583761087991742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/214583761087991742'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-libuv.html' title='[Info] ノンブロッキング/非同期処理ライブラリ - libuv'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-QNUxxY7pluY/TsCRSdT7PlI/AAAAAAAAGkc/7AxSPSqQFhM/s72-c/111113-0006-32%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3441340384767563784</id><published>2011-11-15T06:30:00.000+09:00</published><updated>2011-11-15T06:30:00.368+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] UIView の contentStrecth による変形記事の紹介</title><summary type='text'>contentStretch を使った画像変形の解説。図入りでわかりやすい


Joris Heuberger • A Visual Guide for UIView's contentStretch




例えばこんな設定をすると
imageView.frame = CGRectMake(10.0, 10.0, imageSize.width*1.2, imageSize.height); 
円形がこのように変形する。



</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3441340384767563784/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-uiview-contentstrecth.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3441340384767563784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3441340384767563784'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-uiview-contentstrecth.html' title='[Info] UIView の contentStrecth による変形記事の紹介'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-9hzLzlRInxU/TsCQ4E_SWSI/AAAAAAAAGkI/cKc0i6_GZYU/s72-c/111113-0009-30%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3465582537957166594</id><published>2011-11-15T05:30:00.000+09:00</published><updated>2011-11-15T05:30:01.829+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/iOS5'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] iOS5から導入された Core Image のチュートリアル</title><summary type='text'>
Beginning Core Image in iOS 5 Tutorial | Ray Wenderlich




フィルタの適用や、適用後の画像をフォトアルバムへ書きだす方法などが説明されている。




（ネタ元）Twitter / @natsun_happy: Beginning Core Image in iO ...
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3465582537957166594/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios5-core-image.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3465582537957166594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3465582537957166594'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios5-core-image.html' title='[Info] iOS5から導入された Core Image のチュートリアル'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-A_VMFzwp0mk/TsCRuaPUHRI/AAAAAAAAGko/iROuwo56wUk/s72-c/111113-0002-30%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5123333087967715045</id><published>2011-11-14T18:00:00.000+09:00</published><updated>2011-11-14T18:00:00.531+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] メールアドレスピッカーライブラリ</title><summary type='text'>アドレス帳からメールアドレスを取得する簡易ライブラリ。利用しなくてもソースコードが参考になる（かも）。

COPeoplePickerViewController for iOS - Cocoa Controls</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5123333087967715045/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_14.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5123333087967715045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5123333087967715045'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info_14.html' title='[Info] メールアドレスピッカーライブラリ'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-TRQT-9C8Gik/Tr6GeFuFGgI/AAAAAAAAGjo/sifEClqSGVg/s72-c/111112-0004-35%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6711351184650490218</id><published>2011-11-14T12:10:00.000+09:00</published><updated>2011-11-14T12:10:00.144+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/iOS5'/><title type='text'>[Info] 特定のファイルをiCloudバックアップ対象外にする</title><summary type='text'>iOS 5.0.1 から指定したファイルを iCloud および iTunes バックアップから除外できるようになった。その方法の紹介と関連してデータの種類毎の格納場所、バックアップの扱いの説明など。

Technical Q&amp;A QA1719: Technical Q&amp;A QA1719

データカテゴリ
データの用途によって４つのカテゴリが挙げられている。

カテゴリ用途ディレクトリバック
アップ対象
Critical Dataユーザが作成するデータ
または
再作成ができないデータDocuments◯
Cached Data再ダウンロード
または
再作成が可能なデータLibrary/Caches×
Temporary Data使用期間の短い一時的な
データで保存が不要なデータtmp×
Offline Dataオフライン時に
利用するデータDocuments または
Library/</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6711351184650490218/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-icloud.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6711351184650490218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6711351184650490218'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-icloud.html' title='[Info] 特定のファイルをiCloudバックアップ対象外にする'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Wok6ix3isgc/Tr4LqNnBdZI/AAAAAAAAGjc/J7Q6bZufqyI/s72-c/111112-0003-29%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-1888010243097449624</id><published>2011-11-14T08:30:00.000+09:00</published><updated>2011-11-14T08:30:00.580+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] BlocksKit</title><summary type='text'>Foundation や UIKit ライブラリの様々なクラスのメソッドを blocks 化したライブラリ。 iOS 4.0+ 、 Mac OS X 10.6+ で利用可能。

zwaldowski/BlocksKit - GitHub

以下、READMEより転載。

What's In The Box

Performing blocks on an NSObject.
Key-value observation () with block handlers.
Associated objects in an Obj-C API. (Not directly block-related.)
NSArray, NSSet, NSDictionary, and NSIndexSet filtering and enumeration.
Macros for more quickly </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/1888010243097449624/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-blockskit.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1888010243097449624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1888010243097449624'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-blockskit.html' title='[Info] BlocksKit'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-GmgP1MRoWFA/TrqZ7VAWM1I/AAAAAAAAGi8/GgsyJJzkDSE/s72-c/111110-0002-34%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3009869868444952359</id><published>2011-11-14T06:00:00.000+09:00</published><updated>2011-11-14T06:00:02.375+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/デバッグ'/><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><title type='text'>[Info] AppStoreからインストールしたアプリのデバッグ</title><summary type='text'>AppStore や AdHocビルドからインストールしたアプリのデバッグ方法の説明。

Technical Q&amp;A QA1747: Technical Q&amp;A QA1747
iPhoneとMacを接続して Xcodeのオーガナイザを使うと、iPhoneのコンソール出力やアプリがクラッシュした時のログが取得できる。

クラシュログは iTunes経由で取得できるのでユーザに依頼してファイルを入手することも可能。以下はOS毎のログの置き場所。

またユーザが許可すればクラッシュレポートが Appleのサーバへ送られ、開発者は iTunes Connect で見ることができる。
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3009869868444952359/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-appstore.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3009869868444952359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3009869868444952359'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-appstore.html' title='[Info] AppStoreからインストールしたアプリのデバッグ'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-KnPdSoJ2WgI/Tr4J2ZaBmKI/AAAAAAAAGjI/wYFO-kwIIkQ/s72-c/111112-0001-30%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5124633957339536093</id><published>2011-11-13T08:36:00.001+09:00</published><updated>2011-11-13T08:40:04.726+09:00</updated><title type='text'>先週気になった情報</title><summary type='text'>まとめ
Cocoaの日々: 情報/2011-11-06

個別リンク
Cocoaの日々: [Info] iPhoneで利用可能な URLスキームまとめサイトの紹介
Cocoaの日々: [Info] Xcodeブレークポイントの設定を活用する
Cocoaの日々: [Info] iCloud Storage API チュートリアル
Cocoaの日々: [Info] 便利メソッドを集めたライブラリ - GHKit
Cocoaの日々: [Info] 設定画面構成ライブラリ - QuickDialog
Cocoaの日々: [Info] コミニュティバグレポート - Open Rader
Cocoaの日々: [Info] ライブラリデータベースサイト -
Cocoaの日々: [Info] iOS開発情報サイト紹介 - iPhone and iPad development
Cocoaの日々: [</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5124633957339536093/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/blog-post_13.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5124633957339536093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5124633957339536093'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/blog-post_13.html' title='先週気になった情報'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6788745486094369053</id><published>2011-11-13T08:34:00.001+09:00</published><updated>2011-11-13T08:41:28.217+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-20'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/iOS5'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] iOS5チュートリアルサイトの紹介記事</title><summary type='text'>@natsusan_happy さんの iOS5チュートリアルサイト紹介。読みやすい。

[iOS5] チュートリアルを試す - iOS 開発ブログ Natsu's note 

以下、紹介内容の抜粋。

User Interface Customization in iOS 5
Beginning Storyboards in iOS 5 Part 1
Beginning Storyboards in iOS 5 Part 2
Beginning OpenGL ES 2.0 with GLKit Part 1
Beginning OpenGL ES 2.0 with GLKit Part 2
Beginning ARC in iOS 5 Part1
Beginning ARC in iOS 5 Part2
Beginning Turn-Based Gaming with iOS 5 </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6788745486094369053/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/natsusanhappy-ios5-ios5-ios-natsus-note.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6788745486094369053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6788745486094369053'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/natsusanhappy-ios5-ios5-ios-natsus-note.html' title='[Info] iOS5チュートリアルサイトの紹介記事'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-4qs9fD281Ww/Tr8CVDFku3I/AAAAAAAAGj8/LSzQVBNbPiQ/s72-c/111113-0001-40%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4769823294240145020</id><published>2011-11-12T12:00:00.000+09:00</published><updated>2011-11-12T12:00:03.424+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/テクニック'/><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><title type='text'>[Info] iPhoneで利用可能な URLスキームまとめサイトの紹介</title><summary type='text'>IPhone URL Schemes - akosma wiki
Apple製アプリでは下記が紹介されていた。SMSも行けるのか。
3.1 Safari
3.2 Maps
3.3 Phone
3.4 SMS
3.5 Mail
3.6 YouTube
3.7 iTunes
3.8 App Store
3.9 iBooks
Maps はちょうど知りたかった情報の一つ。こんな感じ（転載）。
NSString *title = @"title";
float latitude = 35.4634;
float longitude = 9.43425;
int zoom = 13;
NSString *stringURL = [NSString stringWithFormat:
  @"http://maps.google.com/maps?q=%@@%1.6f,%1.6f&amp;z=%d",
   </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4769823294240145020/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-iphone-url.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4769823294240145020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4769823294240145020'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-iphone-url.html' title='[Info] iPhoneで利用可能な URLスキームまとめサイトの紹介'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-c-YFb7C-V3g/TrqTqC6v69I/AAAAAAAAGik/iZIwijEmqfA/s72-c/111109-0024-36%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-697968662324606544</id><published>2011-11-12T10:00:00.000+09:00</published><updated>2011-11-12T10:00:00.082+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/テクニック'/><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><title type='text'>[Info] Xcodeブレークポイントの設定を活用する</title><summary type='text'>Xcode のブレークポイントの活用方法についてのTips。


Xcode 4 : Debug Breakpoints, Conditions and Actions




停止条件と停止した時に起こすアクションを設定することができる。



Xcodeで確認してみると選べる Actions は次のようなものがあった。





（ネタ元）Twitter / @natsun_happy: ブレイクポイントのオプション設定。こういうのを知って ...
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/697968662324606544/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-xcode.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/697968662324606544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/697968662324606544'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-xcode.html' title='[Info] Xcodeブレークポイントの設定を活用する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-LY6a2saEqsI/TrqQORbKtpI/AAAAAAAAGiA/gb26S1dQnzo/s72-c/111109-0021-36%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4424346223913666224</id><published>2011-11-11T18:00:00.000+09:00</published><updated>2011-11-11T18:00:03.748+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='iCloud'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/iOS5'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] iCloud Storage API チュートリアル</title><summary type='text'>iOS 5 Tech Talk: Michael Jurewitz on iCloud Storage – Ole Begemann

Provisioning と Entitlements の設定方法から始まり、Store の概説、Ubiquity Container の扱い、ドキュメントの作成など最低限必要な情報が紹介されている。
Core Data も iCloud Storage が使える。
Using Core Data with iCloud Release Notes</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4424346223913666224/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-icloud-storage-api.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4424346223913666224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4424346223913666224'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-icloud-storage-api.html' title='[Info] iCloud Storage API チュートリアル'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ohi8gHlWFwo/TrqWnlBJk4I/AAAAAAAAGiw/jot3xgsJOTM/s72-c/111110-0001-39%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5035844496444986633</id><published>2011-11-11T12:30:00.000+09:00</published><updated>2011-11-11T12:30:01.343+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] 便利メソッドを集めたライブラリ - GHKit</title><summary type='text'>便利メソッドをカテゴリで実装しているライブラリ。

gabriel/gh-kit - GitHub
appledoc によるリファレンスマニュアルも用意されている。
GHKit Reference
以下、リファレンスからの転載。


Dates:GHNSDate+Formatters.h: Date parsers, formatting and formatters for ISO8601, RFC822, HTTP (RFC1123, RFC850, asctime) and since epoch.
 NSDate *date = [NSDate gh_parseISO8601:@"2010-10-07T04:25Z"]
 NSString *dateString = [date gh_formatHTTP]; // Formatted like: Sun, 06 Nov 1994</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5035844496444986633/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ghkit.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5035844496444986633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5035844496444986633'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ghkit.html' title='[Info] 便利メソッドを集めたライブラリ - GHKit'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-cUZDPdwoRWU/TrqKiMymUAI/AAAAAAAAGhc/UdjI9d8SURY/s72-c/111109-0018-35%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8798863227648870788</id><published>2011-11-11T06:30:00.000+09:00</published><updated>2011-11-11T06:30:00.209+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] 設定画面構成ライブラリ - QuickDialog</title><summary type='text'>iOS でよく使われているスタイルの設定画面を作成する為のライブラリ。


escoz/QuickDialog - GitHub




こんな感じで書ける。
QRootElement *root = [[QRootElement alloc] init];
root.title = @"Hello World";
root.grouped = YES;
QSection *section = [[QSection alloc] init];
QLabelElement *label = [[QLabelElement alloc] initWithTitle:@"Hello" Value:@"world!"];

[root addSection:section];
[section addElement:label];

UINavigationController *</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8798863227648870788/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-quickdialog.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8798863227648870788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8798863227648870788'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-quickdialog.html' title='[Info] 設定画面構成ライブラリ - QuickDialog'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-GrulN0xQ2Ko/TrqH9Qa8CoI/AAAAAAAAGg4/GB_bwiNk4Dw/s72-c/111109-0015-37%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7587567870985747580</id><published>2011-11-10T12:30:00.000+09:00</published><updated>2011-11-10T12:30:01.188+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/情報サイト'/><title type='text'>[Info] コミニュティバグレポート - Open Rader</title><summary type='text'>コミニュティによるバグレポートまとめサイト


Open Radar



カテゴリは
iPhone/iPod Touch, Developer Tools, App Store, Mac OS X, iCloud, iTunes, ... など多岐に渡る。問題に直面した場合に役立つ（かもしれない）。






（ネタ元）Twitter / @norio_nomura: @hkato193 ちなみにこんなのもあります。 - ...</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7587567870985747580/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-open-rader.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7587567870985747580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7587567870985747580'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-open-rader.html' title='[Info] コミニュティバグレポート - Open Rader'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-94oMtV_Pb9U/TrqOiaQgCCI/AAAAAAAAGh0/Dz-uHkyIV48/s72-c/111109-0020-35%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3006264113357397270</id><published>2011-11-10T08:35:00.000+09:00</published><updated>2011-11-10T08:35:00.275+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/情報サイト'/><title type='text'>[Info] ライブラリデータベースサイト -</title><summary type='text'>iOS/OSX向けライブラリデータベースサイト。情報源としてRSS購読。


CocoaObjects




</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3006264113357397270/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3006264113357397270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3006264113357397270'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info.html' title='[Info] ライブラリデータベースサイト -'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-u-Z-TvwBUMY/TrqHaoOLT0I/AAAAAAAAGgs/tjG1ObXIpjk/s72-c/111109-0014-34%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6702995314477496578</id><published>2011-11-10T08:30:00.000+09:00</published><updated>2011-11-10T08:30:00.178+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/情報サイト'/><title type='text'>[Info] iOS開発情報サイト紹介 - iPhone and iPad development</title><summary type='text'>
iOS開発情報を集めたニュースサイト。ライブラリの紹介やチュートリアルサイトの紹介など。情報源として RSS購読することにした。



iPhone and iPad development | Scoop.it




</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6702995314477496578/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios-iphone-and-ipad-development.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6702995314477496578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6702995314477496578'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios-iphone-and-ipad-development.html' title='[Info] iOS開発情報サイト紹介 - iPhone and iPad development'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-VI1JVJ5V62g/TrqGEDfG5dI/AAAAAAAAGgg/EIVaO1zrjU8/s72-c/111109-0013-34%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6524649519346086360</id><published>2011-11-09T12:46:00.000+09:00</published><updated>2011-11-09T12:46:34.359+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] StoreKit 解説記事の紹介</title><summary type='text'>StoreKit の詳細な解説。わかりやすい上に気をつけるポイントも網羅されていて非常に参考になる。


StoreKit | なんてこったいブログ




タイトル


StoreKitと闘う
StoreKitの正常な決済の流れ
プロダクト情報の取得
StoreKitの支払いリクエストの作成と購入手続きの開始まで
StoreKitのトランザクションの基礎
StoreKit トランザクションの中断と再開
StoreKit トランザクションとデバイスとAppleID
StoreKit Consumableプロダクトの二重購入
StoreKit トランザクションの重複を防ぐ
StoreKit(組み込みプロダクトモデル編) まとめ


</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6524649519346086360/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-storekit.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6524649519346086360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6524649519346086360'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-storekit.html' title='[Info] StoreKit 解説記事の紹介'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/--l6OilN29_8/Trn3Rm_nDSI/AAAAAAAAGgU/oLXifoT3B1c/s72-c/111109-0007-33%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3001556925335978062</id><published>2011-11-09T12:33:00.000+09:00</published><updated>2011-11-09T12:41:16.439+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='ARC'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/iOS5'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] ARCチュートリアル</title><summary type='text'>ARCのチュートリアル。説明が丁寧でわかりやすい。

Beginning ARC in iOS 5 Tutorial Part 1 | Ray Wenderlich
図解あり。weak と strong のイメージがつかめる。

変数宣言はデフォルトで strong になるので下記コードはクラッシュしない。
id obj = [array objectAtIndex:0];
[array removeObjectAtIndex:0];
NSLog(@"%@", obj);
weak は参照先オブジェクトが破棄（deallocated）された時に nil になる（"zeroing"と呼ばれる）。



非ARCコードの移行方法についても説明があり参考になる。




</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3001556925335978062/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-arc.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3001556925335978062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3001556925335978062'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-arc.html' title='[Info] ARCチュートリアル'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-AlM6S10NAyM/TrnyPWACT-I/AAAAAAAAGfo/xFfLKV-RQ3A/s72-c/111109-0003-36%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-1620997674148914904</id><published>2011-11-08T17:31:00.001+09:00</published><updated>2011-11-08T17:31:24.362+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] ポップアップウィンドウライブラリ ALPopupView</title><summary type='text'>mobilebricksよりポップアップウィンドウ風のビューを提供するライブラリ。有料（$19）。


Facebook-like popup view for iPhone | ALPopupView - MobileBricks








ヘルプ表示などに良さそう。
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/1620997674148914904/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-alpopupview.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1620997674148914904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1620997674148914904'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-alpopupview.html' title='[Info] ポップアップウィンドウライブラリ ALPopupView'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-tMoceTXJWKA/Trjog5_OhvI/AAAAAAAAGe8/2hDMBjrwW9Y/s72-c/111108-0007-34%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5664324582632973769</id><published>2011-11-08T17:26:00.000+09:00</published><updated>2011-11-08T17:26:58.214+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] iOS5標準のJSONライブラリの紹介</title><summary type='text'>iOS 5から標準で用意された JSON API の紹介記事。

NathanHJones.com » Blog Archive » Getting Started with JSON in iOS5

APIは限られていて使い方は容易。

</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5664324582632973769/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios5json.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5664324582632973769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5664324582632973769'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios5json.html' title='[Info] iOS5標準のJSONライブラリの紹介'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-bJjvhPK-_3E/TrjnPZpArEI/AAAAAAAAGew/QMGLULf9p4Q/s72-c/111108-0006-34%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5629841217049628602</id><published>2011-11-08T17:18:00.001+09:00</published><updated>2011-11-08T17:19:48.225+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/ライブラリ'/><title type='text'>[Info] カスタムツールバーライブラリ ALToolbar</title><summary type='text'>mobilebricks よりカスタムツールバー。有料（$19）


Fully customizable ToolBar for iPhone | ALToolbar - MobileBricks




見た目は悪くない。




高さ、背景画像のカスタマイズが可能。

</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5629841217049628602/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/mobilebricks-19-fully-customizable.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5629841217049628602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5629841217049628602'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/mobilebricks-19-fully-customizable.html' title='[Info] カスタムツールバーライブラリ ALToolbar'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-v4W_tn2kjIo/TrjlGOZmGQI/AAAAAAAAGec/sMqcLpHThIE/s72-c/111108-0004-34%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5025994578151824469</id><published>2011-11-07T12:07:00.001+09:00</published><updated>2011-11-07T12:07:30.353+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/iOS5'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/チュートリアル'/><title type='text'>[Info] iOS5 Twitter API のチュートリアル</title><summary type='text'>iOS5 から導入された Twitter API のチュートリアル


Beginning Twitter in iOS 5 Tutorial | Ray Wenderlich



画像やURL付きのツィートを作成・投稿するアプリを作る。




こちらもどうぞ。
Cocoaの日々: TWTweetComposeViewController でツィート


</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5025994578151824469/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios5-twitter-api.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5025994578151824469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5025994578151824469'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-ios5-twitter-api.html' title='[Info] iOS5 Twitter API のチュートリアル'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-La59gXU4vhY/TrSOR5vydsI/AAAAAAAAGeE/vi1JXwoB_Ck/s72-c/111105-0011-33%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7690348246988959233</id><published>2011-11-07T12:07:00.000+09:00</published><updated>2011-11-07T12:07:16.565+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報/開発/テクニック'/><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='情報/2011-11-06'/><title type='text'>[Info] UIWebView で文字列を反転する</title><summary type='text'>UIWebView で JavaScriptを使って文字列を反転表示する方法の紹介。

 How To Search And Highlight A String Inside UIWebView - ZaldzBugz Frameworks



UIWebView には文字列を反転するメソッドは無い。代わりに JavaScriptを用意してそれを実行する。
こんな感じ。



ボタンが押されたらバンドル内の JavaScript ファイルを読み込んでそれを実行している。





</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7690348246988959233/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-uiwebview.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7690348246988959233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7690348246988959233'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/info-uiwebview.html' title='[Info] UIWebView で文字列を反転する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-B35e6KhmfnA/TrSIbJqrMqI/AAAAAAAAGdY/OAXx4CNXE74/s72-c/111105-0008-33%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2278377469849456379</id><published>2011-11-05T08:53:00.001+09:00</published><updated>2011-11-05T08:53:25.579+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><title type='text'>今週気になったニュースなど</title><summary type='text'>
 開発 - iOS5


 UICatalog


Apple提供のiOS5コントロールサンプルプログラム。ビルドするとひと通りの表現が見られる。iOS5ではコントロールの多くで背景画像・背景色が付けられるようになったのが特徴的。


 







 iOS 5 SDK Tutorial And Guide Page | iPhone, iOS 5, iPad SDK Development Tutorial and Programming Tips
iOS5 新APIのチュートリアルリンク集。GLKit, CoreImage, UIAppearance, ARC など。








 A Short Tutorial on Storyboards « CMU Mobile Apps Club
簡潔なチュートリアル。短いので初めて触るにはちょうどいい。



 Working </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2278377469849456379/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2278377469849456379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2278377469849456379'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/blog-post.html' title='今週気になったニュースなど'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ejf6sMnqOCw/TrE5l3Zc7aI/AAAAAAAAGYs/rFWU6q16OBQ/s72-c/111102-0020-57%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-368464729625868348</id><published>2011-11-03T10:14:00.001+09:00</published><updated>2011-11-03T10:14:53.365+09:00</updated><title type='text'>Mac App Store で Sandbox化が必須に</title><summary type='text'>
News and Announcements for Apple Developers



2012年3月から。</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/368464729625868348/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/mac-app-store-sandbox.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/368464729625868348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/368464729625868348'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/mac-app-store-sandbox.html' title='Mac App Store で Sandbox化が必須に'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-O__1Hy-qrwY/TrHq8jSaHOI/AAAAAAAAGb4/Qg6yIo7xayA/s72-c/111103-0004-32%2525.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4518051783463693171</id><published>2011-11-03T09:39:00.002+09:00</published><updated>2011-11-03T09:44:09.018+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='情報'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS Developer Library'/><title type='text'>顔検出のサンプルプログラム - SquareCam</title><summary type='text'>CIFaceDetector を使ったサンプルプログラムが iOS Developer Library で提供されている。

SquareCam












ビルドして起動するとカメラ撮影画面が表示される。





















Faces スイッチを入れると顔検出が働くようになる。
以下は雑誌の写真を写してみた。



















顔検出は複数可能。

ピンチで拡大縮小もできる。
AVCapture系APIを使うカメラアプリを作る際の参考になりそう。

</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4518051783463693171/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/11/squarecam.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4518051783463693171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4518051783463693171'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/11/squarecam.html' title='顔検出のサンプルプログラム - SquareCam'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-5uCwxIDx8xg/TrHfoEfOPmI/AAAAAAAAGbg/MveeW-ZUbgg/s72-c/111103-0001-31%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2428620948161120476</id><published>2011-10-31T12:25:00.000+09:00</published><updated>2011-10-31T12:25:00.426+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 5.0'/><title type='text'>UIAppearance で色や画像を変える</title><summary type='text'>UIAppearanceプロトコル
iOS5 から UIAppearance プロトコルが導入された。このプロトコルを使うと UINavigationBar や UISwitch のインスタンスの色を変更することができる。変更の仕方はこんな感じ。
[[UISwitch appearance] setOnTintColor:[UIColor greenColor]];UIAppearance が有用なのは、上記の通りインスタンスではなくクラスに対して色設定ができること。つまりこれを使うと画面上で使われているすべての UISwitch の色を変えることができる。

例えば緑基調の画面があったとして、UIAppearance プロトコルを使うと別の色（例では赤）に変更することができる。
↓↓↓上記の例は１画面だけだが、アプリで使われるすべての画面で色が変わる。

上記例の色変更の箇所のコード</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2428620948161120476/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/uiappearance.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2428620948161120476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2428620948161120476'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/uiappearance.html' title='UIAppearance で色や画像を変える'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Y6REze9oCUY/TqyWDBYi3KI/AAAAAAAAGW4/njP-DBvMu3o/s72-c/111027-0004.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2261141566986287136</id><published>2011-10-30T08:13:00.000+09:00</published><updated>2011-10-31T13:20:02.990+09:00</updated><title type='text'>今週のCocoa情報まとめ（2011-10-23発行）</title><summary type='text'>久々に。


ライブラリ
iVersion for iOS - Cocoa Controls
新バージョンがダウロード可能になったらダイアログを表示する機能や、初回起動時にアップデート内容を表示する機能を持つ。



開発 - 情報
GLKitの基本 | なんてこったいブログ
GLKit の概要がよくわかる記事。
以下引用。
iOS 5で追加されたフレームワーク
OpenGLアプリケーションを作るとき用
今までiPhoneでOpenGLアプリケーションを作るときに不便だった部分を補完してくれる


5 helpful UIKit features in the iOS 5 SDK | Think VitaminiOS 5 から UIAppearance が追加され、アピアランスセットの切替ができるようになったらしい。これはいい。


モバイルウェブ環境のHTTPSのチューニング « </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2261141566986287136/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/cocoa2011-10-23.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2261141566986287136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2261141566986287136'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/cocoa2011-10-23.html' title='今週のCocoa情報まとめ（2011-10-23発行）'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-5Eaa2XjW9B4/TqTUnYBr_VI/AAAAAAAAGUE/Y6aORx4ua3c/s72-c/111024-0006-40%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5240184154259028295</id><published>2011-10-27T08:45:00.000+09:00</published><updated>2011-10-27T08:45:00.155+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='github'/><title type='text'>github の pull request</title><summary type='text'>先日投稿した記事のソースコードに @griffin_stewie さんから pull request をいただいた。

Cocoaの日々: CAGradientLayer を使ったグラデーション付きボタンの試作

GradientButton at 2011-10-22 from xcatsan/iOS-Sample-Code - GitHub

github の pull request とは、 fork したソースの修正を master ブランチへ反映させる為の仕組み。修正者が master のメンテナへリクエストを出す。それを受けたメンテナは内容を確認してマージを行う。github の pull request は、この一連の流れが全部 Webブラウザだけでできる。

今回の場合のやりとりはこんな感じ。
@xcatsan : IOS-Sample-Code/</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5240184154259028295/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/github-pull-request.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5240184154259028295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5240184154259028295'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/github-pull-request.html' title='github の pull request'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-X406HQIFdPo/TqeNoOFKNhI/AAAAAAAAGVM/L40cKpTc340/s72-c/111026-0004-57%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2938340736189667777</id><published>2011-10-26T11:14:00.001+09:00</published><updated>2011-10-26T11:14:43.603+09:00</updated><title type='text'>application:didFinishLaunchingWithOptions: 覚書き</title><summary type='text'>application:didFinishLaunchingWithOptions: に関する覚書き。

呼び出し順序
下記の順で呼ばれる。

application:didFinishLaunchingWithOptions:
　↓
application:handleOpenURL: 


options
application:didFinishLaunchingWithOptions: の引数には通常 nil が渡ってくるが、他のアプリから呼び出した場合は NSDictionary が渡される。渡される情報（キー）は次の通り。
NSString *const UIApplicationLaunchOptionsURLKey;
NSString *const UIApplicationLaunchOptionsSourceApplicationKey;
NSString *</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2938340736189667777/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/applicationdidfinishlaunchingwithoption.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2938340736189667777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2938340736189667777'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/applicationdidfinishlaunchingwithoption.html' title='application:didFinishLaunchingWithOptions: 覚書き'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8647402728413587296</id><published>2011-10-22T14:29:00.003+09:00</published><updated>2011-10-23T07:21:59.226+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='Core Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><category scheme='http://www.blogger.com/atom/ns#' term='Core Animation'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 5.0'/><title type='text'>CAGradientLayer を使ったグラデーション付きボタンの試作</title><summary type='text'>CAGradientLayer を使った描画がしたくて調べている。試しにボタンを作ってみた。








仕組み

UIControl をベースのクラスに使い、その上にレイヤーを重ねて作ってある。


基本の色は UIControl.backgroundColor で決める。

その上に CAGradientLayer をかぶせてグラデーションをかける。グラデーションは白色をアルファ値を変えて表現する。
self.gradientLayer = [CAGradientLayer layer];
    self.gradientLayer.frame = self.bounds;
    self.gradientLayer.locations = [NSArray arrayWithObjects:
                                    [</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8647402728413587296/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/cagradientlayer.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8647402728413587296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8647402728413587296'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/cagradientlayer.html' title='CAGradientLayer を使ったグラデーション付きボタンの試作'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-hkp_Poz6mso/TqJSJ0NIz1I/AAAAAAAAGS8/vkwIfNkEc4g/s72-c/111022-0005.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-291880258190565040</id><published>2011-10-22T10:06:00.000+09:00</published><updated>2011-10-22T10:06:59.323+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xcode 4.2'/><title type='text'></title><summary type='text'>Xcode 4.2 のオーガナイザで実機内のフォルダが見られるようになっていた。


以前はいちいちスナップショット（ZIP）をダウンロードして展開しないと駄目だったと思うのでこれは便利。
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/291880258190565040/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/xcode-4.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/291880258190565040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/291880258190565040'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/xcode-4.html' title=''/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-NBVLLyAtWU8/TqIWsI4PbVI/AAAAAAAAGSM/5UOm9kUG9hM/s72-c/111021-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6598315759758766568</id><published>2011-10-17T12:24:00.000+09:00</published><updated>2011-10-18T16:42:22.059+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iOS 5.0'/><title type='text'>iOS5 では UIViewController.parentViewController が nil</title><summary type='text'>（2011-10-18追記）その後の調査で、下記のことがわかった。


Xcode 4.1 でビルドしたアプリを iOS5 で動作させても現象はでない
Xcode 4.2 でビルドしたアプリを iOS5 で動作させると現象が出る



iOS 5.0 から UIViewController.parentViewController が親の UIViewController を返さなくなった。手元のプログラムで iOS4.3 までは入っていたこのプロパティが、iOS 5.0 では nil になっていた。親は UITabBarController。
/*
If this view controller is a child of a containing view controller (e.g. a navigation controller 
or tab bar controller,</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6598315759758766568/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/ios5-uiviewcontrollerparentviewcontroll.html#comment-form' title='4 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6598315759758766568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6598315759758766568'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/ios5-uiviewcontrollerparentviewcontroll.html' title='iOS5 では UIViewController.parentViewController が nil'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2202937679175786667</id><published>2011-10-15T14:50:00.001+09:00</published><updated>2011-10-23T07:22:18.522+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 5.0'/><title type='text'>TWTweetComposeViewController でツィート</title><summary type='text'>iOS 5 から Twitter投稿用の API が追加された。前から興味があったので試してみた。
TWTweetComposeViewController Class Reference



使い方

プロジェクトへフレームワークを追加しておく。



使いかたはこんな感じ。
#import ＜Twitter/TWTweetComposeViewController.h＞

    TWTweetComposeViewController *viewController =
        [[TWTweetComposeViewController alloc] init];

    [viewController setInitialText:@"Initial String"];
    [viewController addImage:image];
    [</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2202937679175786667/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/twtweetcomposeviewcontroller.html#comment-form' title='3 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2202937679175786667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2202937679175786667'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/twtweetcomposeviewcontroller.html' title='TWTweetComposeViewController でツィート'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-MpQ6e41xHOE/TpkZFKZuWQI/AAAAAAAAGQ8/RRQrCwsCBKs/s72-c/111015-0011.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4904481882967640181</id><published>2011-10-15T06:13:00.000+09:00</published><updated>2011-10-15T06:15:06.061+09:00</updated><title type='text'>ld: library not found for -lz.1.2.3 と出たら</title><summary type='text'>Xcode 4.1 で iOS 4.3 向けに開発していたアプリを Xcode 4.2 で iOS 5 の実機用にビルドしたら下記のエラーが出た。
ライブラリがみつからないとのこと。該当ファイルが赤い表示（ファイル不在）になっている。

iOS 5 になってライブラリのバージョンが上がったのが原因のようだ。この場合はリンクするライブラリを変更してやればいい。ターゲットを選び "Builde Phases" の "Link Binary With Libraries" で適切なバージョンのライブラリを指定してやる。
iOS 5 になって libz の 1.2系は 1.2.3 から1.2.5 にバージョンアップされたようだ。iOS 5 向けだけにアプリをリリースするのであれば 1.2.5 を選べばいいが、iOS 4.3 もサポートするのであればそれはまずい。この場合、シンボリックリンクである</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4904481882967640181/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/10/ld-library-not-found-for-lz123.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4904481882967640181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4904481882967640181'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/10/ld-library-not-found-for-lz123.html' title='ld: library not found for -lz.1.2.3 と出たら'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-xXs-arh9KN8/TpijiwSDBhI/AAAAAAAAGQY/jzRjRS6w1nQ/s72-c/111015-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5815224479109411060</id><published>2011-09-29T06:57:00.000+09:00</published><updated>2011-09-29T11:34:56.822+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='ライブラリ開発'/><title type='text'>バッジ描画ライブラリを公開</title><summary type='text'>バッジ描画ライブラリを GitHub にて公開しました。

lakesoft/LKbadgeView - GitHub

バッジって何かというとメールの未読件数などで使われているアレ。

数字だけでなく文字列も表示できる。また背景色や文字色を変えたり、アウトライン（輪郭線）を付けられるようにした。


インストール
GitHubからプロジェクトをダウンロードし、その中から下記のファイルを自分のプロジェクトへコピーして追加する。
LKBadgeView.m
LKBadgeView.h

使い方
UIView のサブクラスなので生成してビューへ貼り付けるだけで使える。
（コード例）
LKBadgeView* badgeView =
    [[[LKBadgeView alloc] initWithFrame:CGRectMake(100, 200, 50, 20)] autorelease</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5815224479109411060/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/09/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5815224479109411060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5815224479109411060'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/09/blog-post.html' title='バッジ描画ライブラリを公開'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-dASsbq9eT20/ToOXJEbVwzI/AAAAAAAAGPg/OrI51uWf2JA/s72-c/110929-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7026028571739369003</id><published>2011-09-05T14:46:00.000+09:00</published><updated>2011-09-05T14:46:22.013+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xcode 4'/><title type='text'>LLVM GCC 4.2 Error - Internal compiler error: Bus error: 10</title><summary type='text'>Xcode 4.1にてコンパイル時にエラーが出た（GCC 4.2）。



シミュレータでこのエラーはでなくて、実機（3GS/iOS4.3.3) で実行すべくコンパイルをかけた時にエラーが出た。

元々は（確か）4.0で開発していたプロジェクトでコンパイル前に Modernize した（Xcodeプロジェクトのマイグレーション）。

エラーは .m ファイルの最後に出ていて最初は問題箇所もわからなかった。仕方が無いのでいくつかあるメソッド内のコードをコメントアウトしてエラーが消えるかどうかを一つ一つ確認して問題箇所を特定した。
self.status = kMLLicenseKeyValid;
status は assign プロパティで整数値を取る。

結局コードを次のように書きなおしたら治った。

[self setStatus:kMLLicenseKeyValid];
もしくは

</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7026028571739369003/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/09/llvm-gcc-42-error-internal-compiler.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7026028571739369003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7026028571739369003'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/09/llvm-gcc-42-error-internal-compiler.html' title='LLVM GCC 4.2 Error - Internal compiler error: Bus error: 10'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-G7ZIl0V7lOs/TmRe7ttEqAI/AAAAAAAAGPc/70wXLdCpBS8/s72-c/110905-0001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5246162223763748215</id><published>2011-08-22T12:07:00.000+09:00</published><updated>2011-08-22T12:07:51.403+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>Blocks を使ったアニメーションのひっかかりを解消する</title><summary type='text'>Cocoaの日々: [iOS] UITableView でプルダウンすると再読込するユーザインタフェースを実装

以前紹介した投稿でアニメーションにひっかかりを感じると書いた。
UITableView を下にドラッグした時に画面上部の矢印が下向き↓からクルッと回転して上向き↑になるアニメーションが起こる。これを iPhoneで実行してみるとカクっとひっかかるような感じがあった。コードはこんな感じ。
[UIView animateWithDuration:0.2
         animations:^{
             self.imageView.transform =
                CGAffineTransformMakeRotation(endAngle);
         }];Blocks によるアニメーションを使っている。


</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5246162223763748215/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/08/blocks.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5246162223763748215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5246162223763748215'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/08/blocks.html' title='Blocks を使ったアニメーションのひっかかりを解消する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-m6Y46iB3bcI/Tk7VBS1lWkI/AAAAAAAAGPY/hRjkA1sr2Gg/s72-c/110706-0013.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-1050009485154846809</id><published>2011-08-19T12:07:00.000+09:00</published><updated>2011-08-19T12:07:16.724+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='パターン'/><category scheme='http://www.blogger.com/atom/ns#' term='テスト'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode 4'/><title type='text'>OCUnit で Notification をテストする</title><summary type='text'>通知（Notification）を配信（POST）するメソッドのテストコードを考える。

ポイントは次の２つ
(1) 意図したタイミングで通知が配信されたかどうか
(2) 配信された通知は意図したものだったか

たとえば addEntryWithInfo:tagName: というメソッドを呼び出すと LKQueueDidAddEntryNotification という通知が送られることをテストする場合を書いてみる。

テスト対象のメソッドの実装イメージはこんな感じ。
- (LKQueueEntry*)addEntryWithInfo:tagName:
{
     :
    [[NSNotificationCenter defaultCenter]
        postNotificationName:LKQueueDidAddEntryNotification
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/1050009485154846809/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/08/ocunit-notification.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1050009485154846809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1050009485154846809'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/08/ocunit-notification.html' title='OCUnit で Notification をテストする'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3411905104397533501</id><published>2011-08-12T14:11:00.000+09:00</published><updated>2011-08-12T14:11:54.606+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode 4'/><title type='text'>Xcode4.1 デバッグ時のアセンブリ表示からの脱出</title><summary type='text'>ある日突然この現象が起きた。
デバッガを起動するとObjective-Cのソースコードの代わりにアセンブリコードが表示されるようになった。設定をいじった覚えは無いのだが。。

ネットで調べてみるとどうもそういうモードがあるらしい。
Xcodeのデバッガは：なぜ私だけにアセンブラを示し、それを何ですか？


この "Show Disassembly When Debugging" がそのスイッチらしい。これをオフにすると

治った。
一時はデバッグがまともにできないしどうしようかとも思った。やれやれ。

参考まで。


</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3411905104397533501/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/08/xcode41.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3411905104397533501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3411905104397533501'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/08/xcode41.html' title='Xcode4.1 デバッグ時のアセンブリ表示からの脱出'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-c6dWfee3dTg/TkS1L2VlgnI/AAAAAAAAGPQ/JxZv85V0PWg/s72-c/110812-0005.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5911874297453568689</id><published>2011-08-08T12:54:00.001+09:00</published><updated>2011-08-08T13:15:00.718+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='Core Graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>CALayer を使ってビューの内側に影を落とす</title><summary type='text'>ビューの上の縁に影を落としたい。こんな感じ。

簡単に出来る方法はないか。

CALayer
CALayer を使うと簡単にビューに影を落とすことができる。
CALayer* layer = self.imageView1.layer;
    layer.shadowOffset = CGSizeMake(2.5, 2.5);
    layer.shadowColor = [[UIColor blackColor] CGColor];
    layer.shadowOpacity = 0.5;

ただこの方法はビューの外側に影を落とせても、ビューの内部には影を落とせない。
どうするか。

CALayer のプロパティを眺めていていると shadowPath に気がついた。このプロパティには CGPathRef を渡すことができる。
@property CGPathRef </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5911874297453568689/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/08/calayer.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5911874297453568689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5911874297453568689'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/08/calayer.html' title='CALayer を使ってビューの内側に影を落とす'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-s9dfXO74Dvo/Tj9fYrBfO3I/AAAAAAAAGOI/DrgYlUQehBo/s72-c/110808-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8065397851352043561</id><published>2011-08-01T12:58:00.003+09:00</published><updated>2011-08-01T13:01:33.864+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='ライブラリ開発'/><title type='text'>数字キーボードビュー（ライブラリ）を公開</title><summary type='text'>数字キーボードもどきを作ってみました。

キートップをタップすると標準キーボードのようにポップアップします。
CoreGraphicsの関数を使って全部自力で描いてます。

lakesoft/LKNumberPad - GitHub



インストール
1. GitHubからプロジェクトをダウンロードした後 Xcode 4 で開く。
2. その中から LKNumberPadView.h と LKNumberPadView.m を自分のプロジェクトへコピーして追加する。


使い方
Xib を使う場合は次の通り。
1. 表示したいビューを開き、UIView を貼りつけた後、クラスを LKNumberPadView に変更する。
推奨サイズは 横 320 x 縦 54。
2. 背景色(Background)プロパティを設定する。
これだけで表示できるようになる。

次にボタンがタップされた時</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8065397851352043561/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/08/blog-post.html#comment-form' title='4 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8065397851352043561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8065397851352043561'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/08/blog-post.html' title='数字キーボードビュー（ライブラリ）を公開'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-kgZ4QwTr0XE/TjYhjCXN--I/AAAAAAAAGN4/IgQ0kTkGTQg/s72-c/110730-0007.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7256666034136240456</id><published>2011-07-08T16:08:00.002+09:00</published><updated>2011-07-08T16:26:23.888+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><title type='text'>[iOS] SCNetworkReachabilityGetFlags のブロックの件</title><summary type='text'>以前、Cocoaの日々: ネットワーク接続状況を知る[2] SCNetworkReachabilityGetFlags はブロックする という記事を書いたがそのブロックの原因がわかった。


SCNetworkReachabilityCreateWithName
以前は、SCNetworkReachability のインスタンスを作るのにホスト名ベースの関数を使っていた。こんな感じ。
SCNetworkReachabilityCreateWithName(kCFAllocatorDefault,
   [@"xcatsan.com" UTF8String]);この後、接続性をチェックする為に SCNetworkReachabilityGetFlags() を呼び出すとブロックするケースがあった、というのがその記事の内容だったのだが、その理由は DNSによる名前解決に時間がかかっていた為と</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7256666034136240456/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/07/ios-scnetworkreachabilitygetflags.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7256666034136240456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7256666034136240456'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/07/ios-scnetworkreachabilitygetflags.html' title='[iOS] SCNetworkReachabilityGetFlags のブロックの件'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2129542242561903420</id><published>2011-07-07T12:18:00.001+09:00</published><updated>2011-08-22T12:10:29.906+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><title type='text'>[iOS] UITableView でプルダウンすると再読込するユーザインタフェースを実装</title><summary type='text'>（2011-08-22 追記）
矢印画像のアニメーションにひっかかりが発生する件は解決策が見つかった。下記を参照のこと。
Cocoaの日々: Blocks を使ったアニメーションのひっかかりを解消する



[前回] Cocoaの日々: [iOS] UITableView でセルをスワイプするとスライドするユーザインタフェースを実装

今回も Twitterアプリのまね。UITableView をプルダウンした時に出てくるあのユーザインターフェイスを実装してみた。

"pull down to refresh" と呼ばれているらしい。


サンプル
まずはサンプルの動作から。

ここでプルダウンすると上部にメッセージが現れる。
さらに引き下げるとメッセージが変わる。左の画像もクルッと回転して上向きになる。
ここで指を離すとしばらく止まる。サンプルでは単純に２秒のウェイトを入れてある。
２</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2129542242561903420/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/07/ios-uitableview.html#comment-form' title='5 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2129542242561903420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2129542242561903420'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/07/ios-uitableview.html' title='[iOS] UITableView でプルダウンすると再読込するユーザインタフェースを実装'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-XOAduhe5DzI/ThRkcYQ8LVI/AAAAAAAAGNY/k4c2iYEBlBY/s72-c/110706-0013.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-1210574404358313300</id><published>2011-07-06T18:08:00.041+09:00</published><updated>2011-07-06T18:34:58.077+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><title type='text'>[iOS] transform を使った画像のお手軽回転アニメーション</title><summary type='text'>１枚の画像を回転させるアニメーションを実現したい。UIView の transform プロパティを使うと非常に簡単にできることがわかった。


サンプル
初期状態。ここで start を押すと
時計回りに回転が始まり

下を向いた状態で終わる。


実装用意している画像はこの１枚だけ。


※画像入手元および画像作者
入手元：Arrow, Up icon | Icon Search Engine
作成者: Kyo Tux　（ホームページ kyo-tux on deviantART）



これを UIImageView.image に設定し、transformプロパティを使って回転させる。こんな感じ。
- (IBAction)start:(id)sender {
    
    self.imageView.transform = </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/1210574404358313300/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/07/ios-transform.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1210574404358313300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1210574404358313300'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/07/ios-transform.html' title='[iOS] transform を使った画像のお手軽回転アニメーション'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-fUV33kFEhZY/ThQlH8sHvnI/AAAAAAAAGM8/Amr7dELmv3I/s72-c/110706-0007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7356631453406630747</id><published>2011-06-29T12:19:00.007+09:00</published><updated>2011-06-29T15:07:25.499+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><title type='text'>[iOS] UITableView でセルをスワイプするとスライドするユーザインタフェースを実装</title><summary type='text'>スワイプしてセルが横にスライドする動作を実装してみた。Twitterクライアントなどで実装されているあれ。


サンプル
セルを右方向にスワイプすると

スライドアニメーションが始まり下に隠れていたビューが姿を現す。

開ききった状態。

この後左にスワイプするか、他のセルをスワイプするとスライドが閉じる。


実装
ロジックスワイプイベントは RootViewController で受け取り、セルの開け閉めを管理する。


ビューの配置
通常表示のビュー（BaseView）の下にスライド時に現れるビュー（SlideView）を重ねておく。普段は SlideView は隠れて見えない。
一時的に順番を入れ替えて内容を確認。SlideView はこんな感じ。



スワイプの処理
RootViewController にUIGestureRecognier を左右両方向について登録しておく</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7356631453406630747/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-uitableview.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7356631453406630747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7356631453406630747'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-uitableview.html' title='[iOS] UITableView でセルをスワイプするとスライドするユーザインタフェースを実装'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-LlM0fJAObCI/Tgnfd46wSzI/AAAAAAAAGL4/2Y7xbua5BkE/s72-c/110628-0010.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2351607883443070298</id><published>2011-06-28T12:43:00.003+09:00</published><updated>2011-06-28T12:50:54.446+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='Core Graphics'/><title type='text'>[iOS][Mac] Core Graphics - グラデーション</title><summary type='text'>CoreGraphics の グラデーションについての覚書き。



Linear Gradient
２つの点を指定してその間でグラデーションを表現する方式。

CGGradientRef() で定義し、CGContextDrawLinearGradient() で描画する。あらかじめ描画したい形（パス）を登録しておく。コードはこんな感じ。
- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();   
    CGContextSaveGState(context);
   
    CGContextAddRect(context, self.frame);
   
    CGColorSpaceRef colorSpaceRef = </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2351607883443070298/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/iosmac-core-graphics.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2351607883443070298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2351607883443070298'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/iosmac-core-graphics.html' title='[iOS][Mac] Core Graphics - グラデーション'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Bkuqfd1QeII/TglMIs-u38I/AAAAAAAAGLU/HS7Cy1Eddno/s72-c/110628-0009.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-799209752904912663</id><published>2011-06-26T23:10:00.004+09:00</published><updated>2011-06-26T23:23:27.246+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><title type='text'>[iOS] Responder Chain と UIViewController</title><summary type='text'>@novi_ さんの指摘をきっかけに UIViewController が UIResponder のサブクラスで Responder Chain に参加していることを知った（今更だが。。）。

Responder Chain
Responder Chain とは UIResponderオブジェクトの連なり（リンク）のことで、イベント処理の順番を決定するのに使われる。イベントが発生すると、システムは Redponder Chain の順番にしたがって UIResponderオブジェクトを評価する。もし最初の UIResponderオブジェクトでイベント処理が行われない場合は Responder Chain の次の UIResponderオブジェクト へと移り再び評価を行う。イベント処理を行う UIResponderオブジェクトが見つかるまで Responder Chain 上のリンクを辿</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/799209752904912663/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-responder-chain-uiviewcontroller.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/799209752904912663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/799209752904912663'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-responder-chain-uiviewcontroller.html' title='[iOS] Responder Chain と UIViewController'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-tV57QO2jE7o/Tgcx2Wus2vI/AAAAAAAAGLE/ZSz_ifynzb4/s72-c/110626-0002.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2103965046957593171</id><published>2011-06-26T22:04:00.002+09:00</published><updated>2011-06-26T22:11:24.494+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><title type='text'>[iOS] UINib を使ったカスタム UITableViewCell の作り方（その３）ボタンの処理[改良版]</title><summary type='text'>[前回] Cocoaの日々: [iOS] UINib を使ったカスタム UITableViewCell の作り方（その２）ボタンの処理

前回のコードで何番目のセルがタップされたかどうかを判断するのに View階層上で特定のクラスに所属するインスタンスを検索する処理をしていた。
- (IBAction)didTouchDoitButton:(id)sender
{
    id cell = sender;
    while (![cell isKindOfClass:[CustomCell class]]) {
        cell = [cell superview];
    }
    NSIndexPath* indexPath = [self.tableView indexPathForCell:cell];
    NSLog(@"%@", indexPath);
}</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2103965046957593171/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-uinib-uitableviewcell_26.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2103965046957593171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2103965046957593171'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-uinib-uitableviewcell_26.html' title='[iOS] UINib を使ったカスタム UITableViewCell の作り方（その３）ボタンの処理[改良版]'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3172534315541362692</id><published>2011-06-25T16:21:00.001+09:00</published><updated>2011-06-26T22:07:33.345+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><title type='text'>[iOS] UINib を使ったカスタム UITableViewCell の作り方（その２）ボタンの処理</title><summary type='text'>[参考] Cocoaの日々: [iOS] UINib を使ったカスタム UITableViewCell の作り方

カスタムセルにボタンを貼りつけた時の処理パターンの紹介。

処理パターン
ボタンのタップイベントをどこで受け取るべきか。カスタムセルで受け取るのも手だが単なるビューなのでモデルとのつながりが無い。モデルとの接点があるのは ViewController なのでここでイベントを受け取るのが順当だろう。


実装
まず ViewController に IBAction を追加する。
@interface RootViewController : UITableViewController {
    CGFloat cellHeight_;
}
// cell events
- (IBAction)didTouchDoitButton:(id)sender;
@end
続いて </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3172534315541362692/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-uinib-uitableviewcell.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3172534315541362692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3172534315541362692'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-uinib-uitableviewcell.html' title='[iOS] UINib を使ったカスタム UITableViewCell の作り方（その２）ボタンの処理'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ZYXrmaXnDKM/TgWJBcp-_CI/AAAAAAAAGKw/RhvtW_j0Jbg/s72-c/110625-0004.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4964867807170120219</id><published>2011-06-09T08:55:00.000+09:00</published><updated>2011-06-09T08:55:18.365+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode 4'/><title type='text'>[iOS][Mac] Xcode4 : カスタムなコードスニペットの作成</title><summary type='text'>やってみたらとても簡単だった。コードを選択して Code Snippet Library へドロップするだけ。

"My Code Snippet" が追加される。

ダブルクリックすると内容の確認ができる。

Edit を押すと内容の編集が可能。編集画面ではタイトルや補完ショートカットなどの設定ができる。

またプラットフォーム（iOS, Mac OS X）や言語（Objective-C, HTML, Perl, ...）、スコープ（宣言部、実装部、メソッド内、コメント内、...）などが選べる。以下はスコープの選択肢。Title, Summary を対象に検索ができるので自分のものはそれとわかるキーワードを入れておくと探しやすいかも。


"Completion Shortcut" には補完する時にマッチさせる文字列を入れておく。
するとコード上で文字列の一部を入れると選択</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4964867807170120219/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/iosmac-xcode4.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4964867807170120219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4964867807170120219'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/iosmac-xcode4.html' title='[iOS][Mac] Xcode4 : カスタムなコードスニペットの作成'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-l8RqBkyU4QM/TfAKZJzdB1I/AAAAAAAAGJ4/da0Zj83kKgA/s72-c/110609-0003.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8149866409744995638</id><published>2011-06-08T14:39:00.006+09:00</published><updated>2011-06-08T15:32:06.442+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode 4'/><title type='text'>[iOS][Mac] Xcode4 : ドラッグ＆ドロップで IBOutlet コードを生成する</title><summary type='text'>知ってはいたが試してなかった。こりゃ便利。
＃しこしこ手で書いていた今まではいったいなんだったのか。。

以下、手順

まず Xib を開いた後、右上の Editor から真ん中の Assistant Editor を開く。

次に IBOutlet を作りたいコントロールを選択し、Controlキーを押しながらコードを挿入したい位置で離す。

するとタイプや変数名を聞いてくるので入力する。
これでおしまい。
プロパティだけでなくメンバ変数の宣言も。

もちろん接続も済んでいる。
さらに @synthesize も書いてくれる。

さらにさらに viewDidUnload まで。
ちゃんと dealloc も（抜かり無い）

必要なものはすべてお膳立てしてくれるようだ。こりゃ便利。


IBAction も同様。ヘッダへ落とせば宣言に加え、実装ファイル(*.m)にメソッドの雛形も書</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8149866409744995638/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/iosmac-xcode4-iboutlet.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8149866409744995638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8149866409744995638'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/iosmac-xcode4-iboutlet.html' title='[iOS][Mac] Xcode4 : ドラッグ＆ドロップで IBOutlet コードを生成する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-y_msGzKKlhU/Te8JwMnC-EI/AAAAAAAAGJM/35qtXwrUFoQ/s72-c/110608-0001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5696117171954471412</id><published>2011-06-03T08:41:00.001+09:00</published><updated>2011-06-03T08:54:46.592+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='ライブラリ開発'/><title type='text'>[iOS] AES128暗号化ライブラリ FBEncryptor 公開</title><summary type='text'>AESで暗号化・復号化できる CCCrypt の簡易ラッパー FBEncryptor を作りました。結果（バイナリ値）を Base64 で受け取ることもできます。
dev5tec/FBEncryptor - GitHub

暗号化方式
アルゴリズム：AES 128
モード：CBC
鍵長：256ビット
パディング：PKCS7これ一種類だけ

インストール
GitHubからプロジェクトをダウンロードした後 Xcode 4 で開く。その中から下記のファイルを自分のプロジェクトへコピーして追加する。

FBEncryptorAES.h
FBEncryptorAES.m
NSData+Base64.h
NSData+Base64.m

使い方
NSDataベースの暗号化・復号化
Data系メソッドを使う。
+ (NSData*)encryptData:(NSData*)data key:(</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5696117171954471412/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-aes128-fbencryptor.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5696117171954471412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5696117171954471412'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/06/ios-aes128-fbencryptor.html' title='[iOS] AES128暗号化ライブラリ FBEncryptor 公開'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-be_MkaoFSmg/TegiuZ8MV2I/AAAAAAAAGJI/03XbU25H3gM/s72-c/110602-0001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5435886119853168240</id><published>2011-05-25T21:15:00.000+09:00</published><updated>2011-11-14T23:26:53.416+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='ライブラリ開発'/><title type='text'>[iOS] ネットワーク接続状況取得ライブラリを公開</title><summary type='text'>ネットワークの接続状況を取得できるライブラリを公開しました。
dev5tec/FBNetworkReachability - GitHub



特徴

現在の接続状況（WiFi, 3Gなど）を取得することができる。

以下、使い方の例
FBNetworkReachability* network =
    [FBNetworkReachability networkReachabilityWithHostname:@"http://xcatsan.com/"];

FBNetworkReachabilityConnectionMode mode = network.connectionMode;
switch (mode) {
    case FBNetworkReachableNon:
        // 未接続
        break;

    case </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5435886119853168240/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios_25.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5435886119853168240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5435886119853168240'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios_25.html' title='[iOS] ネットワーク接続状況取得ライブラリを公開'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-f8Qm6rAt8_o/TdybuyKKlzI/AAAAAAAAGJA/4VIVQWiU_jw/s72-c/110525-0015.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4422068565554901340</id><published>2011-05-22T00:51:00.004+09:00</published><updated>2011-06-29T15:25:39.035+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><title type='text'>[iOS] UINib を使ったカスタム UITableViewCell の作り方</title><summary type='text'>2011-06-09 追記　UITableViewCell の Identifier 設定を忘れてたので追記しました。

UINib を使うと簡単に Nib で定義した UITableViewCell が使える。
今回のサンプル：


[関連] Cocoaの日々: [iOS] UINib を使ったカスタム UITableViewCell の作り方（その２）ボタンの処理


実装
まず CustomCell.xib を作る。

ここで表示したいセルのデザインを行う。UITableViewCell のクラスに "CustomCell" を指定しておく。

（2011-06-09 追記）
Identifier には "CustomCell" を設定しておく。この文字列は自由に付けられるがソースコード上の該当箇所と一致させておく。設定しないとセルの再利用が行われない。


次に </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4422068565554901340/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios-uinib-uitableviewcell.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4422068565554901340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4422068565554901340'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios-uinib-uitableviewcell.html' title='[iOS] UINib を使ったカスタム UITableViewCell の作り方'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-t_YVS1l1FPs/TdfaONcLmoI/AAAAAAAAGI0/S6V6QT5QAxc/s72-c/110522-0003.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8383396339603656553</id><published>2011-05-16T00:42:00.000+09:00</published><updated>2011-05-16T00:42:49.106+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><title type='text'>[iOS] 非同期処理を同期処理に変える</title><summary type='text'>問題
この前リリースしたカスタム UIAlertView は表示メソッドを呼び出した後はそのまま処理が続行される。
Cocoaの日々: [iOS] ユーザ名/パスワードの入力ができるカスタム UIAlertView ライブラリを公開

例えば下記のような場合。
- (IBAction)showAlert:(id)sender
{
    [LKAccountPanel showWithTitle:@"Test"
                       completion:^(BOOL result, NSString* username, NSString* password) {
                           NSLog(@"result: %d\nusername: %@\npassword: %@",
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8383396339603656553/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8383396339603656553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8383396339603656553'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios.html' title='[iOS] 非同期処理を同期処理に変える'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-DAAh_K_vtFc/Tc_uZ9KsmYI/AAAAAAAAGIw/K056DqMWwO0/s72-c/110516-0001.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-5786306562653775681</id><published>2011-05-14T07:50:00.000+09:00</published><updated>2011-05-14T07:50:51.588+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='ライブラリ開発'/><title type='text'>[iOS] 簡易 Keychain Services ラッパー LKKeychain を公開</title><summary type='text'>Keychain Serivce の簡易ラッパー LKKeychain を公開しました。
lakesoft/LKKeychain - GitHub

パスワードの追加、更新、削除が行えます。追加はこんな感じ。
[LKKeychain updatePassowrd:@"hdsI3823Khdf"
                    account:@"hashiguchi@lakesoft.jp"
                    service:@"SampleService"];

インストール
GitHubからプロジェクトをダウンロードした後 Xcode で開く。

その中から LKKeychain.h と LKKeychain.m を自分のプロジェクトへコピーして追加する。


使い方
用意されているクラスメソッドを呼び出す。

追加・更新[LKKeychain </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/5786306562653775681/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios-keychain-services-lkkeychain.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5786306562653775681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/5786306562653775681'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios-keychain-services-lkkeychain.html' title='[iOS] 簡易 Keychain Services ラッパー LKKeychain を公開'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Qj6Wa7dMRQI/Tc21DXxiFrI/AAAAAAAAGIs/BFRckdmhxUo/s72-c/110514-0001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8437803893388802185</id><published>2011-05-11T23:22:00.003+09:00</published><updated>2011-05-25T22:16:29.587+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='ライブラリ開発'/><title type='text'>[iOS] ユーザ名/パスワードの入力ができるカスタム UIAlertView ライブラリを公開</title><summary type='text'>ユーザ名とパスワードの入力を促すカスタム UIAlertView を公開しました。
lakesoft/LKAccountPanel - GitHub



呼び出しコードはこんな感じ。
[LKAccountPanel showWithTitle:@"Test"
                       completion:^(BOOL result, NSString* username, NSString* password) {
                           NSLog(@"result: %d\nusername: %@\npassword: %@",
                                 result, username, password);
                       }];結果を Blocks で</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8437803893388802185/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios-uialertview.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8437803893388802185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8437803893388802185'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/05/ios-uialertview.html' title='[iOS] ユーザ名/パスワードの入力ができるカスタム UIAlertView ライブラリを公開'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XKtKfDY6uyI/TcqaLyIwGfI/AAAAAAAAGIo/EWp0EWtKPZc/s72-c/LKAccountPanel-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6395788276551300026</id><published>2011-05-09T00:51:00.001+09:00</published><updated>2011-05-09T00:54:35.596+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='パターン'/><category scheme='http://www.blogger.com/atom/ns#' term='GCD'/><title type='text'>[iOS][Mac] dispatch_once を使ったシングルトン</title><summary type='text'>[元ネタ] Cocoa Samurai: Singletons: You're doing them wrong

GCD の dispatch_once 関数を使うとスレッドセーフなシングルトンの初期化処理をこんな感じで書ける。
static LKLocationManager* sharedManager_ = nil;
+ (LKLocationManager*)sharedManager
{
    static dispatch_once_t onceToken;
    dispatch_once(&amp;onceToken, ^{
        sharedManager_ = [[LKLocationManager alloc] init];
    });
    return sharedManager_;
}dispatch_once() の第２引数のブロックは１回のみ</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6395788276551300026/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/05/iosmac-dispatchonce.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6395788276551300026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6395788276551300026'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/05/iosmac-dispatchonce.html' title='[iOS][Mac] dispatch_once を使ったシングルトン'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4Eb-RwehbNQ/Tca69-MgQyI/AAAAAAAAGIQ/WY9pTUy55so/s72-c/110509-0001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8448410399139289321</id><published>2011-04-22T12:11:00.001+09:00</published><updated>2011-04-22T12:12:19.774+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>[iOS] データ保護（Data Protection）</title><summary type='text'>データ保護
iOS 4 以降、データ保護機能が提供されるようになった。特徴は次の通り。

データ保護機能を有効にするにはパスコードロックを有効にする必要がある
データ保護の適用はファイル単位となる
アプリケーションが明示的にファイルにデータ保護属性を付加することで有効になる
データ保護属性のついたファイルには、デバイスロック中は保護されていてアクセスができない
バックグラウンドで動作するアプリであっても、デバイスロック時にはデータ保護されたファイルへアクセスできない
データ保護属性のついたファイルは、デバイスロック中に iTunesなどのツールから持ち出すことができない
データ保護属性のついたファイルは暗号化される
対象機種：iPhone 4, iPhone 3GS,  iPod touch (3rd generation or later), and all iPad models
[</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8448410399139289321/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/04/ios-data-protection.html#comment-form' title='3 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8448410399139289321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8448410399139289321'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/04/ios-data-protection.html' title='[iOS] データ保護（Data Protection）'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-no9i4yacnOk/TbDgE1Y2suI/AAAAAAAAGIM/EAp5zXVEUuE/s72-c/110422-0003-64%2525.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2373009149283389461</id><published>2011-04-08T23:36:00.002+09:00</published><updated>2011-12-01T22:52:28.750+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='Grand Central Dispatch'/><category scheme='http://www.blogger.com/atom/ns#' term='Multi Tasking'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>[iOS] バックグラウンド実行見本（Task Completion）</title><summary type='text'>（2011-12-01 追記あり）UIApplicationDelegateの呼び出しが iOS5 から変わった件。

Task Completion を使った iOS4 でのバックグラウンド実行サンプルを作ってみた。

サンプル
実行するとキューにたまった 30個のデータが順番に処理されてテーブルから消えていく。

処理は GCD を使い別スレッドで実行される。右上の[+]ボタンを押すとキューへデータが追加されていく。途中でホームボタンを押してアプリを切り替えても Task Completion によって処理は停止すること無く実行され続ける。わかりやすいようにアプリのアイコンバッヂに残タスク数を表示してみた。
バッジの数字は時間と共にカウントダウンされていくので処理が行われていることが確認できる。


Task Completion とは？
Task Completion は、iOS4</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2373009149283389461/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/04/ios-task-completion.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2373009149283389461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2373009149283389461'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/04/ios-task-completion.html' title='[iOS] バックグラウンド実行見本（Task Completion）'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-_6Ym8gNPGGo/TZ8SbeFIWqI/AAAAAAAAGH0/40agLVVxc60/s72-c/110408-0001-50%2525.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8445729920960694432</id><published>2011-03-30T23:09:00.002+09:00</published><updated>2011-03-30T23:12:23.962+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='ライブラリ開発'/><title type='text'>[iOS] カスタムプログレスバー公開</title><summary type='text'>カスタムプログレスバーのソースコードを GitHub にて公開しました。
dev5tec/FBProgressView - GitHub

iOS版 Twitterアプリや iDisk などで使われているあの表現↓



インストール
GitHubからプロジェクトをダウンロードし、その中から FBProgressView.h と FBProgressView.m を自分のプロジェクトへコピーして追加する。


使い方
FBProgressView のインスタンスを作成し progress プロパティへ 0.0〜1.0 の値を渡すだけ。以下はコードでインスタンスを生成する例。
FBProgressView* progressView =
  [[FBProgressView alloc] initWithFrame:CGRectMake(100, 100, 200, 40)];
[</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8445729920960694432/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/03/ios.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8445729920960694432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8445729920960694432'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/03/ios.html' title='[iOS] カスタムプログレスバー公開'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-XDMqof1YHY4/TZM281T_OMI/AAAAAAAAGHw/TtG6Ruf9Qis/s72-c/110330-0003.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3596991563069899819</id><published>2011-03-11T08:37:00.003+09:00</published><updated>2011-03-11T08:42:41.339+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ios 4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='日付'/><title type='text'>[iOS][Mac] ISO 8601 相当の日付文字列を NSDateFormatter で変換する</title><summary type='text'>ISO 8601日付文字列を NSDateに変換する
例えば
2010-12-01T21:35:43+0900という文字列があった場合
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate* date = [formatter dateFromString:string];
[formatter release];で NSDate へ変換できる。

ISO 8601 には多くのバリエーションがあって上記書式は Facebook API などで使われている ISO 8601 書式の一つ。

　参考：ISO 8601 - Wikipedia

これはどうか？時差が +09:00 となっている（先ほどは </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3596991563069899819/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/03/iosmac-iso-8601-nsdateformatter.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3596991563069899819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3596991563069899819'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/03/iosmac-iso-8601-nsdateformatter.html' title='[iOS][Mac] ISO 8601 相当の日付文字列を NSDateFormatter で変換する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4929840128651973059</id><published>2011-03-07T09:00:00.001+09:00</published><updated>2011-03-07T09:00:05.975+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='ファイル操作'/><title type='text'>[iOS] ディレクトリ配下の総ファイルサイズを計算する 〜 BSDのftsを使う</title><summary type='text'>ファイルキャッシュライブラリを作っていてキャッシュディレクトリ配下の総ファイルサイズを計算する必要が出てきた。今回はファイルサイズ計算にBSD由来のライブラリ fts を使ってみた。


fts
Apple のリファレンスを眺めているとディレクトリ走査でパフォーマンスを考慮するなら fts を使うのがいいと出ていた。
File-System Performance Guidelines: Iterating Directory Contents
上記内の Traversing Directories in BSD に記述あり。

調べてみたところ fts というのは BSD系OSで使われているディレクトリ走査用のライブラリのようだ。
fts_open - Linuxの手で行なうページ

（特徴）
・サブディレクトリを含むファイルとディレクトリの一覧を取得できる
・パス名の他、stats</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4929840128651973059/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/03/ios-bsdfts.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4929840128651973059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4929840128651973059'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/03/ios-bsdfts.html' title='[iOS] ディレクトリ配下の総ファイルサイズを計算する 〜 BSDのftsを使う'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-QwH_OiOmoo8/TXOA_nPfySI/AAAAAAAAGHg/ExTuZLSlYJA/s72-c/110306-0004.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7540932015966126609</id><published>2011-02-26T07:54:00.004+09:00</published><updated>2011-02-26T14:18:43.957+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Core Data'/><title type='text'>CoreData - マイグレーションを考慮した CoreDataManager パターン</title><summary type='text'>2/27 マイグレーションにかかる時間を訂正・加筆しました（別の数字を誤って掲載してました。実際はもっと遅い）。
一般的な CoreDataManager パターンの問題
CoreData を使う場合 CoreDataManager というシングルトンを使って NSManagedObjectContext などを管理させるのが一般的なパターン。こんな感じ。
@interface CoreDataManager : NSObject {

 // Core Data Stack
 NSPersistentStoreCoordinator *persistentStoreCoordinator_;
  NSManagedObjectModel *managedObjectModel_;
  NSManagedObjectContext *managedObjectContext_;
}
@</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7540932015966126609/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/coredata-coredatamanager.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7540932015966126609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7540932015966126609'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/coredata-coredatamanager.html' title='CoreData - マイグレーションを考慮した CoreDataManager パターン'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-dEVHeEu9nU4/TWgiijtJhEI/AAAAAAAAGHM/6FGrdrkGEwo/s72-c/110226-0009-77%2525.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-435029664114190680</id><published>2011-02-26T06:27:00.000+09:00</published><updated>2011-02-26T06:27:27.944+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><title type='text'>[iOS] iPad の場合、UITableView の背景を透明にするには setBackgroundView:nil が必要</title><summary type='text'>元ネタ。
setBackgroundView:nil


self.tableView.backgroundColor = [UIColor clearColor];
iPhone の時にやっていた上記が効かず困っていたのだが、そういことか。

- (void)viewDidLoad {
    [super viewDidLoad];

 [self.tableView setBackgroundView:nil];
 [self.tableView setBackgroundView:[[[UIView alloc] init] autorelease]];
 self.tableView.backgroundColor = [UIColor clearColor];
透明になった。
</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/435029664114190680/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-ipad-uitableview.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/435029664114190680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/435029664114190680'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-ipad-uitableview.html' title='[iOS] iPad の場合、UITableView の背景を透明にするには setBackgroundView:nil が必要'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-tcsb13LxS3Q/TWgelp1mXOI/AAAAAAAAGHA/rAH4TS4SFgY/s72-c/110226-0008.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2886339598456618805</id><published>2011-02-24T12:58:00.000+09:00</published><updated>2011-02-24T12:58:18.092+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Snipet'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Core Data'/><title type='text'>[iOS][Mac] CoreData - マイグレーションが必要かどうかを知る</title><summary type='text'>マイグレーションの要不要は？
CoreData では属性を追加したり変更するとマイグレーションが必要になる。過去にリリースしたアプリを新しいアプリでバージョンアップする時にマイグレーションが必要かどうか判断するにはどうしたらよいか？


実装
NSPersistentStoreCoordinator を使えば良い。
こんな感じ。
- (BOOL)isRequiredMigration
{
 CoreDataManager* manager = [CoreDataManager sharedManager];
 [[[NSPersistentStoreCoordinator alloc]
  initWithManagedObjectModel:manager.managedObjectModel] autorelease];
 
 NSURL* fileURL = [</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2886339598456618805/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/iosmac-coredata.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2886339598456618805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2886339598456618805'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/iosmac-coredata.html' title='[iOS][Mac] CoreData - マイグレーションが必要かどうかを知る'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4461480741712575925</id><published>2011-02-22T16:49:00.000+09:00</published><updated>2011-02-22T16:49:09.053+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PKI'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><title type='text'>[iOS] iPad へクライアント証明書をインストールしたときのスクリーンショット</title><summary type='text'>今後、開発中の iPad/iPhone アプリでクライアント証明書を使用する可能性があるので少しづつ検証を進めていく。今回は試しに PKCS#12形式（拡張子 p12）の証明書ファイルをメールで添付し、それを iPad の Mail.app で開いてインストールした。その時のスクリーンショットを記録として残しておいた。なおインストールしたクライアント証明書は、その証明書を要求するサイトへのアクセスで利用することが確認できた。

わかったこと
・iOS 4.2 へ PKCS#12（拡張子 p12）形式のファイルのインストールが可能
・インストールした証明書は Safari で利用可能（自動的に利用される）


以下、スクリーンショット。


メールに添付されたファイルをタップ

「設定」が開き、インストールボタンが表示される。
詳細
インストールボタンを押すと確認を求められる。
iPad </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4461480741712575925/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-ipad.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4461480741712575925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4461480741712575925'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-ipad.html' title='[iOS] iPad へクライアント証明書をインストールしたときのスクリーンショット'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Uz3adu9qEIo/TWNoeRKpTLI/AAAAAAAAGG4/wsK-pXlWUaM/s72-c/Screenshot+2011.02.22+16.11.50.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-1875167624772490911</id><published>2011-02-18T07:03:00.002+09:00</published><updated>2011-02-18T07:05:26.601+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='お知らせ'/><title type='text'>毎日更新終了のお知らせ</title><summary type='text'>ブログはこの先も続けますが、今後の更新頻度は毎日ではなく不定期にします。

理由はご存知のとおり(?)、ここのところ実質毎日更新ができていないことにあります。最近は子育て他で以前に比べるとプログラミングに割ける時間がぐっと減ってしまい、ブログを書く時間もなかなか取れなくなってきました。またブログを書く為にアプリ開発に時間が取れないという本末転倒な状況に陥ってきたというのもあります。

今年の２月で毎日更新が満３年を迎えてちょうど節目を迎えたことと(*1)、毎日更新を始めた当初の目的である「Cocoaの勉強を習慣化する」というのが果たせたということもあり、このタイミングで毎日更新を終了することにしました。

ブログを続けることで SimpleCap を完成することできたし今では iPhone/iPad アプリ開発の仕事もするようになって Cocoa を使う機会も増えました。そういう意味でも</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/1875167624772490911/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1875167624772490911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1875167624772490911'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/blog-post.html' title='毎日更新終了のお知らせ'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3461131174606974039</id><published>2011-02-07T00:00:00.075+09:00</published><updated>2011-02-13T18:31:22.119+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Keychain Services'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><title type='text'>[iOS] 複数アプリケーション間でのデータ共有 〜 Keychain Services を使った第三の方法</title><summary type='text'>※タイトルはあまり深い意味は無い。なんとなく「第三の〜」の響きが良かったので。。

前回紹介した Keychain Services を使えば制限付きながら iOS 上の複数のアプリケーションでデータ共有ができることがわかったのでそれを解説する。

[前回] Cocoaの日々: [iOS] Keychain Services とは


仕組み
Keychain Services に格納されるアイテム（パスワードなど）のアクセス制御は Keychain Access Group（グループ）を元に行われる。アイテムにはこのグループ属性があり、同じグループに所属しているアプリケーションからのみアクセスが許可される。

アプリケーションは複数のグループに所属することができるので、データの共有を目的したグループを用意しておき、複数のアプリケーションでこのグループに所属すれば、このグループに所属する</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3461131174606974039/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-keychain-services_07.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3461131174606974039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3461131174606974039'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-keychain-services_07.html' title='[iOS] 複数アプリケーション間でのデータ共有 〜 Keychain Services を使った第三の方法'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-DfknJbAstYs/TValfS-uPNI/AAAAAAAAGGM/x49eZd_5mlA/s72-c/110213-0003.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2762335579278376832</id><published>2011-02-06T00:00:00.003+09:00</published><updated>2011-02-13T00:41:33.120+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Keychain Services'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><title type='text'>[iOS] Keychain Services とは</title><summary type='text'>パスワードを暗号化して安全に iPhone/iPad へ保管したい。iOS はこの用途の為に Keychain Services を提供している。今回は Keychain Services について調べてみた。リファレンスの内容に加え、独自に調査・検証した結果をまとめてある。動作確認の為のサンプルも GitHub に置いておいた。

概要
利用方法
2.1 API
2.2 検索条件（query）
2.3 属性値（attributes）
2.4 クラス
2.5 属性の種類
2.6 ユニークキー
2.7 kSecAttrAccessible
2.8 エラーコード
アクセス制御
3.1 Keychain Access Group（グループ）
3.2 アプリケーションの所属グループ
3.3 グループの変更
3.4 グループの命名ルール
3.5 デフォルトグループの決定ルール
3.6 アイテム</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2762335579278376832/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-keychain-services.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2762335579278376832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2762335579278376832'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios-keychain-services.html' title='[iOS] Keychain Services とは'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZoUhefzk0CI/TUuVeYYblPI/AAAAAAAAGE4/sJHma9WmQ-o/s72-c/110204-0004.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3973365047599337608</id><published>2011-02-05T00:00:00.001+09:00</published><updated>2011-02-11T23:32:39.814+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS 4.2'/><title type='text'>[iOS] 起動に時間がかかりすぎるとクラッシュする（原因と対策など）</title><summary type='text'>起動時間が長いとクラッシュ
iOS アプリは起動に時間がかかりすぎるとクラッシュする。具体的にはアプリで -[UIApplication application:didFinishLaunchingWithOptions:] での処理が規定された時間を越えた場合に iOS によって強制終了させられてしまう。これが原因で落ちた場合はクラッシュレポートの execution code が 0x8badf00d ("ate bad food") が出る。
（例）Incident Identifier: A3345F94-896E-4D74-AC14-282B3A8996C7
CrashReporter Key:   5e0a8626193824c21a4b9fef635fa1542c92d1c2
   :
Exception Type:  00000020
Exception Codes: </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3973365047599337608/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3973365047599337608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3973365047599337608'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/ios.html' title='[iOS] 起動に時間がかかりすぎるとクラッシュする（原因と対策など）'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-KjmNMl4a3uw/TVU7dsJFc_I/AAAAAAAAGFs/GVd9zXmiVXU/s72-c/110211-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-7406348619970313041</id><published>2011-02-04T00:00:00.003+09:00</published><updated>2011-02-07T11:37:48.747+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Objective-C'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode 3.2.5'/><title type='text'>switch文でローカル変数を宣言する</title><summary type='text'>私はローカル変数をそれを使うコードの直前で定義する派（？）なのだが、switch文のケース内で定義ができなくていつも残念に思っていた。
今日ふと気がついてブロック { } で囲ってみた。

するとコンパイルが通った。おお、これはいい。

＃この既述が気持ち悪い人もいるかもね。</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/7406348619970313041/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/switch.html#comment-form' title='6 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7406348619970313041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/7406348619970313041'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/switch.html' title='switch文でローカル変数を宣言する'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZoUhefzk0CI/TU9YHGJUGUI/AAAAAAAAGFk/qfKJ6BNaphM/s72-c/110207-0003.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-6448428061408878586</id><published>2011-02-03T00:00:00.016+09:00</published><updated>2011-02-04T13:34:37.929+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>[Mac] Event Monitor 〜 Cocoaにおけるホットキー実装に使えるか？</title><summary type='text'>リファレンスを眺めていたらたまたま Event Monitor という APIを見つけた。10.6 から導入された仕組みで他のアプリのイベントをキャプチャできるらしい。


Event Monitor
Cocoa Event-Handling Guide: Monitoring Events

Mac OS X v10.6 から NSEvent に Event Monitor が導入された。Local Monitor と Global Monitor の２種類があり、前者はアプリ内のイベント、後者は他のアプリのイベントをキャプチャすることができる。API はこんな感じで Blocks で処理を記述するようになっている。
NSEvent Class Reference
+ (id)addGlobalMonitorForEventsMatchingMask:(NSEventMask)mask</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/6448428061408878586/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/mac-event-monitor-cocoa.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6448428061408878586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/6448428061408878586'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/mac-event-monitor-cocoa.html' title='[Mac] Event Monitor 〜 Cocoaにおけるホットキー実装に使えるか？'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZoUhefzk0CI/TUs-vREWaxI/AAAAAAAAGEs/c-EsvEAELUA/s72-c/110204-0001-45%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4426156283869979980</id><published>2011-02-02T00:00:00.001+09:00</published><updated>2011-02-02T00:00:03.432+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='トラックパッド'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><title type='text'>[Mac] トラックパッド 〜 deviceSize でトラックパッド実物の大きさがわかる？</title><summary type='text'>[前回] Cocoaの日々: [Mac] トラックパッド 〜 ２本指によるドラッグを扱う

トラックパッド実物の大きさを計算してみる
MacBook Pro 12'(1280x800) の場合、-[NSTouch normalizedPosition] の戻り値は次のとおり。
{297.638, 215.433}72ppiで逆算すると
横幅：297[pixel] / 72[ppi] = 4.125[inch] = 10.5[cm]
縦幅：215[pixel] /72[ppi] = 2.986[inch] = 7.6[cm]実物のトラックパッドの大きさを測ってみたところほぼ同じ。おー。


deviceの値
-[NSTouch device] というメソッドもある。こちらの戻り値をログへ表示すると下記のようになった。
&lt;NSObject: 0x100551f30&gt;リファレンスによると複数の</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4426156283869979980/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/mac-devicesize.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4426156283869979980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4426156283869979980'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/mac-devicesize.html' title='[Mac] トラックパッド 〜 deviceSize でトラックパッド実物の大きさがわかる？'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZoUhefzk0CI/TUeEqzXRweI/AAAAAAAAGEk/JHJnk0u2XGE/s72-c/%25E5%2586%2599%25E7%259C%259F.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8651673628867416603</id><published>2011-02-01T00:00:00.004+09:00</published><updated>2011-02-01T13:09:56.054+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='トラックパッド'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><title type='text'>[Mac] トラックパッド 〜 ２本指によるドラッグを扱う</title><summary type='text'>トラックパッドで２本指のドラッグを扱ってみた。

サンプル
サンプルを起動するとウィンドウが１つ立ち上がる。

この中に表示されている画像を２本指でドラッグすると画像がそれに追随して移動する。


実装
画像を表示し、トラックパッドのイベントを処理するカスタムビューを用意する。
@interface GestureView : NSView {

 NSImage* image_;
 BOOL isTracking_;

 NSTouch* previousTouch_;
}

@property (nonatomic, retain) NSTouch* previousTouch;
@endタッチイベントは NSResponder の関連メソッドをオーバライドして処理する。まず touchesBeganWithEvent: において２本指のタッチを検出し、その時の片方の指の </summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8651673628867416603/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/02/mac.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8651673628867416603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8651673628867416603'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/02/mac.html' title='[Mac] トラックパッド 〜 ２本指によるドラッグを扱う'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZoUhefzk0CI/TUeCpZeOsUI/AAAAAAAAGEg/FG7qdn4_D-M/s72-c/110201-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2832048695877372955</id><published>2011-01-31T00:00:00.015+09:00</published><updated>2011-01-31T00:00:06.841+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><title type='text'>[Mac] トラックパッド 〜 タッチイベントサンプル LightTable のソースを読む</title><summary type='text'>タッチイベントを扱うサンプルプログラムが Appleから提供されている。
LightTable

２本指でタッチした時のイベント処理を参考にする為に上記ソースを読んでみたところイベントの処理で面白いコードがあったので紹介する。


LightTable
LightTable を立ち上げると白いウィンドウが起動する。ここへ画像をD&amp;Dするとその画像をジェスチャー操作で動かすことができるようになる。

画像は２本指ドラッグで移動、ピンチで拡大縮小操作ができる。３本指でスワイプすると左側の設定エリアの表示を切り替えられる。


ジェスチャーを扱う
ピンチやスワイプ、回転といったジェスチャーはあらかじめ NSResponder にメソッドが用意されているので簡単に利用できる。これは前回までで紹介した。一方、NSResponderに用意されていない、２本指のドラッグ操作などは自前で複数の</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2832048695877372955/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-lighttable.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2832048695877372955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2832048695877372955'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-lighttable.html' title='[Mac] トラックパッド 〜 タッチイベントサンプル LightTable のソースを読む'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZoUhefzk0CI/TUGCLsm23CI/AAAAAAAAGEE/ambUhKEqgdw/s72-c/110127-0010-37%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-4501762328593725773</id><published>2011-01-30T00:00:00.001+09:00</published><updated>2011-01-30T00:00:03.652+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'></title><summary type='text'>トラックパッド - ２本指で回転

[関連] 

10.6 から追加されたトラックパッドを使った回転操作のイベントを確認してみた。

回転 (rotate)
２本指をトラックパッドへ置いた後、指を左右に回転させる。システム環境設定の「トラックパッド」で有効無効の設定が可能。iPhone ではあまり使われていない（というか見た覚えがない）。

ここで無効になっていると後述する回転時のイベントが受け取れない。




サンプル
初期画面。

トラックパッドで２本指を右に回すと画像が右に回転する。



実装
イベントをハンドリングしたいビューの -[NSResponder rotateWithEvent:] をオーバライドするだけで良い。
- (void)rotateWithEvent:(NSEvent *)event {

    [selfsetBoundsRotation:([</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/4501762328593725773/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/01/10.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4501762328593725773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/4501762328593725773'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/01/10.html' title=''/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZoUhefzk0CI/TUF56AMva_I/AAAAAAAAGD4/Ew1vqTRONRA/s72-c/110127-0007-51%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-8562601978392668161</id><published>2011-01-29T00:00:00.013+09:00</published><updated>2011-01-29T00:00:15.943+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>[Mac] トラックパッド 〜 ピンチで拡大縮小</title><summary type='text'>[関連] Cocoaの日々: [Mac] トラックパッドのスワイプのイベントを受け取る

10.6 から追加されたトラックパッドを使ったピンチ操作のイベントを確認してみた。

ピンチ (pinch)
iPhone でお馴染みの２本指を使った拡大縮小操作。２本指をトラックパッドへ置いた後、指を近づけると縮小操作（pinch-in）となる。システム環境設定の「トラックパッド」で有効無効の設定が可能。

ここで無効になっていると後述するピンチのイベントが受け取れない。


サンプル
初期画面。
トラックパッドでピンチイン（２本指を近づける）と縮小する。

ピンチアウト（２本指を遠ざける）と拡大する。




実装
イベントをハンドリングしたいビューの -[NSResponder magnifyWithEvent:] をオーバライドするだけで良い。
- (void)</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/8562601978392668161/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac_29.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8562601978392668161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/8562601978392668161'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac_29.html' title='[Mac] トラックパッド 〜 ピンチで拡大縮小'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZoUhefzk0CI/TUF4kCsb5pI/AAAAAAAAGDk/0oqh7fJaUcY/s72-c/110127-0005-51%2525.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-2841507030644174563</id><published>2011-01-28T00:00:00.003+09:00</published><updated>2011-01-28T00:00:02.580+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>[Mac] NSTableView - ヘッダのカスタマイズ [5] スクロールバーの上の四角〜cornerView</title><summary type='text'>[前回] 

cornerView とは？
NSTableView には cornerView というメソッドでビューを取得できる。このビューは何かというとスクロールバー上の四角のエリアにあるヤツを指す。
ヘッダをカスタマイズする場合はここの描画もカスタマイズ内容に合わせておいた方が良い（でないと上記のように色違いになってしまう）。

cornerView はカスタムビューを割り当てることができるのでボタンとして機能させることもできる。Xcodeで cornerView の活用例を見ることができる。
 

実装
今回はカスタムビュー CustomCornerView を作りこれを NSTableView へ割り当てた。
@interface CustomCornerView : NSView {

}

@end描画コードは前回までの CustomHeaderCell の背景と同じなので</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/2841507030644174563/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-nstableview-5-cornerview.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2841507030644174563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/2841507030644174563'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-nstableview-5-cornerview.html' title='[Mac] NSTableView - ヘッダのカスタマイズ [5] スクロールバーの上の四角〜cornerView'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZoUhefzk0CI/TT_Izo4WUkI/AAAAAAAAGDQ/HnHI3Latt-M/s72-c/110126-0012.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-3035311491683072663</id><published>2011-01-27T00:00:00.043+09:00</published><updated>2011-01-27T00:00:07.149+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>[Mac] NSTableView - ヘッダのカスタマイズ [4] ソートマーク▼の描画</title><summary type='text'>[前回] Cocoaの日々: [Mac] NSTableView - ヘッダのカスタマイズ [3] ハイライト処理

前回までのサンプルではソートを表す三角▼▲が表示されていない。今回はこれを表示する。


ソート状態の表示
NSTableHeaderCell の -drawWithFrame:inView: をオーバライドすると、ソート指定時に表示される三角が表示されなくなる。NSTableHeaderCell 内で三角形を描画する –drawSortIndicatorWithFrame:inView:ascending:priority: を呼び出す必要がある。

ただこの時困るのは NSTableHeaderCell がソートの状態（ascending, priority)を持っていないこと。NSTableView にも NSTableColumn にもそれらしいメソッドは提供</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/3035311491683072663/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-nstableview-4.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3035311491683072663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/3035311491683072663'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-nstableview-4.html' title='[Mac] NSTableView - ヘッダのカスタマイズ [4] ソートマーク▼の描画'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZoUhefzk0CI/TT-nBeOUKEI/AAAAAAAAGDI/D6GiHBnhqIE/s72-c/110126-0008.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6347132870493912656.post-1963482123618386639</id><published>2011-01-26T00:00:00.020+09:00</published><updated>2011-01-26T07:05:33.828+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X 10.6'/><category scheme='http://www.blogger.com/atom/ns#' term='サンプルあり'/><title type='text'>[Mac] NSTableView - ヘッダのカスタマイズ [3] ハイライト処理</title><summary type='text'>[前回] Cocoaの日々: [Mac] NSTableView - ヘッダのカスタマイズ [2] グラデーション

前回までのコードだとヘッダを選択した時に元のスタイルの表示に戻ってしまう。
選択された時もちゃんと描画するように手を加える。こうなる。

選択時の状態は NSCell における hilighed 状態を指す。この時の描画メソッドは専用に用意されているのでこれをオーバライドする。
- (void)highlight:(BOOL)flag withFrame:(NSRect)cellFrame inView:(NSView *)controlView
;描画内容は普通の状態の色（黒）を濃くしたものする。これらなら前回のコードに手を入れれば簡単にできる。前回までのメソッド _drawInrect: を拡張して hilighted:(BOOL)hilighted を追加する。
-</summary><link rel='replies' type='application/atom+xml' href='http://cocoadays.blogspot.com/feeds/1963482123618386639/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-nstableview-3.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1963482123618386639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6347132870493912656/posts/default/1963482123618386639'/><link rel='alternate' type='text/html' href='http://cocoadays.blogspot.com/2011/01/mac-nstableview-3.html' title='[Mac] NSTableView - ヘッダのカスタマイズ [3] ハイライト処理'/><author><name>xcatsan</name><uri>http://www.blogger.com/profile/07611922019852427552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://bp3.blogger.com/_ZoUhefzk0CI/R__yKBCa5HI/AAAAAAAAAaE/NFhqHEwMe-c/S220/pro.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZoUhefzk0CI/TT9FKuxk_uI/AAAAAAAAGC0/ufRZUrCFdVo/s72-c/110126-0006.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
