iPhoneとiPadアプリをユニバーサルアプリにマージすることに関してたくさんの質問と回答を見てきましたが、それは私がやりたいことではありません。私がやろうとしていることは、アプリの購入でiPadインターフェースのロックを解除し、条件を使用して正しいインターフェースを表示することです。インターフェイスを購入した場合、アプリはiPad Nibを表示し、そうでない場合は、iPhoneアプリケーションと同じように表示します(アプリをスケーリングするオプションなどがあります)。条件は非常に単純で、すでに実装していますが、私が遭遇する問題は次のとおりです。IAPを購入しない場合、iPadはiPhone Nibを表示しますが、通常の方法では表示されません。これは、通常表示される黒い境界線のある中央ではなく、拡大縮小するオプションのない隅にあります。誰かが私がそれを設定する方法を知っているので、私はこの問題を修正しますか?私'
2 に答える
Info.plist
iOSアプリのファイルにはUIDeviceFamily
、アプリがネイティブにサポートするデバイスを一覧表示するキー、が含まれています。キーの値が1、または1を含む配列の場合、アプリはiPhoneとiPodTouchをネイティブにサポートします。値が2の場合、または2を含む配列の場合、アプリはiPadをネイティブにサポートします。
アプリがiPadをサポートしていると表示された場合UIDeviceFamily
、アプリはiPhoneラッパーモードではなく、ネイティブiPadモードで実行されます。
このInfo.plist
ファイルはアプリバンドルの一部であり、アプリバンドル内のファイルを変更することはできません。
したがって、実行時にシステムのネイティブiPadサポートを有効または無効にする方法はありません。アプリのトップレベルビューを、子を中央に配置して拡大縮小するラッパービューに移動し、そのラッパービューをUIWindow
のサブビューとして使用する必要があります。
残念ながら、これは不可能です。iPadは、アプリがiPadに対応していることを認識し、画面をフルサイズで描画するように指示します。iPadでiPhonexibファイルを表示した場合でも、設定したパラメーターを使用して、フルスクリーンに収まるように拡大縮小さUIViewAutoresizingMask
れます。
あなたのサイズをUIWindow
iPhoneサイズ(網膜を考慮に入れることを忘れないでください)にして中央に配置することを強制することも考えられますが、これがどのように/どのように機能するかは100%わかりません。UIView
各フレームを変更する必要がある場合があります。わからない。