iOS5 対応のあれこれ

今日はまちに待った iOS5 の正式リリースの日です!

iPhone アプリデベロッパは各種端末やシミュレータで iOS5 正式版の対応を進めていると思いますが、僕が気づいた点をメモしておきます。Xcode 4.2 での作業になります。

メモ1:armv6 ではビルドできないの?

Xcode 4.2 では上記のようになっていますが下記のように armv6 を追加してあげれば多分ビルドできます。

メモ2:なんか以下の部分( __dyld__dyld_start )で落ちるんですけど。
(参考:http://stackoverflow.com/questions/7668857/updated-xcode-for-ios5-app-wont-run-stops-at-dyld-dyld-start

おそらく、weak_library 使ってるのが原因だと思います。

-weak_library /usr/lib/libSystem.B.dylib

となっている部分を下記に変更しましょう。

-weak-lSystem

メモ3:UINavigationBar の 背景が反映されない。

今までは以下のような感じで変更できました。

@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect
{
    UIImage *image = [UIImage imageNamed: @"header_bg.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end

iOS5 からは以下の方法で変更できます。他にもいい方法あるかもですね。

- (void)viewDidLoad
{
    [super viewDidLoad];

    if ([self.navigationController.navigationBar
        respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
        UIImage *navBGImage = [UIImage imageNamed:@"header_bg.png"];
        [self.navigationController.navigationBar setBackgroundImage:navBGImage
                                                      forBarMetrics:UIBarMetricsDefault];
    }
}

画像は header_bg@2x.png のような感じで Retina 用の解像度を用意してあげます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>