2011/05/25

iPhoneアプリで必要になるイメージのサイズ一覧

iPhone/iPod touch用アプリを作成するにあたって、必要になるイメージのサイズをまとめる。

  1. アプリアイコン
    • 114x114 : Retina用アプリアイコン(png)
    • 57x57   : アプリアイコン(png)
  2. アートワーク
    • 512x512 : iTunes用アプリアイコン(jpg)
  3. UITabBar
    • 60x60  : Retina用アイコン(png)
    • 30x30  : アイコン(png)
  4. NavigationBar/ToolBarアイコン
    • 40x40  : Retina用アイコン(png)
    • 20x20  : アイコン(png)
とりあえず、こんなものか?
詳しくは下記


2011/05/15

UINavigationController いん UITabBarController

TabController内にNavigateController を内包させる方法(非IB)。

IBを使って同じ事をさせているサンプルはネット上に多数あったが、いまいちウマくいなかったので、結局IBでの実装をあきらめ、手動で実装した。
Viewの構成を忘れないうちにまとめておく。

Window

UITabController
(UIViewController.h/m/nibを変更してTabController化)
+ーーーーーーーーーーー+・・・ (setViewControllers:でtabにViewを割当)
↓           ↓
UINavigationController UIViewControllerなど

UiViewController(initWithRootViewControllerあたりで設定)
↓(以降 pushでバンバン追加)


UITabControllerのでっち上げ方。
①すの状態

②TabBarControllerを追加


③不要になったViewを削除


④ViewControllerとnibのマッピング+α


projectの作成時に、View-base Applicationで作成。
ViewControllerをTabControllerに切り替えると、割とらくにできる。

後はよしなに。

2011/05/14

リファクタリングの罠

ほんの軽い気持ちで行ったリファクタリングが原因でちょっとハマってしまったので、備忘録として記載しておく。

現在作成中のアプリに機能追加をしている最中、ViewControllerのクラス名(ファイル名も同名)にTypoを見つけた。
Nibファイルと同時に作成したViewControllerだ。
早速、XCode4のRefactor機能を使って修正した。

しばらく実装中の機能を仕上げて、さて動作確認をするかと動かしてみると、なぜか今まで動いていた機能が動かない。
調べてみると、ViewControllerのviewDidLoadの段階で、InterfaceBuilderを使ってNibファイルにマッピングされたはずのメンバのポインタが軒並み0x0を指していた。
つまり、Nibファイルへのマッピングが外れていた。

この現象の原因は、クラス名のリファクタリングを行った際、XCodeは関連するシンボルを検索して置き換えを行ってくれるが、同時に作成したNibファイルのファイル名は置き換え対象になっていないらしい。
(File'sOwnerのクラス名は書き換えているらしい)
さらに、InterfaceBuilderを使用する場合だけかもしれないが、Nibファイルのファイル名は該当ViewControllerのクラス名と一致している必要があるようだ。

なにわともあれ、コードの変更中に、何かのついでにリファクタリングをかけるのは避けよう。
副作用に気づかないままリファクタリングをかけた事を忘れて、貴重な時間を無駄にしかねない。

2011/05/06

iOS 4.3.3は開発環境の提供無し?

iOS4.3.3の提供が開始された。
早速、手持ちのiPod touchをアップデートしてみた。
連休中の忙しいこの時期に、XCodeの再インストールかよ。とぼやきながら、
iOS Dev Centerを開く。

あれ?

XCode4のPosted Dateが4月のままだ。
ひょっとして、開発環境の提供は今回は無しですか?
XCode4.0.2を起動してみると、案の定、オーガナイザーが「知らないOSだぜ」と不平を漏らした。
同時に、こんなコーションが表示された。
ここで「Collect」を押下すれば、OKらしい。

少しさわった限りでは今のところ問題なくiOS4.3.3のデバイスに対して、アプリのインストール/デバッグが可能だ。

iOSのアップデートの度に、4G超のファイルをダウンローダさせられていてはたまったもんではないので、この方式は非常に助かる。
今後も、この方法で開発環境のアップデートはしていってください>>Appleさん