2012/01/26

iOS 5向けでアイコンから光沢が外せない!?

久々にハマって焦った。

アプリアイコンから光沢が外せなかったのだ、
今までは、info.plistの項目
"Icon already includes gloss effects"にYESを設定しさえすれば、
アイコンに自動付与される光沢は消せたのだが、
今回は、なぜか消えない。

info.plistの設定をいじったり、思いつく限りの手を試したが、
なぜか手持ちのiPhone4SのHome画面に鎮座するアイコンは、
テッカテカの光沢付き。

もう、いいやと諦めかけていたそのとき、
ふと、視界の端になにかが……
"Icon files (iOS 5)"
なんですか。(iOS 5)って???

はい、有りました。
iOS 5向けのアイコン設定項目です。
サブアイテムのPrimary Iconの下に、
"Icon already includes gloss effects"の設定項目が、
これでめでたく、光沢は消えました。

どうやら、iOS 5向けのアイコン設定が新規で追加されたらしい、
通常のアイコン設定にRetina向け設定、
そして今回のiOS 5向け設定。

これだけアイコンの設定項目が分散していると、
設定するのがめんどそうだが、
SummaryのApp Iconで設定すれば、すべての項目に設定値が反映されるので、
大した手間ではない。

ついでだから、光沢設定もApp Iconで一括で出来ればいいのに。

2012/01/12

HTTPステータスを取得する(ミニ)

気がつけば、年が明けていた。

そして、最後の投稿からもずいぶん時間が経ってしまっていた。
定時側の仕事がえらい事になっていたので、それはしょうがないという事にして、
あんまり放っておくのも、精神衛生上よくないので、
まとまったネタが出来るまでは、
小ネタというか、開発メモを垂れ流して少しお茶を濁そう。

というわけで、HTTPステータスの確認方法をメモめも。


- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
NSInteger code = [((NSHTTPURLResponse*)response) statusCode];
}

NSURLConnectionDelegateのコネクション成立時に通知されるので、
このタイミングで捕まえる。

まぁ、こんなの見なくても通信だけなら何とかなるんだけど、
よりキメの細かい制御をしようと思ったら、必要になってくる。

2011/11/30

UIAlertの出力方向を制御してみる。

UIAlertの出力の向きなんて、通常はあまり意識しない。
意識しなくても、常にそれっぽい向きに出力されているからだ。

しかし、意識せざるを得ない状況は確かに存在する。

それは、UIImagePickerControllerをカメラモードで表示した場合だ。
この場合、開発者の手の届く範囲は、cameraOverlayViewが精一杯と行ったところだろう。

しかし、問題がある。
cameraOverlayViewに登録したViewのViewControllerには、

shouldAutorotateToInterfaceOrientation:の通知が来ない。
つまり、cameraOverlayViewはiPhoneの向きに合わせて回転してくれない。

これを解消するために、notificationCenterから通知を受けて、
無理くり画面を回転させる方法をとる。

事の発端はここなのかもしれないが、
こうする事で、画面は回る。回るのだが、回転するのは画面だけだ。
ここで、他アプリ通知でAlertが表示されたりすると、
画面(cameraOverlayView)は横を向いているのに,
Alertは順方向で表示される。
されてしまう。

これを解消するための方法は、ある。

まず覚えておかなければならないのは、
Alertの表示方向は、stautsBarの位置に影響される。
(statusBarの表示/非表示には関係ない)
つまり、cameraOverlayViewの回転と同時に
[UIApplication sharedApplication].statusBarOrientationを使って
statusBarの位置を調整する。

これで、Alertの向きは正しく表示される。
カメラも安心だ。