Jak sugerowali inni, zamiast wybierać dla konkretnego urządzenia (które ulegnie zniszczeniu, jeśli i kiedy Apple rozleje wariacje lub następny model), należy skupić się na tym, jakich funkcji potrzebujesz. Prawie jedyne aplikacje iPhone'a, które złamały się po uruchomieniu iPada, to te, które wykryły model sprzętu, ponieważ nie miały pojęcia, że iPad się zbliża, a tym samym nie mógł znaleźć tego konkretnego identyfikatora urządzenia.
Jeśli aplikacja absolutnie nie można uruchomić na iPhone 4, ze względu na specyficzne wymagania sprzętowe, takich jak Bluetooth 4.0 Low wsparcie Power byłbyś najlepiej służy, aby dodać bluetooth-le
do swojej UIRequiredDeviceCapabilities
w Info.plist, jak opiszę here . To uniemożliwi użytkownikom nawet instalowanie aplikacji na urządzeniach innych niż 4S, ale pozostawia to otwartą możliwość działania dla przyszłych iPhone'ów, które najprawdopodobniej będą miały sprzęt Bluetooth o niskim poborze mocy.
Jeśli chcesz skalować możliwości sprzętowe, aby skorzystać z A5, możesz sprawdzić, czy obsługuje niektóre z nowych rozszerzeń OpenGL ES, które posiada A5, za pomocą glGetString(GL_EXTENSIONS)
i sprawdzając rozszerzenia, takie jak APPLE_shadow_samplers
. Rozszerzenia te nie występują na A4, ale są tam na A5 i powinny tam być przez kilka kolejnych iteracji sprzętu Apple.
Możliwe, że będziesz mógł również użyć lekko udokumentowanego nowego szkieletu Core Bluetooth, aby przetestować obecność sprzętu 4.0 Low Power w urządzeniu podczas pracy, ale nie spędziłem z nim zbyt wiele czasu.
możliwy duplikat [Jak sprawdzić, czy twój kod działa na iPhonie lub iPhonie3G?] (Http://stackoverflow.com/questions/688001/how-to-tell-if-your-code-is- running-on-an-iphone-or-an-iphone3g) –
Czy mogę zapytać dlaczego? –