View in English

  • Global Nav Open Menu Global Nav Close Menu
  • Apple Developer
Search
Cancel
  • Apple Developer
  • News
  • Discover
  • Design
  • Develop
  • Distribute
  • Support
  • Account
Only search within “”

Quick Links

5 Quick Links

Vídeos

Abrir menu Fechar menu
  • Coleções
  • Tópicos
  • Todos os vídeos
  • Sobre

Voltar para WWDC25

  • Sobre
  • Resumo
  • Transcrição
  • Código
  • Aprimore seu app para o CarPlay

    Saiba como disponibilizar suas Atividades ao Vivo e widgets para o CarPlay e o CarPlay Ultra para que as pessoas possam acompanhar o progresso de suas atividades e conferir informações relevantes em instantes. Explore as novas opções de modelos disponíveis para todos os apps do CarPlay e saiba como os apps de navegação podem fornecer metadados de trajeto passo a passo para serem exibidos no painel de instrumentos ou no HUD do carro.

    Capítulos

    • 0:00 - Introdução
    • 1:27 - CarPlay Ultra
    • 2:14 - Widgets
    • 5:07 - Atividades ao Vivo
    • 6:49 - Framework CarPlay
    • 17:15 - Demonstração
    • 21:38 - Próximas etapas

    Recursos

    • Adding StandBy and CarPlay support to your widget
    • Additional Tools for Xcode
    • CarPlay for developers
      • Vídeo HD
      • Vídeo SD

    Vídeos relacionados

    WWDC25

    • Novidades dos widgets
    • Otimize o desempenho da CPU com o Instruments

    WWDC24

    • Meet the next generation of CarPlay architecture
    • Say hello to the next generation of CarPlay design system

    WWDC22

    • Get more mileage out of your app with CarPlay
  • Buscar neste vídeo...

    Olá! Meu nome é Olivia. Sou engineer da equipe Car Experience e estou muito animada para falar sobre o CarPlay no iOS 26. O CarPlay é a forma mais inteligente e segura de usar o iPhone no carro, e estamos lançando novas maneiras de turbinar seus apps no CarPlay. Manter a conexão ao dirigir ficou ainda mais fácil com tapbacks no Mensagens, conversas fixadas e uma interface compacta para chamadas para você continuar de olho no trajeto. E agora há mais formas de ver informações importantes dos seus apps favoritos, com widgets úteis de interação rápida e atualizações em tempo real com Atividades ao Vivo. As telas dos veículos têm muitas formas e tamanhos. No iOS 26, algumas configurações de tela permitem ajustar a escala com o Zoom Inteligente da Tela nos Ajustes do CarPlay. Quando o Zoom Inteligente da Tela está ativado, o app do CarPlay é redimensionado automaticamente para a nova escala.

    Além disso, no iOS 26, a aparência dos apps do CarPlay é atualizada automaticamente, sem nenhum trabalho adicional. O CarPlay Ultra reúne o melhor do seu iPhone e o melhor do carro em uma experiência unificada, consistente e personalizada em todas as telas do carro. Tudo o que você acabou de ver, inclusive os apps que você conhece e adora no CarPlay, já estão disponíveis no CarPlay Ultra. Com o iOS 26, há ainda mais maneiras de levar seu app para quem está dirigindo. Se seu app suporta widgets ou Atividades ao Vivo, você pode disponibilizá-los para usuários do CarPlay, mesmo se não tiver um app do CarPlay. Para os apps do CarPlay, há novas APIs no framework CarPlay que permitem aos motoristas realizar ações comuns com facilidade enquanto dirigem. Vamos começar com widgets no CarPlay.

    Os motoristas podem navegar à esquerda do Painel do CarPlay para ver os widgets suportados pelo seu app, mesmo se ele não for do CarPlay. Os widgets podem abrir apps no CarPlay e, em telas sensíveis ao toque, os widgets suportam interação. Os motoristas podem personalizar os widgets que querem ver no CarPlay acessando Ajustes > Geral > CarPlay no iPhone e selecionando o veículo. A boa notícia é que trazer seu widget para o CarPlay é muito fácil. Tudo que você precisa fazer é oferecer suporte a widgets systemSmall.

    Os widgets podem aparecer em diferentes contextos em várias plataformas. Por exemplo, no iPhone, um widget systemSmall pode ser adicionado à Tela de Início, à Tela Bloqueada, ao modo Em Espera e, agora, ao CarPlay. No entanto, alguns widgets não funcionam bem em alguns contextos. Por exemplo, um widget com muito texto ou com informações irrelevantes para o motorista pode não ser adequado para o CarPlay. Para essas situações, você pode aproveitar o modificador de local desfavorecido. Ao definir disfavoredLocations para incluir carPlay, seu widget será agrupado automaticamente nos Ajustes do CarPlay com uma indicação de que não é otimizado para o CarPlay. Se o motorista escolher incluir um widget desfavorecido na experiência com o CarPlay, a interação será desativada.

    Recomendamos definir o CarPlay como local desfavorecido se o widget for um jogo ou exigir muita interação do usuário.

    Um exemplo seria um widget que se atualiza com novo conteúdo sempre que é tocado. Também é melhor definir o CarPlay como local desfavorecido se o widget não funciona no carro. Se o widget depende das classes de proteção de dados A ou B, provavelmente não funcionará no CarPlay, já que a maioria das pessoas usa o iPhone bloqueado. Quando um widget tem um app do CarPlay associado, esse app pode ser iniciado com um toque no widget. Mas se o principal objetivo do seu widget é abrir um app não disponível no CarPlay, considere usar disfavoredLocation.

    Bons widgets no iPhone oferecem informações simples e fáceis de ver, e o mesmo vale para o CarPlay. Aqui estão algumas práticas recomendadas para seu desenvolvimento.

    Seus widgets são otimizados para cada veículo, então widgetContentMargins é adaptado para apresentação no CarPlay. O plano de fundo dos widgets é removido quando o modificador containerBackgroundRemovable é definido como true. Também é melhor usar fontes e cores do sistema para garantir que seu texto fique legível em diferentes contextos. Talvez seu app já esteja fornecendo atualizações oportunas com as Atividades ao Vivo. No iOS 26, essa experiência chega ao CarPlay. Quando uma atividade ao vivo compatível começa no iPhone, ela já aparece no Painel do CarPlay. E, se o Painel do CarPlay não estiver visível, o CarPlay garante que os motoristas não percam um alerta importante ao mostrá-lo como notificação na parte inferior da tela. Assim como no iPhone, é possível desativar as Atividades ao Vivo nos Ajustes ou controlar alertas ativando o modo de foco.

    Para oferecer informações úteis e fáceis de ver aos motoristas, o CarPlay usa a classe small da família de atividades para exibir suas Atividades ao Vivo.

    É a mesma classe de tamanho usada para Atividades ao Vivo no Conjunto Inteligente do watchOS. Se você não implementar a família de atividades small, o CarPlay mostrará as visualizações compactas de início e fim da configuração da Dynamic Island. Para a melhor experiência, seu app só deve comunicar os estados mais significativos da atividade ao vivo e considerar que as Atividades ao Vivo no CarPlay não são interativas. Testar seus widgets ou Atividades ao Vivo é fácil, e você nem precisa de um carro. Com o app CarPlay Simulator para macOS você conecta o iPhone ao Mac usando um cabo USB para recriar uma experiência completa do CarPlay. O CarPlay Simulator está incluído no pacote "Ferramentas adicionais para Xcode", disponível para download. Para saber mais sobre como criar seus widgets e Atividades ao Vivo, confira o vídeo "Novidades dos widgets". Agora vamos falar de experiências de app completas no carro. O framework CarPlay permite apresentar uma versão do seu app no CarPlay para que as pessoas realizem tarefas comuns facilmente enquanto dirigem. Ele permite suportar uma variedade de categorias. Crie experiências de reprodução de áudio, comunicação com SiriKit, tarefas ao dirigir, recarga de veículos elétricos, navegação guiada, estacionamento e pedidos de comida. Se o seu app atende aos critérios de uma dessas categorias, você pode solicitar um entitlement para aproveitar o framework do CarPlay. O framework do CarPlay inclui muitos modelos de APIs. Cada categoria de app do CarPlay tem acesso a um conjunto de modelos criados para aquela categoria. Essas APIs de modelo oferecem interface otimizada para uso no carro e dão ao app a capacidade de configurar e responder a interações. Elas também isolam seu app dos detalhes de cada modelo de carro, como configuração da tela ou hardware de entrada. Vamos conferir algumas melhorias nos modelos do CarPlay no iOS 26, incluindo atualizações específicas para apps de áudio e navegação.

    O modelo de lista está disponível para todos os apps do CarPlay e permite mostrar uma lista de itens, como faixas de música.

    O CPListImageRowItem é um tipo de item que pode aparecer como uma linha na lista. Ele pode ser usado para mostrar uma série de imagens, como uma capa de álbum exclusiva. No iOS 26, há novas formas de personalizar a linha de imagem no modelo de lista. Também já é possível desativar elementos individuais no item de linha, além de permitir que os elementos se estendam por várias linhas. Se o seu app já usa CPListImageRowItem, agora você pode configurá-lo com um RowElement para usar o mesmo estilo de apresentação e aproveitar os novos recursos de multilinha e desativação.

    CardElement é um estilo de apresentação diferente que mostra uma série de cartões estilo retrato. Você pode escolher se a imagem vai preencher o cartão todo ou aparecer como um quadrado na parte de cima do cartão. É possível definir título, subtítulo e uma cor para melhorar a aparência desse elemento. Para aparência mais compacta, use CondensedElement. Esse estilo mostra um título e uma imagem configuráveis em forma de quadrado arredondado ou círculo. Você também pode mostrar um subtítulo e um SF Symbol no lado direito do elemento. Também dá para expressar conteúdo com uma imagem completa usando GridElement, ótimo para playlists exclusivas ou imagens de contato. Por fim, ImageGridElement pode ser usado para mostrar uma imagem configurável em forma de quadrado arredondado ou círculo, um título opcional e SF Symbol abaixo da imagem. O modelo de lista também tem uma nova API para mostrar elementos fixos. Atribua a propriedade headerGridButtons no CPListTemplate para apresentar elementos importantes na parte superior da lista, antes da primeira seção. Depois, crie botões de grade com uma imagem, variantes de título e um gerenciador opcional, chamado quando o botão é tocado.

    Para apps de comunicação, você também pode fornecer um CPMessageGridItemConfiguration. Ele permite fornecer um identificador de conversa que o SiriKit passa para o app quando um item de grade é selecionado. Ele também permite que você indique se o item deve ou não mostrar um indicador não lido. Vamos mudar de assunto e falar dos apps de áudio do CarPlay. Se o seu app transmite áudio de eventos esportivos, agora você pode usar uma variante do modelo Reproduzindo para mostrar o status desses eventos na tela do CarPlay. O modelo Reproduzindo com modo esportivo está disponível para apps de áudio do CarPlay no iOS 18.4 ou posterior e é voltado para eventos com dois times. Ele mostra metadados como logos dos times, placares, cronômetro da partida e mais.

    Quando seu app transmite áudio de um evento esportivo ao vivo ou gravado, é possível ativar o modo esportivo no modelo Reproduzindo ao criar um CPNowPlayingSportsEventStatus com informações do evento, incluindo o tempo decorrido ou restante no parâmetro eventClock. O sistema contará automaticamente para cima ou para baixo do ponto definido no eventClock para você. Em seguida, instancie um CPNowPlayingModeSports com o status do evento recém-criado e informações sobre os times. Por fim, defina o nowPlayingMode no modelo Reproduzindo como sua instância CPNowPlayingModeSports.

    A qualquer momento durante a reprodução, o app pode fornecer novos metadados do modo esportivo e ajustar placares, indicadores de posse, classificações, etc. Se estiver transmitindo um evento gravado, os controles podem permitir retroceder ou avançar. Nesses casos, garanta que o app envie uma atualização com os metadados da nova posição de reprodução. Agora que vimos as novidades da interface, vamos conferir práticas recomendadas para apps com suporte a áudio. O CarPlay é um ambiente único, pois as fontes de áudio podem vir do iPhone e do carro. Por exemplo, os motoristas podem estar ouvindo um jogo em um app do CarPlay ou uma rádio FM ou via satélite quando abrem seu app no CarPlay.

    Aqui vão algumas dicas para que os motoristas aproveitem a reprodução sem interrupções e tenham a melhor experiência sonora. Só inicie a sessão de áudio quando o app estiver prestes a começar a reproduzir. Quando o app não estiver mais reproduzindo áudio, desative a sessão de áudio. O áudio espacial e o Dolby Atmos oferecem maneiras incríveis e imersivas de interagir com o áudio, e os veículos são compatíveis com esses formatos. Adote o buffer de áudio avançado do AirPlay para levar essa experiência incrível ao seu app no CarPlay. Para detalhes, consulte "Melhorar sua experiência de áudio do AirPlay". Agora, vamos trocar de marcha e falar dos apps de navegação. Com o iOS 26, os botões no CPMapTemplate ganham automaticamente a aparência do Liquid Glass. Teste a aparência dos ícones dos botões com o CarPlay Simulator. Muitos veículos novos suportam interações multi-touch, incluindo veículos compatíveis com CarPlay Ultra. No iOS 26, se um veículo suporta interações multi-touch no CarPlay, os motoristas podem interagir com seu app de navegação por gestos multi-touch. Seu CPMapTemplate receberá callbacks que permitem reagir e criar uma experiência de mapa mais rica e interativa. Os gestos compatíveis incluem pinçar para ampliar, dois toques para ampliar, dois toques com dois dedos para reduzir, deslizar dois dedos para cima e para baixo para ajustar o tom e girar com dois dedos. Em carros compatíveis, o app de navegação do CarPlay exibe informações em várias telas e superfícies. Por padrão, o app desenha o mapa na tela do CarPlay. Ele também pode aparecer no Painel do CarPlay ao declarar suporte à cena de navegação do painel e implementar os delegados necessários. No iOS 16.4, introduzimos o suporte a outro mapa em áreas de exibição secundárias. Confira o vídeo "Fazer seu app rodar mais com CarPlay" no link abaixo para saber mais. A maioria dos carros novos suporta a exibição de metadados de navegação guiada no painel de instrumentos ou na tela prática.

    Vamos ver como metadados de navegação funcionam. Quando o app é executado no CarPlay, o iPhone é conectado ao veículo. Enquanto as pessoas dirigem, seu app cria uma série de descrições das próximas manobras, incluindo metadados dos tipos de manobra e cruzamento. Os metadados são enviados ao veículo, que os associa ao tipo visual mais próximo e controla sua aparência para renderização na tela.

    Use o CPManeuver para especificar cada manobra. Ele aceita 54 tipos de manobra. Veja alguns exemplos. Também é possível especificar um tipo de cruzamento, útil para descrever interseções mais complexas, como rotatórias. Ele pode incluir o número de saídas, o ângulo de cada saída e a orientação ao motorista sobre qual saída pegar. Concentre-se no significado semântico do tipo, pois o carro define sua aparência.

    Tenho um app de navegação chamado Coastal Roads e gostaria adicionar suporte a metadados. O CarPlay sabe que meu app suporta metadados de navegação porque retorno true quando o sistema chama mapTemplateShouldProvideNavigationMetadata. Para melhorar o desempenho do app, forneço o máximo de objetos de manobra e indicação de faixa ao CPNavigationSession assim que a navegação guiada começa.

    E, se for necessário recalcular, primeiro pauso a viagem atual e crio um CPRouteInformationObject com as informações atualizadas da rota. Quando eu retomar a viagem com o objeto, o sistema exibirá a nova rota. Você pode testar tudo isso no CarPlay Simulator, direto no seu Mac. Também é possível testar nos muitos veículos que suportam metadados. Vamos ver como fica em um desses carros.

    Estamos no carro. Ele tem uma grande tela central e um painel de instrumentos atrás do volante. Já emparelhei meu iPhone, e o CarPlay já está funcionando.

    Este é o Painel do CarPlay no iOS 26. O novo design está incrível e tem um visual que você já conhece bem porque parece seu iPhone. Estou executando o app de navegação Coastal Roads, que exibe um mapa à esquerda e, no canto superior direito, você pode ver os botões de painel. Os botões de painel oferecem atalhos úteis ou favoritos, e é fácil especificá-los usando instâncias de CPDashboardButton. No início do vídeo, apresentamos os widgets para CarPlay. Eles são uma maneira conhecida de obter informações rápidas dos seus apps favoritos na tela do carro. Basta deslizar para a direita, e aqui estão eles.

    Como você pode ver, posso escolher rapidamente quais widgets quero ter na tela. Para personalizar os widgets que aparecem no CarPlay, acesse Ajustes > Geral > CarPlay no iPhone. Agora vamos ao app de navegação Coastal Roads.

    Fiz questão de atualizar as imagens do CPMapButton e do CPBarButton no app para ficarem bem no Liquid Glass.

    Configurei um dos meus botões de barra para mostrar uma prévia da minha viagem favorita ao Coastal Roads Ferry. Agora vamos ver a tela do painel de instrumentos.

    Este carro mantém informações importantes de direção no painel de instrumentos para facilitar acesso ao dirigir. Se eu alterar a exibição, posso ver a navegação guiada em um local conveniente. A orientação guiada ainda não começou, então vamos lá. Vamos começar dirigindo em frente por 40 metros. No momento, os metadados do Coastal Roads estão especificando o tipo de manobra straightAhead, representado por uma seta reta. Eu posso ver a contagem regressiva da distância restante e o nome da rua. Agora fazemos uma leve curva à esquerda em um ângulo de -45° na Starfish St., e a manobra é atualizada. O Coastal Roads também define os ângulos do cruzamento para 80° e -5° para eu ver os outros caminhos da via. Estamos chegando a uma curva acentuada à esquerda, e o app define o ângulo para -135°. Observe que o carro a renderiza com uma aparência diferente. Agora vou passar para a Horizon Highway, onde posso ver o tipo de manobra onRamp. E agora, o tipo de manobra offRamp.

    Vou fazer mais duas curvas à esquerda e então manter a direita em Pebble Pier a um ângulo de saída de 20°.

    E finalmente cheguei à balsa! O Coastal Roads enviou o tipo de manobra enter_ferry e, depois, o tipo de manobra arriveAtDestination.

    Como você pode ver, os metadados são uma forma eficiente de mostrar orientações no painel de instrumentos ou na tela prática. O CarPlay cuida da comunicação com o carro, do envio de metadados e do gerenciamento do estado, e você se concentra em criar uma ótima experiência de navegação no seu app. Para otimizar o desempenho do app de navegação, ele pode observar níveis de temperatura e reduzir detalhes que o mapa desenha ou mudar para um modo de visão geral, que exige menos atualizações de visualização.

    As taxas de quadros do seu CADisplayLink no CarPlay podem se adaptar automaticamente às condições do dispositivo. Considere também que, quando o app exibe um mapa no console central e no painel de instrumentos, as duas visualizações não precisam mostrar o mesmo conteúdo. Convém mostrar uma visão geral em um deles para dar ao motorista diferentes perspectivas navegação. O benefício adicional disso é que você reduz a quantidade de atualizações de visualização animada que o app exige. Confira "Otimizar o desempenho da CPU com Instruments" para saber mais. É isso! Com widgets e Atividades ao Vivo, há ainda mais maneiras de levar seu app para quem está dirigindo.

    E, com as atualizações do framework CarPlay, seus apps podem ficar mais expressivos e funcionais, além de aparecer no painel de instrumentos ou na tela prática. Para mais, confira abaixo o link sobre o CarPlay para desenvolvedores. Boa viagem!

    • 3:21 - Set CarPlay as a disfavored location

      // Disfavored locations modifier for CarPlay
      
      WidgetConfiguration()
          .disfavoredLocations([.carPlay], for: [.systemSmall])
    • 10:05 - List template with pinned elements with grid buttons

      // Pinned elements
      
      var headerGridButtons: [CPGridButton]?
      
      // Create a Grid Button
      
      class CPGridButton
      
      init(titleVariants: [String],
           image: UIImage,
           handler: ((CPGridButton) -> Void)?)
    • 10:22 - List template with pinned elements with grid buttons for messages

      // Pinned elements
      
      var headerGridButtons: [CPGridButton]?
      
      // For Communication apps
      
      class CPGridButton
      
      init(titleVariants: [String],
           image: UIImage,
           messageConfiguration: CPMessageGridItemConfiguration?,
           handler: ((CPGridButton) -> Void)?)
      
      class CPMessageGridItemConfiguration
      
      init(conversationIdentifier: String, unread: Bool)
    • 11:20 - Now playing template with sports mode

      // Now playing template with sports mode
      
      let clock = CPNowPlayingSportsClock(elapsedTime: time, paused: false)
      
      let status = CPNowPlayingSportsEventStatus(
          eventStatusText: ["1st"], // 1st quarter
          eventStatusImage: UIImage(named: "Semifinals"),
          eventClock: clock
      )
      
      let sports = CPNowPlayingModeSports(
          leftTeam: getLeftTeam(), // CPNowPlayingSportsTeam
          rightTeam: getRightTeam(), // CPNowPlayingSportsTeam
          eventStatus: status,
          backgroundArtwork: getBackgroundArtwork() // get UIImage
      )
      
      CPNowPlayingTemplate.sharedTemplate.nowPlayingMode = sports
    • 14:15 - Multitouch callbacks

      // Multitouch
      
      // Zoom callback
      
      func mapTemplate(_ mapTemplate: CPMapTemplate,
                       didUpdateZoomGestureWithCenter center: CGPoint,
                       scale: CGFloat,
                       velocity: CGFloat) {     }
      
      // Pitch callback
      
      func mapTemplate(_ mapTemplate: CPMapTemplate,
                       pitchWithCenter center: CGPoint) {     }
      
      // Rotate callback
      
      func mapTemplate(_ mapTemplate: CPMapTemplate,
                       didRotateWithCenter center: CGPoint,
                       rotation: CGFloat,
                       velocity: CGFloat) {     }
    • 16:28 - Add support for metadata

      // Add support for metadata
      
      // Declare support
      
      func mapTemplateShouldProvideNavigationMetadata(_ mapTemplate: CPMapTemplate) -> Bool {
          true
      }
      
      // Provide maneuver information up-front
      
      cpNavigationSession.add(maneuvers)
      cpNavigationSession.add(laneGuidance)
      
      // Reroute
      
      cpNavigationSession.pauseTrip(for: .rerouting, description: "Rerouting")
      cpNavigationSession.resumeTrip(updatedRouteInformation: cpRouteInformation)
    • 0:00 - Introdução
    • No iOS 26, o CarPlay traz widgets, Atividades ao Vivo, zoom de exibição e uma aparência atualizada, que os apps recebem automaticamente.

    • 1:27 - CarPlay Ultra
    • O CarPlay Ultra oferece o melhor do iPhone e do carro, juntos em uma experiência unificada, consistente e personalizada. Os novos recursos, incluindo seus apps, estão disponíveis no CarPlay Ultra.

    • 2:14 - Widgets
    • Seus widgets aparecem no CarPlay, mesmo que você não tenha o app. Basta dar suporte à família de widgets 'systemSmall'. Se o widget não for funcional ou adequado no carro, defina 'disfavoredLocations' para incluir 'carPlay'.

    • 5:07 - Atividades ao Vivo
    • As Atividades ao Vivo aparecem no Dashboard do CarPlay ou como notificações. O CarPlay usa a classe pequena da família de atividades, a mesma utilizada no Conjunto Inteligente do watchOS. Se você não implementar a família de atividades, o CarPlay usará suas visualizações à esquerda e à direita. Use o app Simulador CarPlay para macOS para testar widgets e Atividades ao Vivo.

    • 6:49 - Framework CarPlay
    • Use o framework CarPlay para exibir uma versão do seu app no CarPlay. O CarPlay aceita apps de áudio, comunicação, direção, veículo elétrico, abastecimento, navegação, estacionamento e pedidos rápidos via APIs de modelo. O modelo de lista foi atualizado com cinco estilos de apresentação para itens de linha de imagem e elementos fixados no topo das listas para acesso rápido. O Now Playing ganhou um modo esportivo para exibir as pontuações dos times em eventos de streaming. Apps de áudio podem aceitar áudio espacial e Dolby Atmos via buffering de áudio aprimorado do AirPlay. Apps de navegação podem mostrar informações em várias telas, incluindo metadados de manobra no cluster de instrumentos ou visores frontais em carros.

    • 17:15 - Demonstração
    • Para esta demonstração, o app de navegação CarPlay 'Coastal Roads' foi atualizado para enviar dados de manobra ao carro. O app fornece uma série de tipos de manobras, distâncias e nomes de ruas que são renderizados pelo carro para exibição no visor do cluster de instrumentos.

    • 21:38 - Próximas etapas
    • Com o suporte a widgets e Atividades ao Vivo, há mais maneiras de levar seu app ao CarPlay. As atualizações no framework CarPlay permitem que seu app seja mais expressivo e potente.

Developer Footer

  • Vídeos
  • WWDC25
  • Aprimore seu app para o CarPlay
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • App Store
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Fonts
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Open Source
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Sample Code
    • Tutorials
    • Downloads
    • Forums
    • Videos
    Open Menu Close Menu
    • Support Articles
    • Contact Us
    • Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Get the Apple Developer app.
    Copyright © 2025 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines