如何更改iPhone模拟器中的时间和时区?如何在iPhone模拟器中更改时间和时区?
回答
我猜测它使用你的系统时区,所以改变系统偏好设置TZ可能会做的伎俩
嗯......我的模拟器上没有这个选项。在我的手机上,它位于设置 - >常规 - >日期和时间。在我的模拟器上,日期和时间部分不存在。 – 2012-07-23 21:37:30
哦...请在您的机器的系统偏好设置中进行更改,而不是模拟器的设置。对。这工作! – 2012-07-23 21:43:00
在这个问题中,模拟器时间在2个改变系统时间之后更新。任何改变模拟器时间的方法...... – AsifHabib 2013-03-07 06:58:30
更改时区时,我发现最简单的方法是单击菜单栏中的时钟。然后选择“打开日期&时间首选项”,然后选择标签时区。
或者选择系统首选项 - >日期和时间,然后选择选项卡时区。
只是一个可能不知道他们在OSX附近的人的指针。
这不是一个答案,所以它应该是一个评论。不知道解决OS X问题的iOS开发人员数量是零。 – phatmann 2016-06-24 18:06:57
如果Apple在提供“模拟位置”菜单时提供了“模拟日期”,这将会很有用。我所做的是在获取日期后立即设置断点(将其保存在变量中),然后修改该值。或者只是修改我检查日期变更的地点,并使其返回true。
我提出一种自动溶液不断变化,其包括哈克方法混写的时间的问题:https://stackoverflow.com/a/34793193/829338。我认为这也应该相应地改变时区。
我需要自动测试我的应用程序,这需要更改系统时间。我做了,汤姆建议:快乐的哈克方法搅拌。
为了说明的目的,我只更改了[NSDate date]
而不是[NSDate dateWithTimeIntervalSince1970:]
。
首先您需要创建用作新[NSDate日期]的类方法。我实现它只是通过一个固定的时间差来改变时间。
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];
}
到目前为止,很容易。有趣的来了。我们从两个类和交换实现中获得方法(它在AppDelegate中适用于我,但不适用于我的UITests类)。为此,您需要导入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);
IIRC这不适用于测试本地通知。 – 2017-06-21 16:48:52
- 1. 如何在测试时更改默认的Xcode iphone模拟器
- 2. Android:如何更改模拟器中的时间?
- 3. 在iPhone模拟器中更改光标?
- 4. 更改iphone时间
- 5. 如何在天蓝色平台和/或模拟器中更改机器配置中的超时时间?
- 6. 如何在qweb报告中打印时间时更改时区?
- 7. Android更改时区,时间和日期
- 8. Android AlarmManager和DST /时区/时间更改?
- 9. iphone模拟器(10.3)时间不显示根据时区在mac OS(10.13)
- 10. 如何模拟浏览器的时区?
- 11. 时区例如,在模拟器
- 12. 如何在PHP中为现有时间戳更改时区?
- 13. 如何将时间戳更改为我在mysql中的时区?
- 14. 如何在Perl中更改日期时间值的时区?
- 15. 如何模拟在iPhone模拟器
- 16. 如何在时区更改时向DateTime添加时间?
- 17. 如何更改android定时器时间?
- 18. iPhone模拟器有时慢,有时快
- 19. 更改iPhone的日期和时间
- 20. 更改mysql服务器的时区和时间戳
- 21. 如何改变iPhone模拟器SDK
- 22. iPhone模拟器在启动时崩溃
- 23. 崩溃时调试在iPhone模拟器
- 24. 如何在php中更改时区?
- 25. 如何更改MySQL服务器时区?
- 26. 如何更改php服务器时区?
- 27. Postgres时间线模拟器
- 28. 如何模拟面朝上和面朝下在iPhone模拟器
- 29. SUMO:更改模拟时间步长和输出选项
- 30. 如何识别SIM在iPhone中更改时间?
改变系统时间和日期是没有解决方案。这会影响包括xcode时间戳在内的所有Mac应用程序。正确的行为是,模拟器位置的任何更改都必须更改时间和时区。所有其他的事情只是解决方法。希望苹果能够尽快解决这个问题 – Rudi 2015-09-02 11:09:48