Существуют ли официальные примеры настройки сложности с использованием localizableTextProvider (withStringsFileFormatKey :, textProviders :)? Я могу заставить поставщика текста заполнять при создании SampleTemplate, но всякий раз, когда я пытаюсь сгенерировать шаблон с использованием getTimelineEntries, поставщика текста, сгенерированного localizableTextProvider, результат всегда пуст, без текста.
Пример (поддерживается только .utilitarLarge):
func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
// Call the handler with the current timeline entry
let template = CLKComplicationTemplateUtilitarianLargeFlat()
template.textProvider = CLKTextProvider.localizableTextProvider(
withStringsFileFormatKey: "testComplication",
textProviders: [
CLKSimpleTextProvider(text: "Hello"),
CLKSimpleTextProvider(text: "World")
]
)
handler(CLKComplicationTimelineEntry(date: Date(), complicationTemplate: template))
}
и sampleTemplate как
func getLocalizableSampleTemplate(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTemplate?) -> Void) {
// This method will be called once per supported complication, and the results will be cached
switch complication.family {
case .utilitarianLarge:
let template = CLKComplicationTemplateUtilitarianLargeFlat()
template.textProvider = CLKTextProvider.localizableTextProvider(
withStringsFileFormatKey: "testComplication",
textProviders: [
CLKSimpleTextProvider(text: "Hi"),
CLKSimpleTextProvider(text: "World")
]
)
handler(template)
default:
handler(nil)
}
}
с ckcomplication.strings как
"testComplication" = "%@ %@";
Образец шаблона всегда будет отображать текст «Привет, мир», тогда как результат getCurrentTimelineEntry всегда будет отображать пустое усложнение.
Кому-нибудь повезло, составляя текстовые провайдеры таким образом?