Comment modifier l'heure et le fuseau horaire dans le simulateur iPhone?Comment changer l'heure et le fuseau horaire dans le simulateur d'iPhone?
Répondre
Je devine qu'il utilise votre fuseau horaire du système, changeant ainsi le TZ dans les Préférences Système serait probablement faire l'affaire
Hmm ... Je n'ai pas cette option sur mon simulateur. Sur mon téléphone, sous Paramètres -> Général -> Date et heure. Sur mon simulateur, la section Date et heure n'existe pas. –
Oh ...changez-le dans les préférences système de votre machine, pas dans les paramètres du simulateur. Droite. Ça a marché! –
un problème dans ce temps, Simulator est mis à jour après 2 minutes de changer l'heure du système. toute méthode qui change le temps du simulateur simultanément .... – AsifHabib
Redémarrez le simulateur après avoir modifié les préférences temporelles date du système et vous verrez la changements reflétés. Cela a fonctionné pour moi.
Solution horrible (sur la partie d'Apple, pas votre réponse). C'est exactement le genre de chose que le simulateur devrait être en mesure de faire en tant qu'alternative sûre pour changer le temps de votre système et potentiellement casser des choses sur votre ordinateur. – devios1
@devios c'est plus vrai que jamais avec Watch – Lewis42
@ Lewis42, que voulez-vous dire? –
Lors de la modification du fuseau horaire, j'ai trouvé que la manière la plus simple de le faire était de cliquer sur l'horloge dans la barre de menus. Et puis en sélectionnant "Ouvrir la date & Préférences de temps" puis sélectionnez l'onglet Fuseau horaire. Autre possibilité Préférences système -> Date et heure et sélectionnez l'onglet Fuseau horaire. Juste un pointeur pour n'importe qui qui pourrait ne pas connaître leur chemin autour d'OSX.
Ceci n'est pas une réponse, donc ce devrait être un commentaire. Le nombre de développeurs iOS qui ne connaissent pas OS X est ... zéro. – phatmann
Il serait utile que Apple fournisse une "date de simulation" puisqu'ils ont fourni un menu "Simuler l'emplacement". Ce que je fais est de définir un point d'arrêt immédiatement après avoir obtenu la date (l'enregistrer dans une variable), puis modifier la valeur. Ou simplement modifier l'endroit où je vérifie un changement de date et le rendre vrai.
Ceci est un ancien thread mais il est le plus proche de ma question. J'ai besoin de simuler un fuseau horaire pour l'Europe, cette méthode fonctionne pour moi. Cliquez sur 'TimeZone' au lieu de 'Date & Time'. Décochez la case "Définir automatiquement le fuseau horaire en utilisant l'emplacement actuel" et faites glisser la barre rectangle verticale (avec un point bleu dessus) pour simuler l'heure de votre système.
J'ai proposé une solution automatique au problème de la modification du temps qui comprend la méthode hacky swizzling: https://stackoverflow.com/a/34793193/829338. Je suppose que cela devrait également fonctionner pour changer le fuseau horaire en conséquence. Je devais tester mon application automatiquement, ce qui nécessitait de changer le temps sys. Je l'ai fait, ce que Tom a suggéré: méthode de hacky heureux swizzling. Pour les besoins de la démonstration, je ne change que [NSDate date]
mais pas [NSDate dateWithTimeIntervalSince1970:]
.
Vous devez d'abord créer votre méthode de classe qui sert de nouvelle [date NSDate]. Je l'ai mis en œuvre pour simplement déplacer l'heure par une différence de temps constante.
int timeDifference = 60*60*24; //shift by one day
NSDate* (* original)(Class,SEL) = nil;
+(NSDate*)date{
NSDate* date = original([NSDate class], @selector(date));
return [date dateByAddingTimeInterval:timeDifference];
}
Jusqu'ici, assez facile. Maintenant vient la partie amusante. Nous obtenons les méthodes des classes et de l'implémentation de l'échange (cela a fonctionné pour moi dans AppDelegate, mais pas dans ma classe UITests). Pour cela, vous devrez importer objc/runtime.h
.
Method originalMethod = class_getClassMethod([NSDate class], @selector(date));
Method newMethod = class_getClassMethod([self class], @selector(date));
//save the implementation of NSDate to use it later
original = (NSDate* (*)(Class,SEL)) [NSDate methodForSelector:@selector(date)];
//happy swapping
method_exchangeImplementations(originalMethod, newMethod);
IlRC ne fonctionnera pas pour tester les notifications locales. –
- 1. Comment changer le fuseau horaire dans CakePHP?
- 2. changer le fuseau horaire de mysql
- 3. Comment changer le fuseau horaire de la colonne DateCreated?
- 4. Comment enregistrer le fuseau horaire?
- 5. Comment définir le fuseau horaire dans Trac?
- 6. avec mktime et le fuseau horaire
- 7. comment détecter le fuseau horaire du client?
- 8. problème étrange avec le fuseau horaire, le calendrier et SimpleDateFormat
- 9. comment obtenir fuseau horaire
- 10. ruby obtenir le temps dans le fuseau horaire
- 11. Linux, fuseau horaire et dst
- 12. Comment utiliser Objective-c NSTimeZone pour convertir le fuseau horaire du système en fuseau horaire local?
- 13. Comment obtenir le bon fuseau horaire (fuseau horaire du serveur) au format de date UTC
- 14. Comment afficher l'heure dans le fuseau horaire de l'utilisateur?
- 15. Obtenir le fuseau horaire de DateTime
- 16. J2ME Obtenir le fuseau horaire actuel
- 17. Problème avec le fuseau horaire avec time.strftime
- 18. Le fuseau horaire renvoie toujours TimeZoneNotFoundException
- 19. Comment obtenir le fuseau horaire actuel dans l'objectif c
- 20. Comment obtenir le fuseau horaire des propriétés dans CultureInfo
- 21. Comment imprimer un datetime Python dans le fuseau horaire local?
- 22. Zend_Date et le réglage du fuseau horaire sur l'installation
- 23. .NET Décalage du fuseau horaire par nom de fuseau horaire
- 24. date et le fuseau horaire en utilisant J2ME
- 25. Fuseau horaire en C#?
- 26. Comment tester un fuseau horaire?
- 27. Comment changer le fuseau horaire en PHP pour un horodatage existant?
- 28. Rails Fuseau horaire
- 29. Obtenir le nom de fuseau horaire dans codeigniter
- 30. Fuseau horaire Fonctions Aide
pour changer L'heure et la date du système ne sont pas une solution. Cela a un impact sur toutes les applications Mac, y compris les horodatages xcode. Le comportement correct est que toute modification de l'emplacement du Simulateur doit changer l'heure et le fuseau horaire. Toutes les autres choses ne sont que des solutions de contournement. J'espère que Apple va résoudre ce problème dès que possible – Rudi