2009-04-01 3 views
5

In meinem Xcode-Projekt gibt es Info.plist Datei in Ressourcen. Es hat ein Attribut wie folgt:Muss ich LSRequiresIPhoneOS überprüfen, um herauszufinden, ob eine Kamera verfügbar ist?

LSRequiresIPhoneOS 

Also meine Frage ist: muss ich das überprüfen? Was ich will ist, dass meine App selbst herausfindet, ob es eine Kamera gibt oder nicht. Wenn nicht, ist die Funktion deaktiviert, und wenn ja: Cool! Es muss sowohl auf dem iPhone als auch auf dem iPod Touch funktionieren!

Ich denke, wenn ich das in Info.plist deaktivieren, kann ich immer noch iPhone-Funktionen verwenden, und Apple wird meinen Code nicht ablehnen, nicht wahr?

Antwort

5

Sie sollten LSRequiresIPhoneOS aktiviert lassen (dies ist der Standardwert). Dies verhindert nicht, dass die App auf dem iPod Touch ausgeführt wird. Es mag verwirrend erscheinen, aber in diesem Fall bezieht sich "IPhoneOS" auf das Betriebssystem, das sowohl auf dem iPhone als auch auf dem iPod Touch läuft (vorausgesetzt, der Benutzer hat iPhone OS auf dem Touch installiert, so dass es Apps von Drittanbietern ausführen kann).

In Bezug auf die Verwendung der Kamera, Sie so etwas wie die folgenden verwenden können, um speziell zu sehen, ob die Kamera verfügbar:

BOOL isCameraAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; 

Diese Art von Ansatz - für bestimmte Funktionen überprüft - ist in der Regel besser als mit dem iPhone Betriebssystemversion oder Hardwaremodell

+0

danke! dieser Ansatz erscheint mir vernünftig, ich kenne ihn aus Javascript. sehr gute Antwort. Danke noch einmal! – Thanks