query: tag:iOS

Singletonを使う場面はよくあるんですが、iOS4以降はGrand Central Dispatchがあるのでそれのdispatch_onceを使う必要があるみたいで、メモ。

GCD 前:
rails>>

  • (MyController*)singleton {
    static MyController *controller = nil;

    if(!controller) {
    controller = [[MyController] alloc] init];
    }
    return controller;

}
<<--

GCD 後:

rails>>

  • (MyController*)singleton {
    static dispatch_once_t pred = 0;
    static MyController *controller = nil;

    dispatch_once(&pred, ^{
    controller = [[MyController alloc] init];
    });
    return controller;

}
<<--

Cocoa Fundamentals GuideのClass Factory Methods項の下のほーーーうにあるCreating a Singleton Instanceの説明もとても参考になります。これは読むべし:

Cocoa Fundamentals Guide
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html#//apple_ref/doc/uid/TP40002974-CH4-SW32

また、Apple Developer Forumsのこの質問もとても勉強になります:

Apple Developer Forums
https://devforums.apple.com/message/455002#455002

下記も参考

Singletons: You're doing them wrong
http://cocoasamurai.blogspot.com/2011/04/singletons-your-doing-them-wrong.html

posted by satoko satoko on Tue 28 Jun 2011 at 11:23 with 0 comments

iOS用にライブラリをビルドするのは面倒な作業の一つですが、
いくつかのよく利用するライブラリのビルド済みバイナリが
以下で提供されているようです。

含まれているライブラリは以下の通り。

  • OpenSSL
  • Cyrus SASL
  • libEtPan
  • zlib
  • libssh2
  • cURL

それぞれ、armv6, armv7, i386 の各アーキテクチャ毎に
ビルドされたバイナリが含まれています。

ありがたいですね。

posted by genki genki on Thu 31 Mar 2011 at 07:21 with 0 comments

既存のiPhoneアプリをiPhone/iPad両対応の universal バイナリ化した場合、
iTunes Connect上でのstatusが"Missing Screenshot"になってしまうことがあるようです。

これはどうやら、全てのローカライゼーションに対してiPad用のscreenshotを少なくともひとつ設定すると解決する模様。
universal化した場合は、デフォルトの画像を自動的に全てのローカライゼーションに適用してくれないようなので、ローカライゼーションが多い場合は大変です。

posted by genki genki on Thu 30 Dec 2010 at 06:40 with 0 comments

最適化PNGの話を寄稿させていただいた
iOS SDK HACKSがついに発売されます。

iOS SDK Hacks ―プロが教えるiPhoneアプリ開発テクニック
吉田 悠一 高山 征大 UICoderz
オライリージャパン
売り上げランキング: 1481

見た目はこんな感じです。

IMG_0827.JPG

お勧めです。

posted by genki genki on Sun 17 Oct 2010 at 07:14 with 0 comments