現在のデバイスがiPhone3G、iPhone 4、iPadのいずれであるかに応じて、iPhoneアプリケーションで異なる画像を使用したいと思います。デバイスの画面解像度(サイズ)を取得しようとしましたが、iPhoneごとに常に320X480が返されます。
正しい画像を提供できるように、実行しているデバイスのタイプを確認するにはどうすればよいですか?
iPhoneOS版を入手したくない。
現在のデバイスがiPhone3G、iPhone 4、iPadのいずれであるかに応じて、iPhoneアプリケーションで異なる画像を使用したいと思います。デバイスの画面解像度(サイズ)を取得しようとしましたが、iPhoneごとに常に320X480が返されます。
正しい画像を提供できるように、実行しているデバイスのタイプを確認するにはどうすればよいですか?
iPhoneOS版を入手したくない。
iOSには、iPhone(網膜および網膜前の解像度)およびiPadに適したサイズで画像をロードするためのサポートが組み込まれているため、実行しようとしていることを実行する必要はほとんどありません。
詳細については、リソースプログラミングガイド(具体的には、「iOSでの高解像度画像の指定」および「iOSがデバイス固有のリソースをサポートする」セクション)およびiOSアプリケーションプログラミングガイドをお読みください。
ちなみに、Retinaの前後のiPhone/ポッドのポイント解像度は320X 480です。Appleは、ポイントサイズ(解像度に依存しない)とピクセルサイズを区別して、作業を支援します。
解像度に適したグラフィックを選択する目的でこの情報が必要な場合は、middaparkaの答えがあなたが探しているものです。
ただし、別の目的でデバイスモデルまたは解像度情報が必要な場合は、UIDeviceとUIScreenが必要になる場合があります。
NSString *myDeviceModel = [[UIDevice currentDevice] model];
CGRect myScreenSize = [[UIScreen mainScreen] bounds].size;
私は以下の1つが私の問題を解決すると思います
https://github.com/erica/uidevice-extension/blob/master/UIDevice-Hardware.m
ありがとう