2012-05-16 10 views
14

Rozwijam aplikację na iOS za pomocą ZBar SDK do skanowania kodów QR. Here ZBar SDK creators tell us żeJak skonfigurować aplikację iOS do pracy na określonych urządzeniach?

tylko iPhone 3GS i iPhone 4 są obsługiwane, ponieważ mają aparat z auto-focus. Biblioteka ZBar nie obsługuje iPhone'a 3G, a raczej nie będzie go obsługiwać.

Dodałem więc klucz auto-focus-camera do sekcji Required Device Capabilities mojego plist. Wszystko jest super, z wyjątkiem jednej rzeczy - iPad 2 & iPod Touch 4th Gen nie ma kamery z autofokusem, ale nadal może używać mojego kodu ZBar SDK do skanowania kodów QR. Ale mój klucz auto-focus-camera nie pozwala użytkownikom z iPad 2 i iPodem Touch 4th Gen pobrać mojej aplikacji ze sklepu App Store.

Innymi słowy muszę znaleźć sposób, aby moja aplikacja do zainstalowania poprzez App Store na tych urządzeniach:

  1. iPhone 3GS.
  2. iPhone 4.
  3. iPhone 4S.
  4. iPad 2.
  5. Nowy iPad.
  6. iPod Touch 4-ty Gen.

I na tych urządzeniach moja aplikacja nie powinny być dostępne:

  1. iPhone 2G.
  2. iPhone 3G.
  3. iPad.
  4. iPod Touch 3D Gen i

Moje pytanie brzmi: w jaki sposób, aby moja aplikacja dostępna w App Store za pierwsze liście urządzeń użytkownik i nie są dostępne dla urządzenia druga lista użytkowników?

Każda pomoc zostanie doceniona!

PS: Widziałem this question on SO, ale niewiele mi to pomaga.

PS2: This app ma żądany zestaw dostępnych urządzeń.

Wymagania: Kompatybilny z iPhone 3GS, iPhone 4, iPhone 4S, iPod touch (4. generacji), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (3rd generacji) i iPad Wi -Fi + 4G.

Czy ktoś wie, jak to zrobili?

PS3: Jednocześnie dodając oba still-camera i auto-focus-cameragives us this:

Wymagania: Kompatybilny z iPhone, iPod touch (4. generacji), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G , iPad (3. generacji) i iPad Wi-Fi + 4G.

To nie jest świetny sposób, o ile wszystkie iPhony są odpowiednie dla naszej aplikacji, zamiast 3GS, 4 i 4S.

PS4: Moja aplikacja is here i ma takie wymagania:

Wymagania: Kompatybilny z iPhone 3GS, iPhone 4 i iPhone 4S.

Odpowiedz

2

Musimy użyć klucza video-camera w sekcji Required Device Capabilities pliku plist.

5

nie jestem pewien, że można to zrobić

Może można zrobić test w kodzie i jeśli model urządzenia nie jest dobry, tylko pop nowego widoku mówiąc, że model, który użytkownik, którego używa, nie może wykonać pracy w aplikacji?

Można wykryć model z tym:

#import <sys/utsname.h> 

NSString* 
machineName() 
{ 
    struct utsname systemInfo; 
uname(&systemInfo); 

return [NSString stringWithCString:systemInfo.machine 
          encoding:NSUTF8StringEncoding]; 
} 

i podać, że:

@"i386"  on the simulator 
@"iPod1,1" on iPod Touch 
@"iPod2,1" on iPod Touch Second Generation 
@"iPod3,1" on iPod Touch Third Generation 
@"iPod4,1" on iPod Touch Fourth Generation 
@"iPhone1,1" on iPhone 
@"iPhone1,2" on iPhone 3G 
@"iPhone2,1" on iPhone 3GS 
@"iPad1,1" on iPad 
@"iPad2,1" on iPad 2 
@"iPhone3,1" on iPhone 4 
@"iPhone4,1" on iPhone 4S 

Else można spróbować wysłać wiadomość e-mail do jabłkiem

+1

Dzięki, pomyślałem o takim podejściu, ale nie chciałbym, aby użytkownik zainstalował moją aplikację, jeśli ma nieobsługiwane urządzenie, ponieważ moja cała aplikacja zależy od wersji urządzenia. Wyobraź sobie, że instalujesz aplikację i po pierwszym uruchomieniu pojawia się komunikat "Przepraszamy, ale nie możesz używać tej aplikacji, ponieważ twoje urządzenie nie jest obsługiwane!" To nie jest sposób przyjazny dla użytkownika. –

+1

Możesz powiedzieć w opisie aplikacji, że nie działa z takim lub takim modelem, a po ich błędzie, jeśli nie czytają: P –

+1

Hehe, dobra uwaga, ale to wciąż nie jest przyjazny dla użytkownika sposób :) –

8

Słowo obiektywu wymaga armv7 , opengles-2 i video-camera możliwości urządzenia.

+1

W tej chwili uważam, że "kamera wideo" to rozwiązanie :) –

Powiązane problemy