Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como criar complicações para Apple Watch usando CLKComplicationDataSource

O desenvolvimento de complicações para o Apple Watch é uma tarefa essencial para desenvolvedores que desejam fornecer informações rápidas e úteis diretamente no mostrador do relógio. Uma das classes fundamentais para essa tarefa é a CLKComplicationDataSource. Este artigo técnico irá explorar como utilizar essa classe para criar complicações personalizadas, detalhando sua importância e fornecendo exemplos práticos.

A CLKComplicationDataSource é uma classe do framework ClockKit, usada para fornecer dados a complicações do Apple Watch. As complicações são pequenos elementos gráficos que exibem informações de aplicativos diretamente no mostrador do relógio, permitindo aos usuários acessar rapidamente dados importantes sem precisar abrir o aplicativo completo.

Exemplos:

  1. Configuração Inicial do Projeto:

    Para começar, você precisa criar um novo projeto no Xcode e adicionar um target de extensão de complicação para o Apple Watch.

    // No Xcode, vá para File > New > Target
    // Selecione "WatchKit App" e marque a opção "Include Complication"
  2. Implementação da Classe CLKComplicationDataSource:

    A seguir, você deve implementar a classe CLKComplicationDataSource na sua extensão de complicação. Esta classe deve fornecer os dados necessários para as complicações em diferentes formatos.

    import ClockKit
    
    class ComplicationController: NSObject, CLKComplicationDataSource {
    
       func getSupportedTimeTravelDirections(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimeTravelDirections) -> Void) {
           handler([.forward, .backward])
       }
    
       func getTimelineStartDate(for complication: CLKComplication, withHandler handler: @escaping (Date?) -> Void) {
           handler(nil)
       }
    
       func getTimelineEndDate(for complication: CLKComplication, withHandler handler: @escaping (Date?) -> Void) {
           handler(nil)
       }
    
       func getPrivacyBehavior(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationPrivacyBehavior) -> Void) {
           handler(.showOnLockScreen)
       }
    
       func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
           let template = createTemplate(for: complication)
           let entry = CLKComplicationTimelineEntry(date: Date(), complicationTemplate: template)
           handler(entry)
       }
    
       func createTemplate(for complication: CLKComplication) -> CLKComplicationTemplate {
           switch complication.family {
           case .modularSmall:
               let template = CLKComplicationTemplateModularSmallSimpleText()
               template.textProvider = CLKSimpleTextProvider(text: "Hello")
               return template
           default:
               fatalError("Unsupported complication family.")
           }
       }
    }
  3. Atualização das Complicações:

    Para garantir que as complicações exibam dados atualizados, você pode solicitar ao sistema que atualize as complicações em intervalos regulares.

    // No AppDelegate ou em qualquer lugar apropriado do seu código:
    let server = CLKComplicationServer.sharedInstance()
    for complication in server.activeComplications ?? [] {
       server.reloadTimeline(for: complication)
    }
  4. Testando no Simulador:

    Para testar suas complicações, você pode usar o simulador do Apple Watch no Xcode. Certifique-se de selecionar o mostrador que suporta o tipo de complicação que você implementou.

    // No Xcode, vá para Window > Devices and Simulators
    // Selecione o simulador do Apple Watch e escolha o mostrador apropriado

Nota: Os campos "TTT:", "" e "

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.