xcode4でios3.2の場合エラーになる。

xcodeで、iPhoneアプリを作成し、iPadでも動作するようにuniversalアプリ化を試していました。

xcode3までは、「Project – Upgrade Current Target for iPad…」というメニューが用意されており、割と簡単にUniversalアプリが作れていた。(ようだ)
いまだに、公式ドキュメントもそのままになっている。
xcode4には、それが見当たらない。

そこで、
[iPhone/iPad] 手作業でユニバーサルアプリ化する

http://blog.syuhari.jp/archives/2264

こちらを参考に、手作業でuniversalアプリ化してみました。

画面は、xcode3ですが、手作業においては、やることは、xcode4でも同じです。

  1. MainWindow-iPad.xibを作る。
    1. xibだけ作ります。
    2. File’s OwnerのTypeを「UIApplication」に変更。
    3. MainWindow.xibより、[AppDelegate],[Viewcontroller]をコピー。
    4. [UIApplication]のdelegateを[AppDelegate]に接続
    5. [AppDelegate]のwindowを[UIWindow]に接続
  2. [ViewController]を作成する。
    1. [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];
このように書けるそうです。

この記述であれば、問題なく動作しました。

以上。

コメントを残す

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