xcodeで、iPhoneアプリを作成し、iPadでも動作するようにuniversalアプリ化を試していました。
xcode3までは、「Project – Upgrade Current Target for iPad…」というメニューが用意されており、割と簡単にUniversalアプリが作れていた。(ようだ)
いまだに、公式ドキュメントもそのままになっている。
xcode4には、それが見当たらない。
そこで、
[iPhone/iPad] 手作業でユニバーサルアプリ化する
http://blog.syuhari.jp/archives/2264
こちらを参考に、手作業でuniversalアプリ化してみました。
画面は、xcode3ですが、手作業においては、やることは、xcode4でも同じです。
- MainWindow-iPad.xibを作る。
- xibだけ作ります。
- File’s OwnerのTypeを「UIApplication」に変更。
- MainWindow.xibより、[AppDelegate],[Viewcontroller]をコピー。
- [UIApplication]のdelegateを[AppDelegate]に接続
- [AppDelegate]のwindowを[UIWindow]に接続
- [ViewController]を作成する。
- [Viewconatoller-iPad.xib]ができる。
いろいろやって、実行してみたら、動かない。
self.window.rootViewController = self.viewController;
この行でエラーが出る。
半日以上、調査してやっと見つけました。
「http://beat.sakura.hippy.jp/?eid=1233637」
[rootViewControlle]これが、iOS4.0以上でなければ、使えないそうです。
xcode4だと、通常iOS4以上になり気付かなかったところ。
ここは、
[self.window addSubview:self.viewController.view];
このように書けるそうです。
この記述であれば、問題なく動作しました。
以上。