これが、複製を使用して〜ipad.xib(s)を作成し、それらをプロジェクトのバックアップに追加し直して、ユニバーサルをチェックすることにより、既存のiPhoneプロジェクトからユニバーサルアプリを作成した方法です。
ベースSDKが4.3.3、展開ターゲットが3.1.2のxcode4.02を使用しました。
- プロジェクト全体をどこかにバックアップします。
- iPhoneターゲットを右クリックして、複製を選択します。単に複製するのではなく、iPad用に複製を選択します。これにより、Resources-iPadという新しいフォルダーが作成され、その下にclassesというサブフォルダーがあり、その下にプロジェクト全体のすべてのxibファイルのコピーがあります。(面白いことに、ファインダーでこれらのファイルを見ると、xcodeウィンドウに拡張子が表示されていても.xib拡張子がありません-なぜですか?ファインダーは、とにかくそれらがxibファイルであると言っています。)
- この時点で、2つのターゲットがありました。これは間違っているように思われたので、ファインダーに移動して新しいResources-iPadフォルダーのバックアップコピーを作成し、プロジェクト全体を削除しました。
- 手順1でバックアップした元のiPhoneプロジェクトをコピーして戻します。
- バックアップされたResources-iPadフォルダーを追加し、iPadに適した外観になるように編集しました。
- これで、良さそうなターゲットが1つあり、ターゲットの概要でiPhoneではなくユニバーサルデバイスにしました。
- ただし、シミュレーターまたはデバイスにデプロイするときに一貫性のない動作が発生しました。明らかな理由もなく、間違ったxibが使用されることがありました。
- これで修正されました-xcodeのResources-iPad/classesフォルダーで、ipadのすべてのxibの名前をmynibname.xibからmynibname〜ipad.xibに変更します(前にティルダ、すべて小文字)
この方法で問題がないかどうかについてのドキュメントは見つかりませんでした。これまでのところ、これらの物理デバイスで動作します。
iPad 2 with 4.3、iPod touch v1 with 3.1.2、iPod touch v4(retina)with 4.1
これはユニバーサルアプリを作成する正しい方法ですか?私がこれを解決したので、今では十分に簡単に思えますが、この情報を見つけるのに永遠にかかりました。また、mainwindow.xibはありませんが、タブバーアプリのテーブルビューセクションヘッダーおよび詳細ビューとして他の場所に読み込まれる他のペン先があります。そのため、メインインターフェイスセクションは空白のままにしました。
ああ-私はiPad1を持っておらず、そのデバイスでテストできませんが、iPad 3.2シミュレーターでは正しく動作しないようですが、他のすべてのデバイスとシミュレーターは正常に動作しているようです。