我正在嘗試使用iOS SDK,並試圖以編程方式更改設備的日期和時間。 我讀過標準SDK是不可能的,這很有道理,但我想知道是否可以使用私有API來做到這一點,因爲我只是在做一個應用程序作爲研究,而不打算髮布它在App Store更改iPhone的日期和時間
4
A
回答
6
1)添加到您的應用程序的權利com.apple.timed
鍵設置爲YES
2)布爾值禁用自動時間設定(和時區,如果你想)
鏈接到私人CoreTime.framework
。聲明這些功能
void TMSetAutomaticTimeEnabled(BOOL);
void TMSetAutomaticTimeZoneEnabled(BOOL);
禁用自動時間設置
TMSetAutomatocTimeEnabled(YES);
如果你想知道在該狀態下這些設置,你可以使用這些功能
BOOL TMIsAutomaticTimeEnabled();
BOOL TMIsAutomaticTimeZoneEnabled();
3)改變當前的日期和時間
聲明這些
struct timezone
{
int tz_minutewest;
int tz_dsttime;
};
void settimeofday(struct timeval*, struct timezone*);
這個API是在OS X中公開,所以你可以在這裏找到https://developer.apple.com/library/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man2/settimeofday.2.html
文檔作爲一個例子,我們將設置時鐘10分鐘向前
struct timeval tv;
tv.tv_sec = [[NSDate dateWithTimeIntervalSinceNow:600] timeIntervalSince1970];
tv.tv_usec = 0;
settimeofday(&tv, NULL);
4)通知有關日期/時間的變化
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR("SignificantTimeChangeNotification"), NULL, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
相關問題
- 1. Android更改時區,時間和日期
- 2. 時間戳更改日期
- 3. 更改日期和時間格式Android
- 4. 更改日期和時間格式
- 5. 日期和時間更改sql
- 6. Android:DateUtils.formatDateTime更改日期和時間序列
- 7. 根據日期或時間的日期或時間更改CSS
- 8. 更改「時間」列「日期時間」
- 9. 更改時區之間的日期和時間
- 10. 更改mySQL中的日期時間戳
- 11. 的Javascript日期:更改時間
- 12. 從UTC-5時區日期和時間獲取iPhone設備的時區日期和時間iPhone應用程序?
- 13. 設置Android和iPhone日期時間
- 14. 更改iphone時間
- 15. Sqlite:更新日期列,但只更改日期 - 保留時間
- 16. iPhone和iPhone的日期和時間比較?
- 17. Android日曆更改時間更改日期至今天
- 18. 時間戳日期更改日期時區
- 19. JSON日期爲asp.net日期時間在運行時更改
- 20. 使用VBA Excel更改24小時的日期和時間
- 21. 更改iPhone DatePicker「今日藍色日期」
- 22. SQL日期時間格式更改
- 23. 在一個日期更改時間戳
- 24. 如果日期更改,增加時間?
- 25. 更改日期時間格式
- 26. 將時間戳更改爲日期
- 27. 日期時間更改格式錯誤
- 28. 更改日期時間分隔符
- 29. 更改windows手機8.1日期/時間
- 30. 更改日期時間格式
AFAIK iPhone將始終同步時間到運營商。或許我錯了。 –
這是一個可以關閉的選項。 – Redwarp