Ich möchte die Systemzeitzone, Datum Zeit in iOS nach Code. Irgendwelche Ideen oder private apis helfen mir? Beispiel: Stellen Sie die Zeitzone auf GMT + 8 und die Uhrzeit auf den 10. August 2013 um 20:30 Uhr ein. Wie es geht? Vielen Dank!Wie stelle ich die Systemzeitzone für iOS nach Code ein?
Antwort
Wie die anderen gesagt haben Sie können das nicht ändern System-Zeitzone aus einer App, aber Sie können eine Standardzeitzone für Ihre gesamte Anwendung mit +setDefaultTimeZone:
auf NSTimeZone
.
Sie erwähnt dies für die Prüfung war, so werde ich dies für Einheit ist anzunehmen, testen einige benutzerdefinierte Datum Formatierer und solche, in welchem Fall Sie in Ihrem Gerät zu testen so etwas wie dies könnte:
static NSTimeZone *cachedTimeZone;
@implementation DateUtilTests
+ (void)setUp
{
[super setUp];
cachedTimeZone = [NSTimeZone defaultTimeZone];
// Set to whatever timezone you want your tests to run in
[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
}
+ (void)tearDown
{
[NSTimeZone setDefaultTimeZone:cachedTimeZone];
[super tearDown];
}
// ... do some tests ...
@end
Ich hoffe das hilft!
Auch wenn dies nicht dokumentiert ist, können Sie auch das Zwischenspeichern der Zeitzone vermeiden, da '[NSTimeZone setDefaultTimezone: nil]' ausreicht, um 'defaultTimeZone' auf den ursprünglichen Wert zurückzusetzen. – viteinfinite
In swift können wir jetzt 'NSTimeZone.resetSystemTimeZone()' verwenden, um dies zu erreichen –
@ Bienenstock-Bedlam per https://developer.apple.com/reference/foundation/nstimezone/1387189-resetsystemtimezone?language=objc es aussieht 'resetSystemTimeZone' existiert seit iOS 2 und ist nicht nur Swift. –
Wie @Filip in Kommentaren gesagt, ist es nicht möglich, Systemeinstellungen in einer App zu bearbeiten. Was Sie tun könnten (Sie wissen nicht, ob es für Sie nützlich ist), ist die Zeitzone der NSDates, mit denen Sie arbeiten, in Ihrer APP.
Das ist ein Beispiel dafür, wie das zu tun:
NSString *dateString = @"2013-08-07 17:49:54";
NSDateFormatter *dateFormatter = [NSDateFormatter new];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Europe/London"]; //set here the timezone you want
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:timeZone];
NSDate *date = [dateFormatter dateFromString:dateString];
Hier ist eine Liste von möglichen Zeitzonen mit timeZoneWithName verwendet werden: `: http://pastebin.com/ibNU2RcG
Vielen Dank für diesen Vorschlag, aber wie Sie in meiner App einstellen und dass Zeitzone und Datum für alle Apps in iOS festgelegt werden? –
Nun, wie ich schon sagte, für alle Systeme, alle Apps, usw. scheint es, dass es keine Möglichkeit gibt, das zu tun, sorry, du kannst nur das Datum/die Zeitzone deiner eigenen App steuern. –
- 1. Wie stelle ich die Standardsprache für die Android App ein?
- 2. Wie stelle ich die Zeit ein?
- 3. Wie stelle ich die Stale-Zeit für OkHttp Android ein?
- 4. Wie stelle ich cordova ios von VS2015 ein
- 5. Wie stelle ich die Hintergrundfarbe für JVector Map ein?
- 6. tkinter - Wie stelle ich die Schriftart für Text ein?
- 7. jede Epoche für Menschen lesbares Format für die Systemzeitzone
- 8. Wie stelle ich die Farbe für CSS3 html5 Fortschrittselement ein?
- 9. Wie stelle ich die Ausrichtung für virtuelle Funktionen ein?
- 10. Wie stelle ich die maximale Breite für Splitview ein?
- 11. Wie stelle ich die Zeitzone für Postgres psql ein?
- 12. Wie stelle ich den Webbrowser in eine iOS App ein?
- 13. Wie stelle ich den Provider für ein TPushEvent ein?
- 14. Wie stelle ich die Rotation auf dem Gamekit-Login-Banner in einem iOS-Spiel ein?
- 15. Zugriff auf aktuelle Systemzeitzone
- 16. iOS: Wie stelle ich die Schrift beim Zeichnen von Text in der PDF-Generierung ein?
- 17. Wo stelle ich die Vorlage für Schienen Fehlermeldungen ein?
- 18. Wie stelle ich die Zeitzone über die Befehlszeile ein?
- 19. Wie stelle ich Ylim für Subplots mit Pandas Dataframe ein?
- 20. Wie stelle ich die Tonhöhe in Visual Basic ein?
- 21. Wie stelle ich die Sprache basierend auf dem Benutzerprofil ein?
- 22. Wie stelle ich die Breite (in Pixeln) eines Eingabeschiebereglers ein?
- 23. Wie stelle ich die Standardzeitzone in CakePHP ein?
- 24. Wie stelle ich pyinstaller meine Datenbank ein?
- 25. Wie stelle ich die Farbe in Matplotlib auf Rectangle ein?
- 26. Wie stelle ich MACOSX_DEPLOYMENT_TARGET am besten ein?
- 27. Wie stelle ich die Startposition mit dem Android MediaPlayer ein
- 28. Swing: Wie stelle ich eine Komponentenhöhe auf die Containerhöhe ein?
- 29. Wie stelle ich die Zeitzone in gnuplot ein?
- 30. Wie stelle ich die Standardzeitzone in yii ein?
Sie können die Systemeinstellungen nicht innerhalb einer App festlegen! (Kann auf einem gefängnisgeschädigten Gerät möglich sein) – Groot
Sie können privates apis verwenden, um dies zu tun, aber dies wird nicht im App Store akzeptiert. Sind Sie für den In-House-Vertrieb? – cvsguimaraes
Ja, ich denke, es gibt einige private Apis, um es zu tun, aber ich weiß es nicht, es wird nur zum Testen inhouse verwendet! –