Wenn ich den Beschleunigungssensor in meiner App verwende, muss ich die erforderlichen Gerätefunktionen in der Datei info.plist hinzufügen und den Beschleunigungssensor eingeben, wenn ja, was soll ich genau hinzufügen?Erforderliche Gerätefunktionen
Antwort
Nein, Sie müssen nichts zu Ihrer info.plist hinzufügen. stellen Sie sicher, nur, dass Ihr AppDelegate Protokoll UIAccelerometerDelegate implementiert und dann in .m Datei nur tun:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
[[UIAccelerometer sharedAccelerometer] setDelegate:self];
....
}
- (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{
//your accelerometer code
}
Sie Code defensiv schreiben sollen und immer „degradieren“ die schön App. Zum Beispiel sollten Sie darüber nachdenken, wie Ihre App ausgeführt wird, wenn der Beschleunigungssensor nicht vorhanden ist.
Werfen Sie einen Blick auf die CMMotionManager-Klasse - insbesondere auf ihre accelerometerActive-Eigenschaft, die eine BOOL zurückgibt. Hier ein Beispiel:
CMMotionManager *manager = [[CMMotionManager alloc] init];
if(!manager.accelerometerAvailable) {
NSLog(@"Accelerometer not available");
} else {
manager.accelerometerUpdateInterval = 1.0;
NSOperationQueue *motionQueue = [[NSOperationQueue alloc] init];
[manager startAccelerometerUpdatesToQueue: motionQueue withHandler:
^(CMAccelerometerData *data, NSError *error) {
NSLog(@"Accelerometer data: %@", [data description]);
}
];
}
Sie benötigen
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>accelerometer</string>
</array>
Weitere Informationen in der iOS Application Programming Guide verwenden (Seite 89, Tabelle 5-1). Sie müssen diesen Schlüssel nicht hinzufügen, wenn Ihre App nur Änderungen an der Geräteausrichtung erkennt.
- 1. iPhone benötigt Gerätefunktionen - Multi-Touch
- 2. Die Informationseigenschaft Liste erforderte Gerätefunktionen
- 3. Unterschied zwischen globalen und Gerätefunktionen
- 4. Wie deklariere ich Gerätefunktionen für diese App?
- 5. ServiceController Erforderliche Berechtigungen
- 6. Mindestens erforderliche Versionsverwaltung
- 7. JUnit optional/erforderliche Tests
- 8. Erforderliche Verschlüsselung AES256
- 9. Commons CLI erforderliche Gruppen
- 10. Erforderliche Mathematik für Computational Finance?
- 11. Grunt erforderliche Config-Eigenschaft fehlt
- 12. Erforderliche Eigenschaft in Web-Service
- 13. Wie man erforderliche Felder anzeigt?
- 14. Die Anwendung fehlt erforderliche Dateien
- 15. Testen für fehlende erforderliche Zeichenfelder
- 16. Zwei erforderliche und abhängige Felder
- 17. MVC Erforderliche Feldvalidierung funktioniert nicht
- 18. fehlende erforderliche Schlüssel: [: ID] Schienen
- 19. Nebel Fehlende erforderliche Argumente: aws_access_key_id
- 20. Erforderliche Feld Validierungsproblem für mehrere Steuerelemente
- 21. Rails 4 starke Parameter ohne erforderliche Parameter
- 22. Argparse: Erforderliche Argumente unter "optionale Argumente"?
- 23. "Erforderliche Checkout" über Sharepoint-Webdienste deaktivieren
- 24. Erstellen einer Treeview-Mimik erforderliche Feldvalidator-Funktionalität
- 25. Erforderliche Felder nicht funktioniert phoenix Rahmen
- 26. auswählen und die erforderliche Optionsfeld Attribut
- 27. ModelState.IsValid schließt die erforderliche Eigenschaft nicht aus
- 28. Deaktivieren Sie erforderliche Tag in versteckten divs
- 29. Die erforderliche Mindest Cuda Fähigkeit beträgt 3,5
- 30. Wie erstellt man 2 erforderliche Validierungen Laravel?
Sie meinen, Sie müssen nichts zu info.plist hinzufügen und nur überprüfen, ob das Gerät Beschleunigungssensor unterstützt oder nicht. Was passiert, wenn ich es nicht überprüfe? –