2017-09-03 17 views
0

これはiPadPro 12.9インチ2世代シミュレータでiPhoneコードをテストするときに得られるものです。不一致はありませんか?ありがとう、ダビデ。iOS iPhone iPad Simulator

enter image description here

enter image description here

+0

プロジェクトを普遍的なアプリケーションにしましたか? Appleのドキュメントでは、この値は普遍的なアプリケーション(排他的に?)で使用されるべきだと述べています。 https://developer.apple.com/documentation/uikit/uidevice/1620037-userinterfaceidiom?language=objc – hakkurishian

+0

いいえ、私はストアにアプリケーションを提出しようとしています。これはiPhoneだけですが、iPadでも実行できるはずです(!!)。それは私のために起こったことはありませんが、私は昨年ではなく、多くを提出していないので、おそらく正当です。とにかく、私が拒否のページを作ることができるように私はiPadで実行するかどうかを知る必要があります。 –

答えて

0

私は非常に代わりインターフェースイディオムをチェックするこのUIDeviceHardwareを使用することをお勧めします: https://github.com/fahrulazmi/UIDeviceHardware/blob/master/UIDeviceHardware.m

NSString *platformString = [UIDeviceHardware platformString]; 

私は今しばらくの間、それを使用してきた、それが動作します私にとって完璧です。

ただし、シミュレータで使用するときに問題があります。シミュレータで実行する場合、プラットフォームはx86_64またはi386と同じです。これは単にiPadまたはiPhoneを返すだけです。だから...実際のデバイスでこれをテストしたり、少なくとも実際のデバイスであなたのためにテストする人がいなければ、満足のいく結論を見つけられないような気がします。 「iPadのプロ12.9インチ(無線LAN)」または「iPadのプロ12.9インチ(セルラー)」 https://github.com/fahrulazmi/UIDeviceHardware/blob/master/UIDeviceHardware.m#L83-L84

良い方法:お使いの場合には

、あなたは、これら二つのプラットフォーム文字列のいずれかをチェックしますプレフィックスを確認するだけです: [platforString hasPrefix:"iPad Pro 12.9-inch"]

+0

私はそれのようなことをしましたが、それはまだ変です。 –

関連する問題