如何更改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. Android AlarmManager和DST /時區/時間更改?
- 6. Android更改時區,時間和日期
- 7. iphone模擬器(10.3)時間不顯示根據時區在mac OS(10.13)
- 8. 時區例如,在模擬器
- 9. 如何在Perl中更改日期時間值的時區?
- 10. 如何將時間戳更改爲我在mysql中的時區?
- 11. 如何在PHP中爲現有時間戳更改時區?
- 12. 如何模擬在iPhone模擬器
- 13. 如何更改android定時器時間?
- 14. iPhone模擬器有時慢,有時快
- 15. iPhone模擬器在啓動時崩潰
- 16. 如何更改MySQL服務器時區?
- 17. 如何模擬面朝上和麪朝下在iPhone模擬器
- 18. 更改時區之間的日期和時間
- 19. 如何識別SIM在iPhone中更改時間?
- 20. django - 時間戳隨機更改時區
- 21. 更改MCC和MNC在Xcode模擬器
- 22. 在drupal中更改時區
- 23. 在MSYS中更改時區
- 24. 在PHP中更改時區
- 25. 如何更改DBeaver時區/如何停止DBeaver轉換日期和時間
- 26. 如何更改/重置iPhone模擬器設備ID?
- 27. 如何更改服務器時間?
- 28. 如何更改服務器時間MT4
- 29. 如何在編譯時自動重置iPhone模擬器
- 30. 如何在使用iphone模擬器時打開Excel文件?
改變系統時間和日期是沒有解決方案。這會影響包括xcode時間戳在內的所有Mac應用程序。正確的行爲是,模擬器位置的任何更改都必須更改時間和時區。所有其他的事情只是解決方法。希望蘋果能夠儘快解決這個問題 – Rudi 2015-09-02 11:09:48