Как ни странно, обе модели поставляются под кодом устройства iPad1,1 (iPad 2s имеет три разных кода iPad2,1, iPad2,2 и iPad2,3, что позволяет отличить их).
Да, при загрузке обновлений всегда есть один двоичный файл для iPad первого поколения.
Так что код, который я использую для определения различий между моделями iPad 1st Gen, проверяет наличие функций GPS с помощьюследующий код:
Be предупредил , что вышеуказанный код ObjectiveC, скорее всего, будет отклонен Apple, если вы хотите, чтобы ваше приложение было доступно в AppStore.Это потому, что функция, которую вы рассматриваете, является частью приватной платформы.
#define GRAPHICS_SERVICES_PATH "/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices"
Если вы хотите использовать это (например, приложение не из AppStore), то вы должны иметь возможностьдля p / вызова функции, используя:
using System.Runtime.InteropServices;
...
[DllImport ("/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices")]
static extern bool GSSystemHasCapability (IntPtr value);
...
bool HasGPS ()
{
using (NSString gps = new NSString ("gps"))
return GSSystemHasCapability (gps.Handle);
}
ОБНОВЛЕНИЕ Кажется, единственный (действительный для AppStore) способ обнаружить GPS - это использовать службы определения местоположения и запросить их точность.См .: Как узнать, есть ли на устройстве iOS GPS?