Watch app complication에서 TimeTravel을 지원하려고합니다. 이 코드를 고려하십시오.CLKComplicationDataSource : 수백 번 호출 된 getTimelineEntries 대리자
내가 응용 프로그램을 죽일 때까지 왜 이러한 위임 메서드가 반복적으로 호출되는지 이해할 수 없습니다.
OS가 이러한 메소드를 호출해야하기 때문에 내가 뭘 잘못하고 있을지 궁금해. WatchOS 버그일까요?
func getTimelineEntries(for complication: CLKComplication, after date: Date, limit: Int, withHandler handler: @escaping ([ CLKComplicationTimelineEntry]?) -> Void) {
// Call the handler with the timeline entries after to the given date
let interval = stride(from:0.0, through:60, by: 10.0)
var entries: [CLKComplicationTimelineEntry]? = nil
switch complication.family {
case .circularSmall:
entries = interval.flatMap({ minutes in
entryForCircularSmall(date: date.addingTimeInterval(60.0 * minutes))
})
handler(entries)
case .utilitarianLarge:
entries = interval.flatMap({ minutes in
entryForUtilitarianLarge(date: date.addingTimeInterval(60.0 * minutes))
})
handler(entries)
default:
handler(nil)
}
print("future timelineEntries limit: \(limit), date: \(date), entries: \(entries?.count)")
}
func getTimelineEndDate(for complication: CLKComplication, withHandler handler: @escaping (Date?) -> Void) {
let date = Date().addingTimeInterval(60.0 * Double(240))
print("timeline end: \(date)")
handler(date)
}
콘솔 로그에서
작은 발췌
:이 시점에서, 내가 응용 프로그램을 죽일timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:32:59 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:09 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:09 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
future timelineEntries limit: 100, date: 2017-02-09 23:33:10 +0000, entries: Optional(7)
timeline end: 2017-02-10 03:33:10 +0000
... 그것이 나오는 것에 따라