Я играю с iOS SDK, и я пытаюсь изменить дату и время устройства программно. Я читал, что это невозможно в стандартном SDK, что имеет смысл, но мне интересно, можно ли это сделать с помощью частных API, поскольку я просто занимаюсь приложением в качестве исследования и не собираюсь публиковать это на App StoreИзменение даты и времени iPhone
ответ
1) Добавить в ваши права приложения com.apple.timed
ключа со значением BOOL, установленное в 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);
Привет. Я получаю следующую ошибку: «Исполняемый был подписан с недействительными правами». Так что, наверное, мне нужно устройство с джейлбрейком? – Redwarp
Да. Furthemore, 'settimeofday' не может быть вызван из изолированного приложения. – creker
Привет, крекер, не могли бы вы объяснить, как связать с каркасом CoreTime в Xcode? –
- 1. Изменение времени и даты в симуляторе Xcode
- 2. изменение даты и времени и выборка данных
- 3. Изменение времени iphone
- 4. сборщик даты и времени отдельно в iphone
- 5. Изменение даты и времени в календаре
- 6. FullCalendar: изменение даты и времени начала события
- 7. Изменение формата времени и даты Windows
- 8. Изменение формата даты и времени Android
- 9. Alfresco: изменение форматов даты и времени
- 10. Баш скрипт Изменение даты и времени
- 11. Изменение системной даты и времени андроида программным
- 12. изменение даты и времени объект в строку
- 13. формат даты и времени глобальное изменение
- 14. Cassandra: Последнее изменение даты и времени строки
- 15. iPhone Поле даты - Изменение формата даты
- 16. Изменение текущего формата времени даты
- 17. kibana изменение даты поле времени
- 18. Даты ввода в Zend_Form - изменение форматов даты и времени
- 19. Изменение даты и времени Форматирование времени от Json Response
- 20. Вычитание и изменение даты и времени в Teradata
- 21. MySQL: Изменение типа столбца и формат даты и времени
- 22. iPhone: Преобразование даты строку относительного времени штамп
- 23. Изменение формата времени даты в angularjs
- 24. Ruby - Изменение части даты экземпляра времени
- 25. Ошибка: даты и времени столбец Неправильное значение даты и времени: ''
- 26. Преобразование даты и времени в формат даты и времени
- 27. Сравнение даты и времени, включая AM/PM в iphone sdk
- 28. сохранение текущей даты и времени в приложении для iPhone?
- 29. Сортировка даты и времени
- 30. Преобразование даты и времени
AFAIK iPhone всегда будет синхронизировать время с носителем. Возможно, я ошибаюсь. –
Это опция, которая может быть отключена. – Redwarp