То, что я хотел бы сделать, это создать свой собственный помощник по дате, который выглядит следующим образом:
var DateHelper = {
addDays : function(aDate, numberOfDays) {
aDate.setDate(aDate.getDate() + numberOfDays); // Add numberOfDays
return aDate; // Return the date
},
format : function format(date) {
return [
("0" + date.getDate()).slice(-2), // Get day and pad it with zeroes
("0" + (date.getMonth()+1)).slice(-2), // Get month and pad it with zeroes
date.getFullYear() // Get full year
].join('/'); // Glue the pieces together
}
}
// With this helper, you can now just use one line of readable code to :
// ---------------------------------------------------------------------
// 1. Get the current date
// 2. Add 20 days
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), 20));
(см. Также эта скрипка )
Наше приложение использует MPMediaPLayer
. У нас также был код idleTimerDisabled = YES
в ApplicationFinishedLaunching
, который работает ИСКЛЮЧИТЕЛЬНО, если он не привязан, и уже есть текущий nowPlayingItem
, который остается воспроизводимым (или не приостановлен) , если он был приостановлен при запуске приложения). Очевидно, это все, если в параметрах Настройки -> Общие -> Автоблокировка
установлено какое-то временное значение.
Путем добавления idleTimerDisabled = NO
, за которым сразу следует idleTimerDisabled = YES
в одном из других фрагментов кода ПОСЛЕ того, как мы выяснили, какой фрагмент музыки мы будем воспроизводить, похоже, решило проблему. Просто установить для него ДА
было недостаточно .. и последующие запросы всегда указывали правильное значение ( ДА
) ..
Похоже на ошибку, файл с радаром - я не слишком удивлен, что это не так часто встречается, поскольку, вероятно, не так много приложений, которые пытаются заблокировать экран открытым и воспроизведение музыки.
С такой же проблемой. Это работает, когда устройство подключено. Вы можете нажать кнопку блокировки сверху, и мой NSTimer сработает позже и вызовет вибрацию. Однако, если устройство не подключено к сети, нажатие кнопки блокировки переводит устройство в спящий режим. Приветствуется любое решение.