View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Vídeos

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

Mais vídeos

  • Sobre
  • Resumo
  • Código
  • Explore as melhorias em seu app espacial de negócios

    Saiba como as melhorias mais recentes e as APIs no visionOS 26 expandiram o acesso e ampliaram os recursos empresariais anunciadas no ano passado. Saiba como esses novos recursos facilitam a criação de fluxos de trabalho de treinamento de modelos, aprimoram feeds de vídeo e permitem alinhar sistemas de coordenadas em uma rede local para desenvolver experiências colaborativas em seu app interno.

    Capítulos

    • 0:04 - Introdução
    • 1:37 - Simplificar o desenvolvimento
    • 4:54 - Melhorar a experiência de usuário
    • 13:37 - Visualizar o ambiente
    • 24:01 - Próximas etapas

    Recursos

    • Implementing object tracking in your visionOS app
    • Building spatial experiences for business apps with enterprise APIs for visionOS
      • Vídeo HD
      • Vídeo SD

    Vídeos relacionados

    WWDC25

    • Compartilhe experiências do visionOS com pessoas próximas

    WWDC24

    • Create enhanced spatial computing experiences with ARKit
    • Explore object tracking for visionOS
    • Introducing enterprise APIs for visionOS
  • Buscar neste vídeo...
    • 3:00 - createml on the Mac command line

      xcrun createml objecttracker -s my.usdz -o my.referenceobject
    • 4:28 - VisionEntitlementServices

      import VisionEntitlementServices
      
      func checkLicenseStatus() {
          // Get the shared license details instance
          let license = EnterpriseLicenseDetails.shared
      
          // First, you might check the overall license status
          guard license.licenseStatus == .valid else {
              print("Enterprise license is not valid: \(license.licenseStatus)")
              // Optionally disable enterprise features or alert the user
              return
          }
      
          // Then, check for a specific entitlement before using the feature
          if license.isApproved(for: .mainCameraAccess) {
              // Safe to proceed with using the main camera API
              print("Main Camera Access approved. Enabling feature...")
              // ... enable camera functionality ...
          } else {
              // Feature not approved for this license
              print("Main Camera Access not approved.")
              // ... keep feature disabled, potentially inform user ...
          }
      }
    • 10:04 - SharedCoordinateSpaceModel

      //
      //  SharedCoordinateSpaceModel.swift
      //
      
      import ARKit
      
      class SharedCoordinateSpaceModel {
          let arkitSession = ARKitSession()
          let sharedCoordinateSpace = SharedCoordinateSpaceProvider()
          let worldTracking = WorldTrackingProvider()
      
          func runARKitSession() async {
              do {
                  try await arkitSession.run([sharedCoordinateSpace, worldTracking])
              } catch {
                  reportError("Error: running session: \(error)")
              }
          }
      
          // Push data received from other participants
          func pushCoordinateSpaceData(_ data: Data) {
              if let coordinateSpaceData = SharedCoordinateSpaceProvider.CoordinateSpaceData(data: data) {
                  sharedCoordinateSpace.push(data: coordinateSpaceData)
              }
          }
      
          // Poll data to be sent to other participants
          func pollCoordinateSpaceData() async {
              if let coordinateSpaceData = sharedCoordinateSpace.nextCoordinateSpaceData {
                  // Send my coordinate space data
              }
          }
      
          // Be notified when participants connect or disconnect from the shared coordinate space
          func processEventUpdates() async {
              let participants = [UUID]()
              for await event in sharedCoordinateSpace.eventUpdates {
                  switch event {
                      // Participants changed
                  case .connectedParticipantIdentifiers(participants: participants):
                      // handle change
                      print("Handle change in participants")
                  case .sharingEnabled:
                      print("sharing enabled")
                  case .sharingDisabled:
                      print("sharing disabled")
                  @unknown default:
                      print("handle future events")
                  }
              }
          }
      
          // Be notified when able to add shared world anchors
          func processSharingAvailabilityUpdates() async {
              for await sharingAvailability in worldTracking.worldAnchorSharingAvailability
                  where sharingAvailability == .available {
                  // Able to add anchor
              }
          }
          // Add shared world anchor
          func addWorldAnchor(at transform: simd_float4x4) async throws {
              let anchor = WorldAnchor(originFromAnchorTransform: transform, sharedWithNearbyParticipants: true)
              try await worldTracking.addAnchor(anchor)
          }
      
          // Process shared anchor updates from local session and from other participants
          func processWorldTrackingUpdates() async {
              for await update in worldTracking.anchorUpdates {
                  switch update.event {
                  case .added, .updated, .removed:
                      // Handle anchor updates
                      print("Handle updates to shared world anchors")
                  }
              }
          }
      }
    • 12:50 - contentCaptureProtected

      // Example implementing contentCaptureProtected
      
      struct SecretDocumentView: View {
          var body: some View {
              VStack {
                  Text("Secrets")
                      .font(.largeTitle)
                      .padding()
      
                  SensitiveDataView()
                      .contentCaptureProtected()
              }
              .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top)
          }
      }
    • 16:48 - CameraRegionView

      //
      //  InspectorView.swift
      //
      
      import SwiftUI
      import VisionKit
      
      struct InspectorView: View {
          @Environment(CameraFeedDelivery.self) private var cameraFeedDelivery: CameraFeedDelivery
      
          var body: some View {
              CameraRegionView(isContrastAndVibrancyEnhancementEnabled: true) { result in
                  var pixelBuffer: CVReadOnlyPixelBuffer?
                  switch result {
                  case .success(let value):
                      pixelBuffer = value.pixelBuffer
                  case .failure(let error):
                      reportError("Failure: \(error.localizedDescription)")
                      cameraFeedDelivery.stopFeed()
                      return nil
                  }
      
                  cameraFeedDelivery.frameUpdate(pixelBuffer: pixelBuffer!)
                  return nil
              }
          }
      }
      
      @main
      struct EnterpriseAssistApp: App {
          var body: some Scene {
              WindowGroup {
                  ContentView()
              }
      
              WindowGroup(id: "InspectorView") {
                  InspectorView()
              }
              .windowResizability(.contentSize)
          }
      }
    • 21:15 - CameraRegionAnchor

      class CameraRegionHandler {
          let arkitSession = ARKitSession()
          var cameraRegionProvider: CameraRegionProvider?
          var cameraRegionAnchor: CameraRegionAnchor?
      
          func setUpNewAnchor(anchor: simd_float4x4, width: Float, height: Float) async {
              let anchor = CameraRegionAnchor(originFromAnchorTransform: anchor,
                                              width: width,
                                              height: height,
                                              cameraEnhancement: .stabilization)
      
              guard let cameraRegionProvider = self.cameraRegionProvider else {
                  reportError("Missing CameraRegionProvider")
                  return
              }
      
              do {
                  try await cameraRegionProvider.addAnchor(anchor)
              } catch {
                  reportError("Error adding anchor: \(error)")
              }
              cameraRegionAnchor = anchor
      
              Task {
                  let updates = cameraRegionProvider.anchorUpdates(forID: anchor.id)
                  for await update in updates {
                      let pixelBuffer = update.anchor.pixelBuffer
                      // handle pixelBuffer
                  }
              }
          }
      
          func removeAnchor() async {
              guard let cameraRegionProvider = self.cameraRegionProvider else {
                  reportError("Missing CameraRegionProvider")
                  return
              }
      
              if let cameraRegionAnchor = self.cameraRegionAnchor {
                  do {
                      try await cameraRegionProvider.removeAnchor(cameraRegionAnchor)
                  } catch {
                      reportError("Error removing anchor: \(error.localizedDescription)")
                      return
                  }
                  self.cameraRegionAnchor = nil
              }
          }
      }
    • 0:04 - Introdução
    • No ano passado, a Apple lançou as APIs Empresariais, e neste ano há uma série de novos recursos e melhorias. Essas APIs, projetadas para apps internos proprietários, exigem direitos gerenciados e arquivos de licença. As atualizações visam simplificar o desenvolvimento, melhorar a experiência e possibilitar novas funcionalidades de visualização de ambientes.

    • 1:37 - Simplificar o desenvolvimento
    • O visionOS mais recente aprimora os recursos de desenvolvedor expandindo o acesso à API. Melhorias incluem maior disponibilidade da API, aprimoramentos no rastreamento de objetos e gestão simplificada de licenças. Várias APIs lançadas no ano passado, como as de acesso a webcams UVC e ao Neural Engine, agora estão abertas a todos os desenvolvedores, sem licenças empresariais. Você pode treinar modelos de rastreamento de objetos pela linha de comando, automatizando o processo e integrando-o a pipelines existentes. Arquivos de licença estão acessíveis dentro da conta do Apple Developer, as renovações são automáticas e um novo framework permite verificar o status das licenças e as aprovações de apps para recursos específicos.

    • 4:54 - Melhorar a experiência de usuário
    • Vários novos recursos no visionOS 26 aprimoram a experiência em apps espaciais. Um desses recursos é o Modo de Acompanhamento de Janela, que permite ativar uma janela para ela se mover durante a navegação por um ambiente espacial. Isso é útil para tarefas que exigem referência frequente a informações durante o movimento. Para ativar esse modo, é necessário solicitar e gerenciar um direito licenciado específico. A computação espacial foi aprimorada para colaboração. Espaços de coordenadas compartilhados permitem que pessoas fisicamente próximas compartilhem experiências espaciais. Todas as pessoas podem interagir e discutir o conteúdo do app como se ele estivesse presente. Utilize o SharePlay para configuração simples ou, para ter mais controle, uma nova API do ARKit chamada 'SharedCoordinateSpaceProvider' está disponível para clientes empresariais. Essa API permite que várias pessoas sincronizem seus sistemas de coordenadas e compartilhem dados por uma rede local, criando um sistema de coordenadas para usar âncoras de mundo compartilhado. A privacidade e a segurança dos dados também são importantes, em especial em apps empresariais que lidam com informações confidenciais. Uma nova API contentCaptureProtected permite marcar elementos específicos da interface ou cenas inteiras como protegidos. O sistema oculta esse conteúdo protegido em capturas de tela, gravações, visualizações espelhadas ou sessões compartilhadas, garantindo que os dados confidenciais permaneçam visíveis apenas para o usuário do dispositivo.

    • 13:37 - Visualizar o ambiente
    • O mais recente visionOS aprimora os recursos do Apple Vision Pro para conectar os mundos físico e digital. O sistema de câmeras foi expandido, oferecendo maior acesso às câmeras do dispositivo por meio da API 'CameraFrameProvider' do ARKit. Esse recurso permite que os apps usem feeds da câmera em ambientes imersivos e em espaços compartilhados. Um novo recurso permite ampliar e melhorar áreas específicas da visão do mundo real. Usando o 'CameraRegionView' do VisionKit, os desenvolvedores podem criar janelas que exibem feeds de vídeo dedicados a regiões, deixando detalhes críticos mais claros. Esse recurso é útil para profissionais, como técnicos e inspetores, que monitoram pequenos medidores ou componentes em áreas de pouca luz. Implemente esse recurso com poucas linhas de código SwiftUI, usando as APIs 'CameraRegionView' e 'CameraRegionProvider'. As APIs oferecem opções de processamento, como aprimoramento de contraste e vibração, análise e modificação de imagens, oferecendo flexibilidade para vários apps. O recurso Camera Regions do ARKit aprimora o feed da câmera pass-through no Apple Vision Pro, podendo ser aplicado a áreas definidas por janelas virtuais chamadas 'CameraRegionAnchors'. Você pode criar essas âncoras especificando sua posição, orientação e tamanho no mundo real. O ARKit fornece buffers de pixels estabilizados e aprimorados para essas regiões. O recurso permite zoom e panorâmica, ajustando a taxa de quadros com base no algoritmo de aprimoramento escolhido. Considere o uso de recursos, pois regiões de câmera maiores afetam a memória e o processamento.

    • 24:01 - Próximas etapas
    • Para apps empresariais no Apple Vision Pro, priorize a segurança, respeite a privacidade coletando dados essenciais, siga os requisitos de elegibilidade (internos ou personalizados B2B) e solicite apenas os direitos necessários para funcionalidades específicas.

Developer Footer

  • Vídeos
  • WWDC25
  • Explore as melhorias em seu app espacial de negócios
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & 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
    • Mini Apps Partner 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
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines