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

Mais vídeos

  • Sobre
  • Resumo
  • Transcrição
  • Código
  • Aprimore os recursos de gravação de áudio do seu app

    Saiba como melhorar os recursos de gravação de áudio do seu app. Explore a flexibilidade da seleção de dispositivos de áudio usando a interação do seletor de entrada no iOS e iPadOS 26. Descubra as APIs disponíveis para gravação de voz de alta qualidade usando os AirPods. Também apresentaremos recursos de gravação e edição de áudio espacial que permitem isolar a fala e os sons de fundo ambiente, tudo isso usando os frameworks AudioToolbox, AV Foundation e Cinematic.

    Capítulos

    • 0:00 - Introdução
    • 1:02 - Seleção da rota de entrada
    • 3:06 - Gravar com os AirPods
    • 5:11 - Captura de áudio espacial
    • 11:04 - Mixagem de áudio

    Recursos

    • AVFoundation
    • Capturing Spatial Audio in your iOS app
    • Cinematic
    • Editing Spatial Audio with an audio mix
    • TN3177: Understanding alternate audio track groups in movie files
      • Vídeo HD
      • Vídeo SD

    Vídeos relacionados

    WWDC25

    • Grave vídeos com qualidade de cinema em seu app
    • Melhore a experiência com a câmera usando os controles de captura
  • Buscar neste vídeo...

    Olá! Meu nome é Steve Nimick. Sou engenheiro de software de áudio e trabalho em tecnologias de áudio espacial. Neste vídeo, falarei sobre como aprimorar os recursos de áudio do seu app. Mostrarei atualizações da API para seleção de dispositivos de entrada, captura de áudio e reprodução.

    O primeiro passo para capturar áudio é selecionar um dispositivo de entrada. Há muitos tipos diferentes de microfones, e a nova API permite alterar a fonte de áudio ativa de dentro do seu app. Seu app agora pode usar os AirPods em um novo modo de gravação de alta qualidade. Também há atualizações na captura de Áudio Espacial e novos recursos para ampliar o processamento de áudio no seu app. A nova API também permite usar a Mixagem de Áudio na reprodução de Áudio Espacial. Começarei com a seleção da rota de entrada, com atualizações sobre como seu app interage com os dispositivos conectados. Os criadores de conteúdo podem usar vários dispositivos de áudio para diferentes aplicações, como gravação de música ou de podcasts. O iOS 26 traz melhorias na forma como o sistema gerencia aprimoramentos de hardware de áudio que também se estendem aos apps. A nova API no AVKit exibe a lista de entradas disponíveis e permite que a fonte de áudio alterne de dentro do app, sem a necessidade de navegar até os Ajustes do Sistema. Confira um exemplo dessa interface. Seu app pode ter um botão de interface que exibe o menu de seleção de entrada. Ele mostra a lista de dispositivos, com medição de nível de som ao vivo. E há uma visualização de seleção de modo de microfone para exibir os modos compatíveis com o dispositivo de entrada. A pilha de áudio lembra o dispositivo selecionado e escolhe a mesma entrada na próxima vez que o app entra em ação. Confira a API que ativa isso para seu app.

    A sessão de áudio precisa ser configurada antes de chamar essa API. Isso garante que a visualização da seleção de entrada mostre a lista de dispositivos correta. Para apresentar o seletor de entrada, crie uma instância de AVInputPickerInteraction. Faça isso depois de configurar a sessão de áudio. Em seguida, atribua o delegado de InputPickerInteraction como o controlador de visualização de apresentação. Seu app pode designar um elemento de interface, como um botão, que exibe a interação do seletor. Por fim, na função de retorno de chamada da interface, use o método present para mostrar o menu de entrada de áudio. Agora, quando o botão é tocado, a visualização de interação do seletor aparece e permite que as pessoas selecionem e alterem o dispositivo. Essa API oferece uma maneira intuitiva para os usuários alterarem as entradas enquanto mantêm o app ativo. Para criadores de conteúdo, o melhor microfone é aquele que está mais prontamente disponível. Agora, vou falar sobre um dispositivo de entrada popular e conveniente: os AirPods. No iOS 26, há uma nova opção bluetooth de alta qualidade e alta taxa de amostragem para apps com captura de áudio. Com um novo ajuste de mídia projetado para criadores de conteúdo, ele atinge um ótimo equilíbrio entre voz e sons de fundo, como esperado de um microfone LAV. Com esse modo de ajuste ativo, o app usa um link Bluetooth mais confiável para gravações de alta qualidade nos AirPods. Veja como um app configura esse recurso. Ele é compatível com AVAudioSession e AVCaptureSession. Para AudioSession, há uma nova opção de categoria, chamada bluetoothHighQualityRecording. Se o app já usa a opção AllowBluetoothHFP, adicionando a opção de alta qualidade, seu app a usará como padrão. BluetoothHFP é um fallback no caso de a rota de entrada não ser compatível com Bluetooth de alta qualidade. Para AVCaptureSession, há uma propriedade semelhante que, quando definida como true, ativa esse modo de alta qualidade sem que o app precise configurar a sessão de áudio manualmente. Nas duas sessões, se essa opção estiver ativada, o menu de entrada de áudio no nível do sistema incluirá AirPods de alta qualidade na lista de dispositivos. Esse recurso dos AirPods é uma excelente adição aos apps que gravam áudio, e você pode oferecer suporte a isso com alteração mínima no código. Além da gravação de alta qualidade, os AirPods também têm controles integrados que facilitam a gravação. As pessoas podem começar e parar pressionando a haste dos AirPods. Para saber mais sobre como oferecer suporte a isso no seu app, confira “Aprimorar a experiência da câmera com controles de captura” da WWDC25. Vou mostrar novas atualizações para captura de Áudio Espacial. No iOS 26, apps que usam AVAssetWriter podem gravar com Áudio Espacial. Primeiro, é importante definir como o Áudio Espacial funciona. A captura de Áudio Espacial usa uma série de microfones, como os de um iPhone, para fazer uma gravação da cena 3D. Em seguida, as capturas do microfone são transformadas em um formato baseado em harmônicos esféricos, chamados ambissônicos. O Áudio Espacial é armazenado como First Order Ambisonics, ou FOA. O FOA usa os primeiros 4 componentes harmônicos esféricos. Há um componente omni e 3 dipolos perpendiculares, nas direções X, Y e Z ou frente-trás, esquerda-direita e para cima-para baixo. O áudio gravado nesse formato usa os recursos de reprodução do Áudio Espacial, como o rastreamento da cabeça nos AirPods. Além disso, seus apps podem usar a nova API para o efeito Mixagem de Áudio, que permite ajustar o equilíbrio dos sons de primeiro e segundo plano. A API de captura de Áudio Espacial foi introduzida no iOS 18. Os apps que usam AVCaptureMovieFileOutput podem gravar Áudio Espacial definindo a propriedade multichannelAudioMode da Entrada AVCaptureDevice como .firstOrderAmbisonics. No iOS 26, apps somente de áudio, como o Gravador, agora podem salvar dados no formato QuickTime com a extensão .qta. Semelhante aos filmes do QuickTime ou arquivos MPEG, o formato QTA aceita várias faixas de áudio com grupos de faixas alternativas, igual à composição dos arquivos de Áudio Espacial. Confira uma visão geral de um recurso de Áudio Espacial formatado corretamente. Há duas faixas de áudio: uma faixa estéreo no formato AAC e uma faixa de Áudio Espacial no novo formato Apple Positional Audio Codec (ou APAC). Durante a gravação em ProRes, essas faixas de áudio são codificadas como PCM. A faixa estéreo está incluída para compatibilidade com dispositivos que não oferecem suporte ao Áudio Espacial. Por fim, há pelo menos uma faixa de metadados que contém informações para reprodução. Ao encerrar a gravação, o processo de captura gera uma amostra de dados que permite usar a Mixagem de Áudio. Ela também contém parâmetros de ajuste que são aplicados durante a reprodução. Vou expandir esse tópico na próxima seção sobre Mixagem de Áudio. Para saber mais sobre como criar grupos de faixas e relacionamentos de fallback, leia a nota técnica “Noções básicas sobre grupos de faixas alternativas em arquivos de filme”. Para apps que montam o próprio arquivo com AVAssetWriter em vez de MovieFileOutput, analisarei os elementos necessários para criar uma gravação de Áudio Espacial. Deve haver duas faixas de áudio e uma faixa de metadados. Quando a propriedade multichannelAudioMode do CaptureDeviceInput é definida como FOA, o AVCaptureSession pode aceitar até duas instâncias de AudioDataOutput (ou ADO). Um único ADO pode produzir quatro canais de FOA ou dois canais em estéreo. O Áudio Espacial, com duas faixas, requer dois ADOs. Um deve ser configurado em FOA, e o outro deve ter saída em estéreo. Há uma nova propriedade de tag de layout de canal no objeto ADO chamada spatialAudioChannelLayoutTag. Essa tag de layout pode ter dois valores possíveis: estéreo, ou ambissônicos de primeira ordem, que são 4 canais do layout ambissônico HOA - ACN - SN3D. O app precisa de 2 entradas AssetWriter para criar as faixas de áudio. Um para estéreo e outro para FOA. A parte final são os metadados, e há uma nova API para criar essa amostra. Use o objeto auxiliar: AVCaptureSpatialAudioMetadataSampleGenerator. O objeto gerador de amostras recebe os buffers vindos do FOA AudioDataOutput. Quando a gravação é interrompida, depois de enviar o buffer final, o gerador de amostras cria uma amostra de metadados cronometrados que é passado para outra AssetWriterInput e compilado na composição final como uma faixa de metadados. Há mais uma atualização para AVCaptureSession que afeta MovieFileOutput e AudioDataOutput e é útil para apps que poderiam se beneficiar do uso de ambos os objetos. AudioDataOutput fornece acesso a buffers de amostra de áudio à medida que são recebidos para que seu app possa aplicar efeitos ou desenhar formas de onda na tela. No iOS 26, o CaptureSession oferece suporte à operação de MovieFileOutput e AudioDataOutput simultaneamente. Portanto, seu app pode gravar em um arquivo e processar ou visualizar as amostras de áudio em tempo real. Esta atualização te dá liberdade para incluir esses elementos surpresa ao app. Para obter um exemplo de captura de Áudio Espacial com AVAssetWriter, confira o app de exemplo em “Capturar Áudio Espacial no seu app para iOS”, indicado neste vídeo. No iOS 26, há a opção de gravar vídeos cinematográficos com Áudio Espacial. Para saber mais, confira “Capturar vídeos cinematográficos no seu app” da WWDC25.

    Na próxima seção, falarei sobre mais um elemento do Áudio Espacial: reprodução e edição, usando a Mixagem de Áudio. Novidade no iOS e macOS 26, o framework Cinematic agora permite controlar a Mixagem de Áudio. É igual ao recurso de edição do Fotos, para vídeos gravados com Áudio Espacial. A Mixagem de Áudio permite controlar o equilíbrio entre sons de primeiro plano, como fala, e ruídos de fundo. A nova API inclui os mesmos modos de mixagem que o app Fotos usa nos apps: cinematográfico, de estúdio e In-Frame. Além disso, há 6 modos adicionais disponíveis para o seu app. Esses outros modos podem fornecer a fala extraída por si só, como uma haste mono de primeiro plano ou apenas a haste de fundo de ambiente em formato FOA. Essa é uma adição poderosa a apps que reproduzem conteúdo de Áudio Espacial, como esta próxima demonstração. Esta é uma demonstração que ensina a controlar o efeito de Mixagem de Áudio em gravações de Áudio Espacial. Estou aqui no lindo campus do Apple Park, um cenário maravilhoso para meu vídeo. Mas os microfones não processados no meu telefone estão captando todos os sons ao meu redor. E não é isso que tenho em mente para minha gravação de áudio. Steve adicionou um elemento de interface ao app para alternar entre os vários estilos de mixagem de áudio: padrão, cinematográfico, de estúdio ou um dos modos de fundo. Selecionar Cinematográfico aplica o estilo de mixagem de áudio cinematográfico. O som está bem melhor. Agora também há um controle deslizante para controlar o equilíbrio entre a fala e o ruído ambiente. Vou encontrar a posição em que minha voz entra em alto e bom som. Lá, acho que essa posição funciona muito bem.

    Se eu escolher um modo em segundo plano, minha voz será removida. A faixa de áudio conterá apenas sons ambientes. Isso pode ser usado para criar uma faixa de ambiente puro para uso na pós-produção mais tarde. Vou selecionar esse modo agora.

    Agora, de volta ao modo de voz. Agora, Steve mostrará como adicionar isso aos seus apps.

    Veja como você pode implementar isso. Primeiro, importe o framework cinematográfico. Os dois parâmetros principais de Mixagem de Áudio são effectInintensity e renderingStyle. O app de demonstração usa elementos da interface para alterá-los em tempo real. A intensidade opera dentro de um intervalo de 0 a 1, e CNSpatialAudioRenderingStyle é um enum que contém as opções de estilo. Em seguida, inicialize uma instância de CNAssetSpatialAudioInfo, essa classe contém muitas propriedades e métodos para trabalhar com a Mixagem de Áudio. Por exemplo, na próxima linha, execute audioInfo.audioMix(). Isso cria um AVAudioMix usando os parâmetros de mixagem atuais. Em seguida, defina essa nova mixagem na propriedade de mixagem de áudio do AVPlayerItem. Isso é tudo que você precisa para começar a usar a Mixagem de Áudio no seu app AVPlayer.

    Fora do AVPlayer, você pode executar o processamento de Mixagem de Áudio com uma nova AudioUnit chamada AUAudioMix. Esta é a unidade que realiza a separação entre fala e ambiente. Usar essa unidade é útil para apps que não usam o AVPlayer, que configura muitos ajustes automaticamente. Se o app precisa de um fluxo de trabalho mais específico e personalizado, o AUAudioMix oferece mais flexibilidade e opções de ajuste. Confira os diversos componentes dentro da unidade. A entrada é de 4 canais de Áudio Espacial FOA. Ela flui para o bloco de processamento que separa a fala e o ambiente. E a saída é enviada para AUSpatialMixer, que fornece outras opções de reprodução. Os primeiros 2 parâmetros AU são RemixAmount e Style, os 2 elementos fundamentais da mixagem de áudio. Há também a propriedade AUAudioMix EnableSpatialization, que ativa ou desativa o SpatialMixer. Isso muda o formato de saída de toda a UA, e falarei mais sobre isso em breve. A propriedade AudioUnit SpatialMixerOutputType permite renderizar a saída para fones de ouvido, alto-falantes integrados do dispositivo ou alto-falantes externos. A UA também tem uma propriedade para os formatos de fluxo de entrada e saída. Como a UA recebe áudio FOA, defina o fluxo de entrada com 4 canais. Há mais uma propriedade chamada SpatialAudioMixMetadata. Este é um objeto CFData com parâmetros de ajuste gerados automaticamente para os componentes de diálogo e ambiente. Vamos ver como funciona. Imediatamente após a interrupção da gravação de Áudio Espacial, o processo de captura analisa os sons em primeiro e segundo planos. Ele calcula parâmetros de áudio, como ganho e equalização, que são aplicados durante a reprodução. Esses valores são salvos em uma faixa de metadados. Ao configurar o AUAudioMix, seu app precisa ler esses dados do arquivo de entrada e aplicar esses parâmetros de ajuste na unidade. Confira um exemplo de como extrair esses metadados de um arquivo. Novamente, ele começa com uma instância de CNAssetSpatialAudioInfo e recupera a propriedade MixMetadata chamando audioInfo.spacialAudioMixMetadata, que precisa ser do tipo CFData para definir essa propriedade na unidade.

    Antes, mencionei a propriedade EnableSpatialization. Ela é desativada por padrão e, nesse modo, a unidade emite o resultado de 5 canais da separação de som. Ou seja, 4 canais de ambiente, em FOA, mais um canal de diálogo. Com a propriedade de espacialização ativada, a unidade aceita outros layouts de canal comuns, como 5.1 surround ou 7.1.4. Por fim, este vídeo inclui um projeto de exemplo de ferramenta de linha de comando “Editar Áudio Espacial com uma mixagem de áudio”. SpatialAudioCLI tem exemplos de como aplicar uma mixagem de áudio de três maneiras. O modo de prévia usa AVPlayer para reproduzir a entrada e aplicar parâmetros de mixagem de áudio. A opção Bake usa AVAssetWriter para salvar um novo arquivo com os parâmetros de mixagem de áudio, incluindo uma faixa de compatibilidade estéreo. E o modo Process envia a entrada por meio de AUAudioMix e renderiza a saída para um layout de canal que você especificar. Agora que você já conhece os novos recursos de áudio, veja como levar seu app para o próximo nível.

    Adicione AVInputPickerInteraction para permitir que as pessoas selecionem a entrada de áudio nativamente no app. Ative a opção de gravação Bluetooth de alta qualidade para AirPods para que os criadores de conteúdo capturem um som excepcional de forma rápida e fácil. Dê mais flexibilidade ao seu app usando MovieFileOutput e AudioDataOutput para gravar e aplicar efeitos de áudio. Para maior controle, integre a captura de Áudio Espacial com o AVAssetWriter e use a nova API Audio Mix durante a reprodução. Para começar a usar o Áudio Espacial, baixe os projetos de amostra de código relacionados.

    Quero ver tudo o que as pessoas vão criar usando seus apps. Tenha um ótimo dia!

    • 2:10 - Input route selection

      import AVKit
      
      class AppViewController {
      
          // Configure AudioSession
      
          // AVInputPickerInteraction is a NSObject subclass that presents an input picker
          let inputPickerInteraction = AVInputPickerInteraction()   
          inputPickerInteraction.delegate = self
      
          // connect the PickerInteraction to a UI element for displaying the picker
          @IBOutlet weak var selectMicButton: UIButton!
          self.selectMicButton.addInteraction(self.inputPickerInteraction)
      
          // button press callback: present input picker UI
          @IBAction func handleSelectMicButton(_ sender: UIButton) {
      	    inputPickerInteraction.present()
          }
      }
    • 3:57 - AirPods high quality recording

      // AVAudioSession clients opt-in - session category option
      AVAudioSessionCategoryOptions.bluetoothHighQualityRecording
      
      // AVCaptureSession clients opt-in - captureSession property
      session.configuresApplicationAudioSessionForBluetoothHighQualityRecording = true
    • 13:26 - Audio Mix with AVPlayer

      import Cinematic
      
      // Audio Mix parameters (consider using UI elements to change these values)
      var intensity: Float32 = 0.5 // values between 0.0 and 1.0
      var style = CNSpatialAudioRenderingStyle.cinematic
      
      // Initializes an instance of CNAssetAudioInfo for an AVAsset asynchronously
      let audioInfo = try await CNAssetSpatialAudioInfo(asset: myAVAsset)
          
      // Returns an AVAudioMix with effect intensity and rendering style.
      let newAudioMix: AVAudioMix = audioInfo.audioMix(effectIntensity: intensity,
                                                       renderingStyle: style)
      
      // Set the new AVAudioMix on your AVPlayerItem
      myAVPlayerItem.audioMix = newAudioMix
    • 16:45 - Get remix metadata from input file

      // Get Spatial Audio remix metadata from input AVAsset
      
      let audioInfo = try await CNAssetSpatialAudioInfo(asset: myAVAsset)
      
      // extract the remix metadata. Set on AUAudioMix with AudioUnitSetProperty()
      let remixMetadata = audioInfo.spatialAudioMixMetadata as CFData
    • 0:00 - Introdução
    • O iOS 26 apresenta atualizações de API para aprimoramentos na gravação de áudio em apps, incluindo seleção de dispositivos de entrada, gravação de alta qualidade do AirPods, captura de Áudio Espacial, processamento de áudio e o recurso Mixagem de Áudio durante a reprodução de Áudio Espacial.

    • 1:02 - Seleção da rota de entrada
    • O AVKit inclui uma nova API, "AVInputPickerInteraction", que aprimora o gerenciamento de entrada de áudio para criadores de conteúdo que usam vários dispositivos. "AVInputPickerInteraction" permite que os apps exibam um menu de seleção de entrada dinâmica com medição de nível de som e seleção de modo de microfone, possibilitando que você alterne as fontes de áudio diretamente no app sem precisar acessar os Ajustes do Sistema. A pilha de áudio lembra o dispositivo selecionado para uso futuro.

    • 3:06 - Gravar com os AirPods
    • A partir do iOS 26, os AirPods oferecem qualidade de som semelhante a um microfone LAV com um novo modo de ajuste de mídia, permitindo que você use os AirPods como ferramenta de gravação. Os apps podem ativar facilmente esse recurso de gravação Bluetooth de alta qualidade por meio de "AVAudioSession" ou "AVCaptureSession", fornecendo uma solução confiável e conveniente de alta qualidade com controles stem integrados para iniciar e interromper a gravação com facilidade.

    • 5:11 - Captura de áudio espacial
    • O iOS 26 introduz várias atualizações nas funcionalidades de gravação com Áudio Espacial. A captura de Áudio Espacial agora permite que os apps que usam "AVAssetWriter" gravem no formato First Order Ambisonics (FOA). O FOA utiliza quatro componentes harmônicos esféricos para capturar uma cena de áudio em 3D, permitindo a reprodução imersiva de Áudio Espacial com recursos como rastreamento da cabeça nos AirPods. As novas APIs permitem ajustar o balanço entre os sons de primeiro plano e de fundo usando o efeito Mixagem de Áudio, bem como salvar apenas dados de áudio no formato QuickTime (.qta). Um recurso de Áudio Espacial formatado corretamente inclui duas faixas de áudio: uma faixa estéreo no formato AAC para compatibilidade e uma faixa de Áudio Espacial no novo formato Apple Positional Audio Codec (APAC). Além disso, há pelo menos uma faixa de metadados contendo informações essenciais de reprodução. O iOS 26 também permite a operação simultânea de "MovieFileOutput" e "AudioDataOutput", possibilitando processamento de áudio em tempo real e visualização durante a gravação em um arquivo.

    • 11:04 - Mixagem de áudio
    • No iOS e macOS 26, o framework Cinematic introduz novos controles de Mixagem de Áudio para vídeos de Áudio Espacial. Esse recurso, assim como o de edição do app Fotos, permite ajustar o balanço entre os sons de primeiro plano, como fala, e o ruído de fundo. O framework fornece vários modos de mixagem, incluindo Cinematic, Studio e In-Frame, além de seis modos adicionais que extraem separadamente a fala ou o ambiente. Você pode implementar esses controles usando elementos da interface do usuário para ajustar a intensidade do efeito e o estilo de renderização em tempo real. A nova AudioUnit chamada AUAudioMix permite fluxos de trabalho mais específicos e personalizados para apps que não usam AVPlayer. Ela separa a fala e o ambiente, além de permitir a renderização em diferentes saídas, como fones de ouvido, alto-falantes ou sistemas de som surround. O framework também inclui "SpatialAudioMixMetadata" que ajusta automaticamente os componentes de diálogo e ambiente durante a reprodução. Um novo projeto de exemplo de ferramenta de linha de comando, SpatialAudioCLI, está disponível para processamento de Áudio Espacial. Baixe-o para começar a usar o Áudio Espacial.

Developer Footer

  • Vídeos
  • WWDC25
  • Aprimore os recursos de gravação de áudio do seu app
  • 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