Comment le changement d'heure et le fuseau horaire dans le simulateur d'iPhone?
Comment puis-je changer d'heure et de fuseau horaire dans le iPhone simulateur?
- pour le Système de changement d'heure et la date n'est pas une solution. Qui a des répercussions sur toutes les applications Mac, y compris xcode temps de timbres. Le comportement correct est que tout changement de la le Simulateur de l'emplacement a le changement d'heure et de fuseau horaire. Toutes les autres choses ne sont que solution de contournement. Espérons qu'Apple va corriger cela dès que possible
Vous devez vous connecter pour publier un commentaire.
J'imagine qu'il utilise votre système de fuseau horaire, de sorte que la modification de la TZ dans les Préférences Système serait probablement faire l'affaire
Redémarrer le Simulateur après la modification de la date du système des préférences d'heure et vous verrez les changements pris en compte. Il a travaillé pour moi.
Il serait utile si Apple a fourni une "Simuler date" comme ils ont fourni un "Simuler" Emplacement du menu. Ce que j'ai à faire est de définir un point d'arrêt immédiatement après l'obtention de la date (de l'enregistrer dans une variable) puis modifier la valeur. Ou tout simplement modifier l'endroit où je l'ai vérifier pour un changement de date et de le faire retourner true.
Lors de la modification du fuseau horaire, j'ai trouvé la meilleure façon de le faire est par cliquant sur l'horloge dans la barre de menu. Et puis en sélectionnant "de la Date d'ouverture & Temps Préférences", puis sélectionnez l'onglet fuseau Horaire.
Sinon Préférences Système -> Date et de l'Heure et sélectionnez l'onglet fuseau Horaire.
Juste un pointeur pour tous ceux qui ne savent leur manière autour de OSX.
C'est un vieux thread mais il est plus proche de ma question. J'ai besoin de simuler le fuseau horaire de l'Europe, cette méthode fonctionne pour moi. Aller à 'TimeZone' du robinet au lieu de "Date&Heure" tap. Décochez la case " Définir fuseau horaire automatiquement à l'aide de l'emplacement actuel de boîte et faites glisser le rectangle vertical bar (avec un point bleu sur elle) pour simuler l'heure de votre système.
J'ai proposé une solution automatique pour le problème de la modification de l'heure qui comprend hacky méthode swizzling: https://stackoverflow.com/a/34793193/829338. Je suppose qu'il faut aussi travailler pour changer le fuseau horaire en conséquence.
J'avais besoin de tester mon application automatiquement, ce qui a imposé la modification de la sys temps. Je l'ai fait, ce que Tom a suggéré: heureux hacky méthode swizzling.
À des fins de démonstration, je ne changer
[NSDate date]
mais pas[NSDate dateWithTimeIntervalSince1970:]
.D'abord vos besoin pour créer votre méthode de classe qui sert de nouveau [NSDate date]. J'ai mis en place à il suffit de passer le temps par une constante timeDifference.
Jusqu'à présent, assez facile. Maintenant vient la partie amusante. Nous obtenons les méthodes de classes et d'échange de la mise en œuvre (il a travaillé pour moi dans le AppDelegate, mais pas dans mon UITests classe). Pour cela, vous aurez besoin d'importer
objc/runtime.h
.Mon serveur de création de l'UTC et de certains de mes tests unitaires nécessaires le fuseau horaire pour être PST. À l'aide d'une catégorie sur NSTimeZone vous pouvez remplacer la Pomme de mise en œuvre pour l'utilisation de votre code. Les œuvres de swift seuls les projets trop.