Explore the integration of media technologies within your app. Discuss working with audio, video, camera, and other media functionalities.

All subtopics
Posts under Media Technologies topic

Post

Replies

Boosts

Views

Activity

Camera app best practices
As a reminder, the recommended approach to monitor camera rotations, including on upcoming hardware, is to use the AVCaptureDevice.RotationCoordinator / AVCaptureDeviceRotationCoordinator API. In many common scenarios on iPhone Duo, proper use of the rotation coordinator is the only way to ensure that your camera previews and captures use the orientation expected by the user. AVCaptureVideoOrientation has been deprecated as of iOS 17.0 and iPadOS 17.0. When switching cameras in your app, make sure to create a rotation coordinator for that device. To ensure that your app has implemented the rotation coordinator API correctly, you should test different orientations and sizes of your app on an iPad with Stage Manager enabled. Additional information: Sample Code: Supporting device rotation in your camera app Tech Talk: Build a great camera experience for iPhone Duo WWDC23 session: Support external cameras in your iPadOS app
0
0
421
2w
Radiometric interpretation of Apple ProRAW and Bayer RAW access via AVFoundation
I am working on a computational photography research project involving multi-exposure HDR reconstruction using Bayer RAW and Apple ProRAW captures. I would like to clarify the radiometric interpretation of Apple ProRAW and the availability of Bayer RAW capture through AVFoundation. My questions are: On current iPhone Pro devices, is it possible for third-party apps to capture and export true Bayer-pattern RAW DNG files through AVFoundation, rather than Apple ProRAW linear DNG files? If so, which availableRawPhotoPixelFormatTypes correspond to Bayer RAW, and what device or format restrictions apply? Apple ProRAW appears to be demosaiced and computationally processed, and may include multi-frame fusion. Is the decoded ProRAW image intended to be radiometrically linear and scene-referred? For a bracketed ProRAW sequence captured with fixed ISO, white balance, lens, and focus, but different exposure times, can one assume that the decoded linear pixel values Y_i(p) satisfy an exposure-proportional model in non-saturated regions, such as Y_i(p) ≈ t_i R(p), across brackets? This question is about radiometric consistency for algorithmic use, not about visual editing or tone mapping. Thank you for your help.
2
0
1.8k
11h
Radiometric interpretation of Apple ProRAW and Bayer RAW access via AVFoundation
I am working on a computational photography research project involving multi-exposure HDR reconstruction using Bayer RAW and Apple ProRAW captures. I would like to clarify the radiometric interpretation of Apple ProRAW and the availability of Bayer RAW capture through AVFoundation. My questions are: 1.On current iPhone Pro devices, is it possible for third-party apps to capture and export true Bayer-pattern RAW DNG files through AVFoundation, rather than Apple ProRAW linear DNG files? If so, which availableRawPhotoPixelFormatTypes correspond to Bayer RAW, and what device or format restrictions apply? 2.Apple ProRAW appears to be demosaiced and computationally processed, and may include multi-frame fusion. Is the decoded ProRAW image intended to be radiometrically linear and scene-referred? 3.For a bracketed ProRAW sequence captured with fixed ISO, white balance, lens, and focus, but different exposure times, can one assume that the decoded linear pixel values Y_i(p) satisfy an exposure-proportional model in non-saturated regions, such as Y_i(p) ≈ t_i R(p), across brackets? This question is about radiometric consistency for algorithmic use, not about visual editing or tone mapping. Thank you for your help.
2
0
1.5k
11h
iPhone Duo: continuous front-camera depth for measuring face distance
Hi, I’m building an app that counts push-ups with the phone on the floor. It currently uses ARKit and TrueDepth to measure the distance between the camera and the user’s face. I want to support iPhone Duo too, but I don’t have one. I only have an iPhone 17 Pro. I watched the camera presentation and saw that depth is supported when accessing the individual cameras. I’m trying to understand what that means for my app. Can either front camera provide continuous depth through AVCaptureDepthDataOutput, or is it only available when taking photos? Does it give actual distances in metres, or relative depth estimates? The face would usually be around 20 to 80 cm from the camera. Also, is there an equivalent camera mode on my iPhone 17 Pro that I could use to test the same approach, or would I need an actual Duo? It’s okay if counting is less accurate than with TrueDepth. I mainly need to detect the user moving down and back up reliably. Thank you!
0
0
28
20h
Supported integration path for two-deck Apple Music DJ playback on iPhone, iPad and Mac Catalyst
We develop SpinCut DJ, a free-to-download proprietary DJ application by LALAMO CORPORATION for iPhone, iPad and Mac Catalyst. We want to add Apple Music subscription playback for users with an active subscription, similar to the integrations featured in DJ with Apple Music. This question is about the officially supported integration path, not extracting or bypassing protected audio. Our existing engine uses app-owned PCM for two independently controlled decks, scratch/reverse playback, tempo changes, hot cues, loops, beat synchronization and independent master/headphone outputs. We have reviewed MusicAuthorization, MusicSubscription, catalog/library requests, ApplicationMusicPlayer and SystemMusicPlayer. We understand that ordinary catalog access and protected queue playback do not establish a documented route to feed subscription audio into our custom engine, or permission to modify or synchronize MusicKit content. We have not enabled subscription-catalog DJ playback. Apple Developer Support advised us to ask the Developer Forums about the required technical integration. Could an Apple representative clarify: Is there a documented public API for two independent, simultaneous Apple Music DJ decks with scratch/reverse/tempo control? If a separate Apple Music DJ integration, agreement, SDK or capability is required, what is the current official application or referral process for a Japan-based developer? Are iOS, iPadOS and Mac Catalyst supported through the same integration, and what technical material is required for evaluation? What approved interfaces govern waveform/beat analysis, seeking and separate master/headphone routing? We are not requesting recording/export, stem separation, offline file extraction or rebroadcast permission through ordinary MusicKit. Those features would remain unavailable for subscription content unless separately and expressly supported. We can provide a product demonstration and integration brief through an appropriate private channel. Product: https://spincutdj.com/ App Store: https://apps.apple.com/app/id6804328893 Please point us to the supported technical and onboarding path rather than an undocumented entitlement or workaround.
0
0
216
21h
TTS Stuttering & Noise
TTS Stuttering & Noise When using Apple’s native TTS API on an iPhone or iPad—specifically while connected to Bluetooth earphones or headsets—users are experiencing audio noise or intermittent gaps in speech, causing parts of sentences to drop out during playback. There were no reports or inquiries regarding such issues up through iOS/iPadOS 26. Since the release of iOS/iPadOS 27, however, there has been a significant increase in reports and inquiries about this problem. If you happen to know the cause of this issue or have any suggestions for a fix, please leave a reply. The issue persists even after removing the AirPods or headset from the device and reconnecting them. The issue persists even after rebooting the device. The issue occurs even on the latest versions, from iOS/iPadOS 27 through 27.2.
0
0
30
23h
AVFoundation: full-resolution Quad Bayer RAW capture path for third-party computational photography? (FB25352517)
At the WWDC26 Camera and Photo Technologies Group Lab (session 8018, ~29:55 to 32:46), the panel explained why ProRAW can produce 48 MP output from Quad Bayer sensors while native Bayer RAW is limited to the binned resolution. ProRAW is already demosaiced and linearized, and may incorporate Photonic Engine multi-frame processing. The native RAW path exposes the binned Bayer result. A true full-resolution RAW output would be Quad Bayer, not conventional Bayer, and supporting it properly needs a decoding path around it. The panel suggested filing Feedback Assistant requests if developers need this, so I filed FB25352517. My use case is computational photography that wants minimally processed sensor-domain samples on purpose — its own multi-frame alignment, denoising, HDR fusion, motion rejection, and super-resolution. Adobe Project Indigo is a public example of that kind of pipeline. It captures RAW bursts and uses measured sub-pixel variation between frames to reconstruct detail. Processed 48 MP photos and ProRAW don't cover that. They've already been through Apple's reconstruction or demosaic. Is filing enhancement requests still the intended path for a supported full-resolution Quad Bayer RAW or mosaic capture path? If so, what would make these reports more useful — mosaic metadata, DNG representation, CIRAWFilter support, AVCaptureDevice.Format capability discovery, something else? WWDC26 session: https://developer.apple.com/videos/play/wwdc2026/8018/ Project Indigo technical overview: https://research.adobe.com/articles/indigo/indigo.html
2
0
280
1d
Title: MusicKit Web v3 authorize() fails with AUTHORIZATION_ERROR after Allow — Windows Chrome/Edge (FB25267497)
Hello Apple engineers and fellow developers, I am developing CloudMusic Bridge, a Windows desktop music application integrating the official MusicKit Web v3 SDK. MusicKit initialization succeeds, but authorize() consistently rejects with AUTHORIZATION_ERROR after the user clicks Allow in Apple's official authorization window. Environment Windows, Google Chrome and Microsoft Edge MusicKit Web v3 from Apple's official CDN Local HTTPS origin: https://localhost:4318 Valid ES256 developer token with a matching origin claim MusicKit-enabled Media ID and associated Media Services key Active Apple Music subscription, with full-song playback working on music.apple.com Catalog API requests succeed (HTTP 200) Actual MusicKit SDK build: UNKNOWN Reproduction I created a standalone minimal reproduction that loads MusicKit, initializes it, obtains the instance and invokes instance.authorize() directly from a user click. The user signs in and clicks Allow, but the authorization Promise rejects. I also tested a separate page that explicitly allows https://play.itunes.apple.com in both CSP connect-src policies. This eliminated the previously observed document CSP violations during the comparison, but authorization still failed with AUTHORIZATION_ERROR after approximately 46.6 seconds. The application did not reach its 120-second timeout. Questions for Apple DTS How can I verify that my browser is loading the current supported stable MusicKit Web v3 build? Is there any additional developer configuration required for web authorization? How can I safely identify the underlying authorization exchange failure? Since this reproduces on Windows, what diagnostics should I provide instead of macOS sysdiagnose? Could an Apple engineer help investigate my existing report, FB25267497? I have already contacted Apple Developer Support and was directed to the Developer Forums for SDK-related technical assistance. I can provide a sanitized minimal reproduction and diagnostic timeline. Thank you for your help.
2
0
287
1d
Retain warning on cloudIdentifierMappings(forLocalIdentifiers: [String] )
Whenever I call this method on the PHPhotoLibrary class I get a warning which I've included below. I've tried looking in the Apple forums, Stack Overflow etc. and nobody seems to mention this issue that I can find. Is this warning unavoidable or am I using the API wrong? I can reproduce this trivially in a simple untitled project. Warning: Retain cycle risk: client-side managed object fetch on long-lived context for entity Asset, on context named: PHPhotoLibrary (inode=19657147) .Generic, consider using -[PHPhotoLibrary performAndWaitOnAutoResettingLibraryWithName:workBlock:] or +[PLDatabaseContext newShortLivedLibraryWithName:bundle:]...work, or using a dictionary result type, or suppressing this warning using 'clientSideLongLivedFetchWarningsSuppressed'). STEPS TO REPRODUCE Create a new untitled App project in Xcode. Set a photo library usage privacy description in the Info for the project target Replace ContentView.swift with the code included below. Make sure there is at least one photo in the photo library on the target device. A simulator is fine. Run the app Click the Get Cloud ID button, respond to the authorization dialog Click the Get Cloud ID button again Look in Xcode and see the warning import SwiftUI import Playgrounds import Photos struct ContentView: View { var body: some View { Button( action: getCloudID ) { Text("Get Cloud ID") } .padding() } private func getCloudID() { var fetchOptions = PHFetchOptions() fetchOptions.fetchLimit = 1 let assetResult = PHAsset.fetchAssets(with: .image, options: fetchOptions) var localIds = [String]() assetResult.enumerateObjects() { asset, _, _ in localIds.append(asset.localIdentifier) } let mappings = PHPhotoLibrary.shared().cloudIdentifierMappings(forLocalIdentifiers: localIds ) for mapping in mappings { debugPrint("cloud ID \(mapping.value)") } } } `
0
0
44
2d
AVAudioSession ioBufferDuration always default to 512 samples on MacOS27 no matter what is requested
Hello, I develop an audio processing demo app that has been working fine on iOS/iPad and on Mac ("developed for iPad") until I upgraded to MacOS27. The app is demonstrating low latency / high temporal resolution audio spectral analysis. I am using AVAudioSession, I request the audio IO buffer to be 32 samples. This still works fine on iOS/iPadOS, but it seems that when running on MacOS27 the buffer size always defaults to 512 samples no matter what I request (smaller or larger). This applies to the "Designed for iPad" version running on MacOS and any version running in the iPhone and iPad simulators on MacOS. The app seems to be working as intended on physical iPhones and iPads. I made a catalyst version and used AudioObjectSetPropertyData to force the IO bugger sizes to 32 samples on the system's active hardware device. This seems to succeed but still results in incorrect behaviour in my app; I am still diagnosing but I believe it's because this leaves AVAudioSession with incorrect data, and I am using AudioKit which relies on AVAudioSession (not confirmed). Regardless, is this change in behaviour intentional in MacOS27? Is there a way around it? The whole point of my app is to demonstrate efficient audio processing with very low latency - I need small input buffer size for that. Thank you for any help with this
1
0
266
2d
Is there a supported API to open a computer-synced album’s Library page in Music on iOS?
I’m building a personal iPhone app that organizes my music library. When I tap an album in my app, I want Apple’s Music app to open directly to that album’s page in Library, showing the tracks synced from my computer. My app can already read the albums and their tracks using MusicKit. I’ve tried normal Apple Music sharing links, but those open the catalog version of the album. I need the page I see when I find the album through Library in the Music app. Starting or changing playback is fine, but the album page must appear. Only starting the music or opening Now Playing would not be enough. Is there a supported API or link format that can do this? A documentation link or a small code example would be helpful.
1
0
159
2d
Official API for Apple Log / Apple Log 2 to SDR Rec.709 and HDR HLG Conversion?
Hello, I'm developing a video application for Apple platforms and would like to implement accurate Apple Log and Apple Log 2 color conversion using official Apple APIs. Final Cut Pro and Final Cut Camera support SDR Rec.709 and HDR Rec.2020 HLG monitoring. I have found Apple's official Apple Log white papers and Rec.709 LUTs, but I could not find an official HDR HLG LUT or a public API that provides equivalent color conversion. I have three questions: Does Apple provide a public API through AVFoundation, Core Image, ColorSync, or another framework to convert Apple Log / Apple Log 2 to SDR Rec.709 and HDR Rec.2020 HLG? Are the color transformations used by Final Cut Pro and Final Cut Camera available to third-party developers, either through public APIs or official LUT resources? If no such API exists, is implementing the transfer functions and gamut conversions from Apple's white papers, followed by standard SDR/HDR rendering, the recommended approach? My goal is to preserve the original Apple Log footage while allowing independent SDR/HDR monitoring without modifying the recorded data. Any guidance, documentation, or sample code from Apple engineers would be greatly appreciated. Thank you!
1
0
195
2d
Is MusicKit JS supported or permitted in headless Chromium on embedded Linux?
Hi, We are building a network audio device running embedded Linux (headless — no display, no user-facing browser UI). I'd like to clarify whether MusicKit JS can be used in this environment, both technically and from a licensing standpoint. Our setup Embedded Linux on ARM, no screen Headless Chromium running as a background service MusicKit JS loaded in a page to authenticate the user and play Apple Music Questions Is MusicKit JS supported in a headless browser context, or is it intended only for interactive, user-facing browser sessions? MusicKit JS requires a Developer Token with an origin claim, and a valid web origin. If the page is served locally on the device (e.g. http://127.0.0.1) with no public domain, what origin should be used? Is a local origin acceptable? Is embedding MusicKit JS inside device firmware — where the browser is never visible to the user and playback is not initiated through a normal browsing session — within the MusicKit terms of use? I want to confirm whether running MusicKit JS in headless Chromium would be considered an acceptable implementation。 For context: we are already MFi licensees with AirPlay 2 integrated. We simply want to be certain any additional work stays within the authorized scope. Any guidance — including a pointer to the relevant section of the MusicKit terms — would be much appreciated. Thanks in advance
2
0
407
2d
Audio cut-out
Installed the latest beta releases of TVos and Home pod OS. 27.2 (24k122) The problem of audio cutting out whilst video keeps playing persists. The set up is: Mac with homeshare enabled, MP4 video in TV app on Mac encoded with ffmpeg, Apple tv 4k tvos 27, tv, Two homepods 27, in stereo pair. Problem: When playing a video from the mac on the tv via the appletv on the computers app the audio cuts out whilst the video keeps playing. Pausing and playing the video restores the video only for it to cut-out again and again. Switching audio from homepods to tv speakers there is no cut-out. Other sources play fine through the apple tv, streaming appletv, iplayer etc. The homepods work fine when watching tv with homepods using a satellite box. This only started when the TvOS was upgraded to 27, 26 was fine. It's not a problem with the Macs as I use two, one an old Mac pro and a new Mac mini, the problem is on both. I don't think it's a problem with the homepods as the play music and other sources fine. I think it's the update in TvOS from 26 to 27 that introduced the bug/problem. I'm going to submit another feedback report with the above details again.
0
0
201
2d
CABTMIDICentralViewController in SwiftUI broken on iOS 27
When wrapping CABTMIDICentralViewController in a UIViewControllerRepresentable and presenting modally, I experience layout crashes since iOS 27. Does anyone have a workaround? import SwiftUI import CoreAudioKit struct BluetoothButton: View { @State var showsBluetooth = false let title = "Check for Bluetooth MIDI Devices" var body: some View { #if os(macOS) Button { let wc = CABTLEMIDIWindowController() wc.showWindow(nil) } label: { label } #else Button { showsBluetooth = true } label: { label } .sheet(isPresented: $showsBluetooth) { BluetoothCentralView() } #endif } var label: some View { Text(title) } } #if os(iOS) struct BluetoothCentralView: UIViewControllerRepresentable { func makeUIViewController(context: Context) -> CABTMIDICentralViewController { return CABTMIDICentralViewController() } func updateUIViewController(_ uiViewController: CABTMIDICentralViewController, context: Context) { } } #endif
7
0
1.4k
3d
MusicKit tvOS — Some personal library songs fail with Error Code 6, while others play successfully
Hi everyone, I’m developing a native Apple TV application using MusicKit for Swift. The app provides a custom interface for browsing and playing the user’s personal Apple Music library. The application was working correctly for several months, but recently certain songs from the user’s personal library have stopped playing. I’ve been investigating this issue extensively and have reproduced it in a completely separate, minimal tvOS test application. The issue I retrieve songs using MusicLibraryRequest() and play them using ApplicationMusicPlayer. Some songs play successfully, while others consistently fail during playback preparation with: `MPMusicPlayerControllerErrorDomain Code=6 "Prepare to play failed"` The underlying errors include : NSCocoaErrorDomain Code=4099 Example of a failing song Michael Jackson — Bad (2012 Remaster) Library song ID: i.ldDOAp0UrAa62J Successfully retrieved using MusicLibraryRequest() Fails when queued with ApplicationMusicPlayer Also fails with SystemMusicPlayer Example of a working song Harry Nilsson — Everybody’s Talkin’ (1971 Mix) Library song ID: i.WmYQp9PcdZ4Y0E Retrieved using the exact same MusicLibraryRequest() Successfully plays using ApplicationMusicPlayer Both songs have library identifiers beginning with i.. What I’ve tested ApplicationMusicPlayer with prepareToPlay() followed by play(). SystemMusicPlayer with the same library song. Direct play() without explicitly calling prepareToPlay(). Retrieving songs directly using MusicLibraryRequest(), rather than accessing them through albums. A completely separate minimal tvOS application. An older version of my application’s code, recompiled using the current Xcode version. The issue persists across these tests. Interestingly, the corresponding Apple Music catalog song plays successfully when retrieved through MusicCatalogSearchRequest. However, replacing library songs with catalog equivalents is not an acceptable solution because the application needs to support users’ actual personal libraries, including imported music. Important observation The exact same failing song plays correctly on the same Apple TV and Apple Music account in: The official Apple Music application. Sleeve, another third-party Apple TV music player. This suggests that the song itself is playable and that another third-party application can successfully initiate playback. Environment Platform: tvOS Device: Physical Apple TV Framework: MusicKit for Swift Apple Music authorization: Granted MusicKit App Service: Enabled Signing: Automatic, using a paid Apple Developer account Question Is there a known issue with resolving or playing certain personal library songs through MusicKit on tvOS? Are there additional playback parameters, library synchronization requirements, or recommended queue configurations that could explain why some MusicLibraryRequest() items fail while others work? Has anyone encountered a similar issue or found a workaround that preserves playback of the user’s actual library items? Any guidance would be greatly appreciated. Thank you!
2
0
406
3d
AVAudioSession blocks 20–36s on A2DP→HFP switch while another AudioUnit is rendering (iOS 27.0.1, AirPods Spatial Audio)
While an AVAudioPlayer/AudioUnit is rendering to AirPods over A2DP with system Spatial Audio + Head Tracking enabled, switching the shared AVAudioSession to playAndRecord + voiceChat (A2DP → HFP) blocks the main thread for tens of seconds on synchronous AVAudioSession APIs (setCategory / setMode / channel getters / setPreferred*). iOS hang detection reports a Severe Hang of 41.02 s. Stopping playback and deactivating the session before the identical switch completes in ~87 ms. Feedback: FB25324099 Environment iPhone 15 Pro (iPhone16,1), iOS 27.0.1 (24A446) AirPods worn; Spatial Audio + Head Tracking on AVFoundation-only repro (no third-party SDK): https://github.com/shinobuwz/ios27-spatial-audio-stall-repro Info.plist: LSApplicationCategoryType = public.app-category.games, LSSupportsGameMode = YES; does NOT set AVGameBypassSystemSpatialAudio (those two keys are required for system Spatial Audio on this path) Steps Wear AirPods with Spatial Audio + Head Tracking enabled Launch the repro app; allow mic (or use auto-repro) Play 440 Hz (BluetoothA2DP, spatial=1) After ~2 s, run Repro: keep playing and switch to PlayAndRecord + VoiceChat Compare with Control: stop playback + setActive:NO, then the same switch Expected: each call returns in ms; whole reconfiguration ≪ 50 ms Actual (cold launches): configuration total 20.8–28.9 s (options=13); with options=237 ≈ 36.2 s; first input buffer ~40–58 s from switch start. Control ≈ 87 ms. Evidence in the repo: docs/MEASUREMENTS-2026-10-26.md, evidence/*.log, hangs.xml, main-thread stacks in avas::client::SessionCore (sync XPC to the audio daemon). Even inputNumberOfChannels / outputNumberOfChannels getters stall for seconds. Question: Is this a known regression on iOS 27? Any workaround besides stopping all rendering AudioUnits before the HFP switch? Happy to attach sysdiagnose / Instruments / screen recording if useful.
0
0
326
3d
Can third-party apps access Apple Music concert listings?
I’m developing Segue, an iPhone and Apple Watch app for discovering concerts and keeping personal concert memories. Apple Music artist pages display upcoming concerts, including dates, venues, lineups, and ticket links. I would like users to search for an artist and view those concerts directly within Segue. Is there a supported public API or Apple framework for accessing these concert listings? I reviewed MusicKit and Apple Music API documentation but couldn’t find concert-related endpoints. Example Apple Music concert: https://music.apple.com/us/concerts/ce.91c8bd7d-0669-4c33-8c2a-6809b9f65129 If this requires separate partner access or approval, could you direct me to the appropriate team?
0
0
109
4d
iOS 27 beta: Opening Notification Center pauses AVPlayer playback
Since iOS 27 beta we are seeing a behavior change in our video streaming app and I would like to know whether others can reproduce it. Behavior on iOS 27 beta: Fully opening the Notification Center pauses playback. Audio continues for about 5 more seconds, then the app is suspended. Closing the Notification Center leaves the player paused. On iOS 26 the same build keeps playing in this situation. Setup: AVQueuePlayer playing video with audio, not muted audiovisualBackgroundPlaybackPolicy = .automatic (default) AVAudioSession category .playback, UIBackgroundModes: audio entitlement AVPictureInPictureController attached with canStartPictureInPictureAutomaticallyFromInline = true Filed as FB23893965 Questions: Can anyone reproduce this on iOS 27 beta? Is this intentional or a regression?
3
5
1.2k
4d
Camera app best practices
As a reminder, the recommended approach to monitor camera rotations, including on upcoming hardware, is to use the AVCaptureDevice.RotationCoordinator / AVCaptureDeviceRotationCoordinator API. In many common scenarios on iPhone Duo, proper use of the rotation coordinator is the only way to ensure that your camera previews and captures use the orientation expected by the user. AVCaptureVideoOrientation has been deprecated as of iOS 17.0 and iPadOS 17.0. When switching cameras in your app, make sure to create a rotation coordinator for that device. To ensure that your app has implemented the rotation coordinator API correctly, you should test different orientations and sizes of your app on an iPad with Stage Manager enabled. Additional information: Sample Code: Supporting device rotation in your camera app Tech Talk: Build a great camera experience for iPhone Duo WWDC23 session: Support external cameras in your iPadOS app
Replies
0
Boosts
0
Views
421
Activity
2w
Radiometric interpretation of Apple ProRAW and Bayer RAW access via AVFoundation
I am working on a computational photography research project involving multi-exposure HDR reconstruction using Bayer RAW and Apple ProRAW captures. I would like to clarify the radiometric interpretation of Apple ProRAW and the availability of Bayer RAW capture through AVFoundation. My questions are: On current iPhone Pro devices, is it possible for third-party apps to capture and export true Bayer-pattern RAW DNG files through AVFoundation, rather than Apple ProRAW linear DNG files? If so, which availableRawPhotoPixelFormatTypes correspond to Bayer RAW, and what device or format restrictions apply? Apple ProRAW appears to be demosaiced and computationally processed, and may include multi-frame fusion. Is the decoded ProRAW image intended to be radiometrically linear and scene-referred? For a bracketed ProRAW sequence captured with fixed ISO, white balance, lens, and focus, but different exposure times, can one assume that the decoded linear pixel values Y_i(p) satisfy an exposure-proportional model in non-saturated regions, such as Y_i(p) ≈ t_i R(p), across brackets? This question is about radiometric consistency for algorithmic use, not about visual editing or tone mapping. Thank you for your help.
Replies
2
Boosts
0
Views
1.8k
Activity
11h
Radiometric interpretation of Apple ProRAW and Bayer RAW access via AVFoundation
I am working on a computational photography research project involving multi-exposure HDR reconstruction using Bayer RAW and Apple ProRAW captures. I would like to clarify the radiometric interpretation of Apple ProRAW and the availability of Bayer RAW capture through AVFoundation. My questions are: 1.On current iPhone Pro devices, is it possible for third-party apps to capture and export true Bayer-pattern RAW DNG files through AVFoundation, rather than Apple ProRAW linear DNG files? If so, which availableRawPhotoPixelFormatTypes correspond to Bayer RAW, and what device or format restrictions apply? 2.Apple ProRAW appears to be demosaiced and computationally processed, and may include multi-frame fusion. Is the decoded ProRAW image intended to be radiometrically linear and scene-referred? 3.For a bracketed ProRAW sequence captured with fixed ISO, white balance, lens, and focus, but different exposure times, can one assume that the decoded linear pixel values Y_i(p) satisfy an exposure-proportional model in non-saturated regions, such as Y_i(p) ≈ t_i R(p), across brackets? This question is about radiometric consistency for algorithmic use, not about visual editing or tone mapping. Thank you for your help.
Replies
2
Boosts
0
Views
1.5k
Activity
11h
iPhone Duo: continuous front-camera depth for measuring face distance
Hi, I’m building an app that counts push-ups with the phone on the floor. It currently uses ARKit and TrueDepth to measure the distance between the camera and the user’s face. I want to support iPhone Duo too, but I don’t have one. I only have an iPhone 17 Pro. I watched the camera presentation and saw that depth is supported when accessing the individual cameras. I’m trying to understand what that means for my app. Can either front camera provide continuous depth through AVCaptureDepthDataOutput, or is it only available when taking photos? Does it give actual distances in metres, or relative depth estimates? The face would usually be around 20 to 80 cm from the camera. Also, is there an equivalent camera mode on my iPhone 17 Pro that I could use to test the same approach, or would I need an actual Duo? It’s okay if counting is less accurate than with TrueDepth. I mainly need to detect the user moving down and back up reliably. Thank you!
Replies
0
Boosts
0
Views
28
Activity
20h
Supported integration path for two-deck Apple Music DJ playback on iPhone, iPad and Mac Catalyst
We develop SpinCut DJ, a free-to-download proprietary DJ application by LALAMO CORPORATION for iPhone, iPad and Mac Catalyst. We want to add Apple Music subscription playback for users with an active subscription, similar to the integrations featured in DJ with Apple Music. This question is about the officially supported integration path, not extracting or bypassing protected audio. Our existing engine uses app-owned PCM for two independently controlled decks, scratch/reverse playback, tempo changes, hot cues, loops, beat synchronization and independent master/headphone outputs. We have reviewed MusicAuthorization, MusicSubscription, catalog/library requests, ApplicationMusicPlayer and SystemMusicPlayer. We understand that ordinary catalog access and protected queue playback do not establish a documented route to feed subscription audio into our custom engine, or permission to modify or synchronize MusicKit content. We have not enabled subscription-catalog DJ playback. Apple Developer Support advised us to ask the Developer Forums about the required technical integration. Could an Apple representative clarify: Is there a documented public API for two independent, simultaneous Apple Music DJ decks with scratch/reverse/tempo control? If a separate Apple Music DJ integration, agreement, SDK or capability is required, what is the current official application or referral process for a Japan-based developer? Are iOS, iPadOS and Mac Catalyst supported through the same integration, and what technical material is required for evaluation? What approved interfaces govern waveform/beat analysis, seeking and separate master/headphone routing? We are not requesting recording/export, stem separation, offline file extraction or rebroadcast permission through ordinary MusicKit. Those features would remain unavailable for subscription content unless separately and expressly supported. We can provide a product demonstration and integration brief through an appropriate private channel. Product: https://spincutdj.com/ App Store: https://apps.apple.com/app/id6804328893 Please point us to the supported technical and onboarding path rather than an undocumented entitlement or workaround.
Replies
0
Boosts
0
Views
216
Activity
21h
TTS Stuttering & Noise
TTS Stuttering & Noise When using Apple’s native TTS API on an iPhone or iPad—specifically while connected to Bluetooth earphones or headsets—users are experiencing audio noise or intermittent gaps in speech, causing parts of sentences to drop out during playback. There were no reports or inquiries regarding such issues up through iOS/iPadOS 26. Since the release of iOS/iPadOS 27, however, there has been a significant increase in reports and inquiries about this problem. If you happen to know the cause of this issue or have any suggestions for a fix, please leave a reply. The issue persists even after removing the AirPods or headset from the device and reconnecting them. The issue persists even after rebooting the device. The issue occurs even on the latest versions, from iOS/iPadOS 27 through 27.2.
Replies
0
Boosts
0
Views
30
Activity
23h
AVFoundation: full-resolution Quad Bayer RAW capture path for third-party computational photography? (FB25352517)
At the WWDC26 Camera and Photo Technologies Group Lab (session 8018, ~29:55 to 32:46), the panel explained why ProRAW can produce 48 MP output from Quad Bayer sensors while native Bayer RAW is limited to the binned resolution. ProRAW is already demosaiced and linearized, and may incorporate Photonic Engine multi-frame processing. The native RAW path exposes the binned Bayer result. A true full-resolution RAW output would be Quad Bayer, not conventional Bayer, and supporting it properly needs a decoding path around it. The panel suggested filing Feedback Assistant requests if developers need this, so I filed FB25352517. My use case is computational photography that wants minimally processed sensor-domain samples on purpose — its own multi-frame alignment, denoising, HDR fusion, motion rejection, and super-resolution. Adobe Project Indigo is a public example of that kind of pipeline. It captures RAW bursts and uses measured sub-pixel variation between frames to reconstruct detail. Processed 48 MP photos and ProRAW don't cover that. They've already been through Apple's reconstruction or demosaic. Is filing enhancement requests still the intended path for a supported full-resolution Quad Bayer RAW or mosaic capture path? If so, what would make these reports more useful — mosaic metadata, DNG representation, CIRAWFilter support, AVCaptureDevice.Format capability discovery, something else? WWDC26 session: https://developer.apple.com/videos/play/wwdc2026/8018/ Project Indigo technical overview: https://research.adobe.com/articles/indigo/indigo.html
Replies
2
Boosts
0
Views
280
Activity
1d
Title: MusicKit Web v3 authorize() fails with AUTHORIZATION_ERROR after Allow — Windows Chrome/Edge (FB25267497)
Hello Apple engineers and fellow developers, I am developing CloudMusic Bridge, a Windows desktop music application integrating the official MusicKit Web v3 SDK. MusicKit initialization succeeds, but authorize() consistently rejects with AUTHORIZATION_ERROR after the user clicks Allow in Apple's official authorization window. Environment Windows, Google Chrome and Microsoft Edge MusicKit Web v3 from Apple's official CDN Local HTTPS origin: https://localhost:4318 Valid ES256 developer token with a matching origin claim MusicKit-enabled Media ID and associated Media Services key Active Apple Music subscription, with full-song playback working on music.apple.com Catalog API requests succeed (HTTP 200) Actual MusicKit SDK build: UNKNOWN Reproduction I created a standalone minimal reproduction that loads MusicKit, initializes it, obtains the instance and invokes instance.authorize() directly from a user click. The user signs in and clicks Allow, but the authorization Promise rejects. I also tested a separate page that explicitly allows https://play.itunes.apple.com in both CSP connect-src policies. This eliminated the previously observed document CSP violations during the comparison, but authorization still failed with AUTHORIZATION_ERROR after approximately 46.6 seconds. The application did not reach its 120-second timeout. Questions for Apple DTS How can I verify that my browser is loading the current supported stable MusicKit Web v3 build? Is there any additional developer configuration required for web authorization? How can I safely identify the underlying authorization exchange failure? Since this reproduces on Windows, what diagnostics should I provide instead of macOS sysdiagnose? Could an Apple engineer help investigate my existing report, FB25267497? I have already contacted Apple Developer Support and was directed to the Developer Forums for SDK-related technical assistance. I can provide a sanitized minimal reproduction and diagnostic timeline. Thank you for your help.
Replies
2
Boosts
0
Views
287
Activity
1d
Retain warning on cloudIdentifierMappings(forLocalIdentifiers: [String] )
Whenever I call this method on the PHPhotoLibrary class I get a warning which I've included below. I've tried looking in the Apple forums, Stack Overflow etc. and nobody seems to mention this issue that I can find. Is this warning unavoidable or am I using the API wrong? I can reproduce this trivially in a simple untitled project. Warning: Retain cycle risk: client-side managed object fetch on long-lived context for entity Asset, on context named: PHPhotoLibrary (inode=19657147) .Generic, consider using -[PHPhotoLibrary performAndWaitOnAutoResettingLibraryWithName:workBlock:] or +[PLDatabaseContext newShortLivedLibraryWithName:bundle:]...work, or using a dictionary result type, or suppressing this warning using 'clientSideLongLivedFetchWarningsSuppressed'). STEPS TO REPRODUCE Create a new untitled App project in Xcode. Set a photo library usage privacy description in the Info for the project target Replace ContentView.swift with the code included below. Make sure there is at least one photo in the photo library on the target device. A simulator is fine. Run the app Click the Get Cloud ID button, respond to the authorization dialog Click the Get Cloud ID button again Look in Xcode and see the warning import SwiftUI import Playgrounds import Photos struct ContentView: View { var body: some View { Button( action: getCloudID ) { Text("Get Cloud ID") } .padding() } private func getCloudID() { var fetchOptions = PHFetchOptions() fetchOptions.fetchLimit = 1 let assetResult = PHAsset.fetchAssets(with: .image, options: fetchOptions) var localIds = [String]() assetResult.enumerateObjects() { asset, _, _ in localIds.append(asset.localIdentifier) } let mappings = PHPhotoLibrary.shared().cloudIdentifierMappings(forLocalIdentifiers: localIds ) for mapping in mappings { debugPrint("cloud ID \(mapping.value)") } } } `
Replies
0
Boosts
0
Views
44
Activity
2d
AVAudioSession ioBufferDuration always default to 512 samples on MacOS27 no matter what is requested
Hello, I develop an audio processing demo app that has been working fine on iOS/iPad and on Mac ("developed for iPad") until I upgraded to MacOS27. The app is demonstrating low latency / high temporal resolution audio spectral analysis. I am using AVAudioSession, I request the audio IO buffer to be 32 samples. This still works fine on iOS/iPadOS, but it seems that when running on MacOS27 the buffer size always defaults to 512 samples no matter what I request (smaller or larger). This applies to the "Designed for iPad" version running on MacOS and any version running in the iPhone and iPad simulators on MacOS. The app seems to be working as intended on physical iPhones and iPads. I made a catalyst version and used AudioObjectSetPropertyData to force the IO bugger sizes to 32 samples on the system's active hardware device. This seems to succeed but still results in incorrect behaviour in my app; I am still diagnosing but I believe it's because this leaves AVAudioSession with incorrect data, and I am using AudioKit which relies on AVAudioSession (not confirmed). Regardless, is this change in behaviour intentional in MacOS27? Is there a way around it? The whole point of my app is to demonstrate efficient audio processing with very low latency - I need small input buffer size for that. Thank you for any help with this
Replies
1
Boosts
0
Views
266
Activity
2d
Is there a supported API to open a computer-synced album’s Library page in Music on iOS?
I’m building a personal iPhone app that organizes my music library. When I tap an album in my app, I want Apple’s Music app to open directly to that album’s page in Library, showing the tracks synced from my computer. My app can already read the albums and their tracks using MusicKit. I’ve tried normal Apple Music sharing links, but those open the catalog version of the album. I need the page I see when I find the album through Library in the Music app. Starting or changing playback is fine, but the album page must appear. Only starting the music or opening Now Playing would not be enough. Is there a supported API or link format that can do this? A documentation link or a small code example would be helpful.
Replies
1
Boosts
0
Views
159
Activity
2d
Official API for Apple Log / Apple Log 2 to SDR Rec.709 and HDR HLG Conversion?
Hello, I'm developing a video application for Apple platforms and would like to implement accurate Apple Log and Apple Log 2 color conversion using official Apple APIs. Final Cut Pro and Final Cut Camera support SDR Rec.709 and HDR Rec.2020 HLG monitoring. I have found Apple's official Apple Log white papers and Rec.709 LUTs, but I could not find an official HDR HLG LUT or a public API that provides equivalent color conversion. I have three questions: Does Apple provide a public API through AVFoundation, Core Image, ColorSync, or another framework to convert Apple Log / Apple Log 2 to SDR Rec.709 and HDR Rec.2020 HLG? Are the color transformations used by Final Cut Pro and Final Cut Camera available to third-party developers, either through public APIs or official LUT resources? If no such API exists, is implementing the transfer functions and gamut conversions from Apple's white papers, followed by standard SDR/HDR rendering, the recommended approach? My goal is to preserve the original Apple Log footage while allowing independent SDR/HDR monitoring without modifying the recorded data. Any guidance, documentation, or sample code from Apple engineers would be greatly appreciated. Thank you!
Replies
1
Boosts
0
Views
195
Activity
2d
Is MusicKit JS supported or permitted in headless Chromium on embedded Linux?
Hi, We are building a network audio device running embedded Linux (headless — no display, no user-facing browser UI). I'd like to clarify whether MusicKit JS can be used in this environment, both technically and from a licensing standpoint. Our setup Embedded Linux on ARM, no screen Headless Chromium running as a background service MusicKit JS loaded in a page to authenticate the user and play Apple Music Questions Is MusicKit JS supported in a headless browser context, or is it intended only for interactive, user-facing browser sessions? MusicKit JS requires a Developer Token with an origin claim, and a valid web origin. If the page is served locally on the device (e.g. http://127.0.0.1) with no public domain, what origin should be used? Is a local origin acceptable? Is embedding MusicKit JS inside device firmware — where the browser is never visible to the user and playback is not initiated through a normal browsing session — within the MusicKit terms of use? I want to confirm whether running MusicKit JS in headless Chromium would be considered an acceptable implementation。 For context: we are already MFi licensees with AirPlay 2 integrated. We simply want to be certain any additional work stays within the authorized scope. Any guidance — including a pointer to the relevant section of the MusicKit terms — would be much appreciated. Thanks in advance
Replies
2
Boosts
0
Views
407
Activity
2d
Audio cut-out
Installed the latest beta releases of TVos and Home pod OS. 27.2 (24k122) The problem of audio cutting out whilst video keeps playing persists. The set up is: Mac with homeshare enabled, MP4 video in TV app on Mac encoded with ffmpeg, Apple tv 4k tvos 27, tv, Two homepods 27, in stereo pair. Problem: When playing a video from the mac on the tv via the appletv on the computers app the audio cuts out whilst the video keeps playing. Pausing and playing the video restores the video only for it to cut-out again and again. Switching audio from homepods to tv speakers there is no cut-out. Other sources play fine through the apple tv, streaming appletv, iplayer etc. The homepods work fine when watching tv with homepods using a satellite box. This only started when the TvOS was upgraded to 27, 26 was fine. It's not a problem with the Macs as I use two, one an old Mac pro and a new Mac mini, the problem is on both. I don't think it's a problem with the homepods as the play music and other sources fine. I think it's the update in TvOS from 26 to 27 that introduced the bug/problem. I'm going to submit another feedback report with the above details again.
Replies
0
Boosts
0
Views
201
Activity
2d
CABTMIDICentralViewController in SwiftUI broken on iOS 27
When wrapping CABTMIDICentralViewController in a UIViewControllerRepresentable and presenting modally, I experience layout crashes since iOS 27. Does anyone have a workaround? import SwiftUI import CoreAudioKit struct BluetoothButton: View { @State var showsBluetooth = false let title = "Check for Bluetooth MIDI Devices" var body: some View { #if os(macOS) Button { let wc = CABTLEMIDIWindowController() wc.showWindow(nil) } label: { label } #else Button { showsBluetooth = true } label: { label } .sheet(isPresented: $showsBluetooth) { BluetoothCentralView() } #endif } var label: some View { Text(title) } } #if os(iOS) struct BluetoothCentralView: UIViewControllerRepresentable { func makeUIViewController(context: Context) -> CABTMIDICentralViewController { return CABTMIDICentralViewController() } func updateUIViewController(_ uiViewController: CABTMIDICentralViewController, context: Context) { } } #endif
Replies
7
Boosts
0
Views
1.4k
Activity
3d
MusicKit tvOS — Some personal library songs fail with Error Code 6, while others play successfully
Hi everyone, I’m developing a native Apple TV application using MusicKit for Swift. The app provides a custom interface for browsing and playing the user’s personal Apple Music library. The application was working correctly for several months, but recently certain songs from the user’s personal library have stopped playing. I’ve been investigating this issue extensively and have reproduced it in a completely separate, minimal tvOS test application. The issue I retrieve songs using MusicLibraryRequest() and play them using ApplicationMusicPlayer. Some songs play successfully, while others consistently fail during playback preparation with: `MPMusicPlayerControllerErrorDomain Code=6 "Prepare to play failed"` The underlying errors include : NSCocoaErrorDomain Code=4099 Example of a failing song Michael Jackson — Bad (2012 Remaster) Library song ID: i.ldDOAp0UrAa62J Successfully retrieved using MusicLibraryRequest() Fails when queued with ApplicationMusicPlayer Also fails with SystemMusicPlayer Example of a working song Harry Nilsson — Everybody’s Talkin’ (1971 Mix) Library song ID: i.WmYQp9PcdZ4Y0E Retrieved using the exact same MusicLibraryRequest() Successfully plays using ApplicationMusicPlayer Both songs have library identifiers beginning with i.. What I’ve tested ApplicationMusicPlayer with prepareToPlay() followed by play(). SystemMusicPlayer with the same library song. Direct play() without explicitly calling prepareToPlay(). Retrieving songs directly using MusicLibraryRequest(), rather than accessing them through albums. A completely separate minimal tvOS application. An older version of my application’s code, recompiled using the current Xcode version. The issue persists across these tests. Interestingly, the corresponding Apple Music catalog song plays successfully when retrieved through MusicCatalogSearchRequest. However, replacing library songs with catalog equivalents is not an acceptable solution because the application needs to support users’ actual personal libraries, including imported music. Important observation The exact same failing song plays correctly on the same Apple TV and Apple Music account in: The official Apple Music application. Sleeve, another third-party Apple TV music player. This suggests that the song itself is playable and that another third-party application can successfully initiate playback. Environment Platform: tvOS Device: Physical Apple TV Framework: MusicKit for Swift Apple Music authorization: Granted MusicKit App Service: Enabled Signing: Automatic, using a paid Apple Developer account Question Is there a known issue with resolving or playing certain personal library songs through MusicKit on tvOS? Are there additional playback parameters, library synchronization requirements, or recommended queue configurations that could explain why some MusicLibraryRequest() items fail while others work? Has anyone encountered a similar issue or found a workaround that preserves playback of the user’s actual library items? Any guidance would be greatly appreciated. Thank you!
Replies
2
Boosts
0
Views
406
Activity
3d
AVAudioSession blocks 20–36s on A2DP→HFP switch while another AudioUnit is rendering (iOS 27.0.1, AirPods Spatial Audio)
While an AVAudioPlayer/AudioUnit is rendering to AirPods over A2DP with system Spatial Audio + Head Tracking enabled, switching the shared AVAudioSession to playAndRecord + voiceChat (A2DP → HFP) blocks the main thread for tens of seconds on synchronous AVAudioSession APIs (setCategory / setMode / channel getters / setPreferred*). iOS hang detection reports a Severe Hang of 41.02 s. Stopping playback and deactivating the session before the identical switch completes in ~87 ms. Feedback: FB25324099 Environment iPhone 15 Pro (iPhone16,1), iOS 27.0.1 (24A446) AirPods worn; Spatial Audio + Head Tracking on AVFoundation-only repro (no third-party SDK): https://github.com/shinobuwz/ios27-spatial-audio-stall-repro Info.plist: LSApplicationCategoryType = public.app-category.games, LSSupportsGameMode = YES; does NOT set AVGameBypassSystemSpatialAudio (those two keys are required for system Spatial Audio on this path) Steps Wear AirPods with Spatial Audio + Head Tracking enabled Launch the repro app; allow mic (or use auto-repro) Play 440 Hz (BluetoothA2DP, spatial=1) After ~2 s, run Repro: keep playing and switch to PlayAndRecord + VoiceChat Compare with Control: stop playback + setActive:NO, then the same switch Expected: each call returns in ms; whole reconfiguration ≪ 50 ms Actual (cold launches): configuration total 20.8–28.9 s (options=13); with options=237 ≈ 36.2 s; first input buffer ~40–58 s from switch start. Control ≈ 87 ms. Evidence in the repo: docs/MEASUREMENTS-2026-10-26.md, evidence/*.log, hangs.xml, main-thread stacks in avas::client::SessionCore (sync XPC to the audio daemon). Even inputNumberOfChannels / outputNumberOfChannels getters stall for seconds. Question: Is this a known regression on iOS 27? Any workaround besides stopping all rendering AudioUnits before the HFP switch? Happy to attach sysdiagnose / Instruments / screen recording if useful.
Replies
0
Boosts
0
Views
326
Activity
3d
Supported approach for live camera PiP during ReplayKit screen recording in a non-calling iPhone app?
For an iPhone recording utility with no calling functionality, what is the supported way to keep the front camera live in Picture in Picture while a ReplayKit broadcast records another foreground app? Is using AVPictureInPictureVideoCallViewController with the voip background mode supported for this purpose?
Replies
0
Boosts
0
Views
145
Activity
3d
Can third-party apps access Apple Music concert listings?
I’m developing Segue, an iPhone and Apple Watch app for discovering concerts and keeping personal concert memories. Apple Music artist pages display upcoming concerts, including dates, venues, lineups, and ticket links. I would like users to search for an artist and view those concerts directly within Segue. Is there a supported public API or Apple framework for accessing these concert listings? I reviewed MusicKit and Apple Music API documentation but couldn’t find concert-related endpoints. Example Apple Music concert: https://music.apple.com/us/concerts/ce.91c8bd7d-0669-4c33-8c2a-6809b9f65129 If this requires separate partner access or approval, could you direct me to the appropriate team?
Replies
0
Boosts
0
Views
109
Activity
4d
iOS 27 beta: Opening Notification Center pauses AVPlayer playback
Since iOS 27 beta we are seeing a behavior change in our video streaming app and I would like to know whether others can reproduce it. Behavior on iOS 27 beta: Fully opening the Notification Center pauses playback. Audio continues for about 5 more seconds, then the app is suspended. Closing the Notification Center leaves the player paused. On iOS 26 the same build keeps playing in this situation. Setup: AVQueuePlayer playing video with audio, not muted audiovisualBackgroundPlaybackPolicy = .automatic (default) AVAudioSession category .playback, UIBackgroundModes: audio entitlement AVPictureInPictureController attached with canStartPictureInPictureAutomaticallyFromInline = true Filed as FB23893965 Questions: Can anyone reproduce this on iOS 27 beta? Is this intentional or a regression?
Replies
3
Boosts
5
Views
1.2k
Activity
4d