We recently adopted our app to Liquid Glass and received a complaint from a visually impaired user that VoiceOver does not read out the number of unread items in the tab bar anymore. We checked and it seems that before iOS 26/Liquid Glass, setting a tab bar item's badgeValue property also set an appropriate text to its accessibilityValue property (something like "3 items"). But with Liquid Glass tab bars, this does not seem to be the case anymore.
We fixed this by providing our own accessibility value, but we're wondering whether this change was a deliberate choice or simply a bug? If this new behavior is considered a bug, I would post a bug report.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Created
If I see it correctly, it is currently not possible to validate a drop operation on a DynamicViewContent when using dropDestination?
Just a simple example: Let's say I build a folder view on macOS where I can arrange folders freely. In this case I need to use DynamicViewContent.dropDestination to get an insertion index on drop. However, it seems that methods like dropConfiguration do not have any effect. Als dropDestionation(…, isTargeted:) seems not to be available.
Here is my sample code:
struct FolderRow: View {
let folder: Folder
var body: some View {
DisclosureGroup(isExpanded: .constant(true)) {
ForEach(folder.children) { child in
FolderRow(folder: child)
}
.dropDestination(for: Folder.self) { item, idx in
print("Dropped at \(idx)")
}
} label: {
Label(folder.name, systemImage: "folder")
.draggable(folder)
.dropDestination(for: Folder.self) { items, _ in
print("Dropped on Item")
}
}
.dropConfiguration { session in
DropConfiguration(operation: .move)
}
}
}
struct ContentView: View {
@State private var folder: Folder = Folder.sampleData
@State private var selection: Set<UUID> = []
var body: some View {
NavigationSplitView {
List(selection: $selection) {
FolderRow(folder: folder)
}
} detail: {
EmptyView()
}
}
}
The dropConfiguration is applied on the Label (in this case the "Move" cursor is used instead of the "Copy" cursor).
Is there any way to do that or is it just an omission in Swift UI?
I am using Network framework for connecting two iPad devices that are connected through LAN and has Wifi enabled. I have enabled peerToPeerIncluded. I would like to understand how the framework chooses the interface types for browsing and discovering devices. When I start a browser with browser.run or listener.run, does the browser and advertiser browse and listen on all available interface types? My concern is that if it does in only one interface, Is there a chance that the browser is browsing in one interface(Lets say WiredEthernet) and the listener is listening on another interface(Lets say AWDL) and they dont discover?
My project uses about 10 local packages. When Xcode determins its dependencies graph it includes project Foo (a package) and project Foo_Foo (???). This is a no op for normal builds, but causes the Foo package to be linked twice for test builds which then fail due to duplicate symbols.
Nowhere in my repository is Foo_Foo defined or reference. Nowhere in the .xcodeproj/ folder is there mention of Foo_Foo.
What am I doing wrong?
Hello.
Despite making my membership payment (and accidentally twice!), my membership is still not activated even after 62 hours.
I contacted their support system but received no response.
Does anyone have any suggestions?
Hello!
My name is Mason Prather. I'm a graduate student at Kennesaw State University and a Research Engineer working in XR environments through my Graduate Research Assistant role. I’m currently building a research prototype that connects a mobile companion application to a VR headset.
The mobile application is built in Unity and deployed on iOS, and it streams video frames to a remote Unity client using WebRTC.
Environment
Device: iPhone 15
OS: iOS 26.3 (tested on physical device, not Simulator)
Engine: Unity 2022.3.57f1
Graphics API: Metal
Streaming Technology: WebRTC (Unity WebRTC package)
Architecture: Mobile Unity app streaming video frames to a remote Unity client
Receiver Device: Meta Quest Pro headset (Unity application)
Networking: LAN (UDP discovery + TCP signaling)
Video Source: Unity RenderTexture
Goal
The goal of the system is to allow a VR user to view media stored on their phone inside a VR environment.
The iOS app:
renders or captures media content
converts frames into a WebRTC video track
streams the video to the headset
Current Status
Connection setup works correctly.
Observed behavior:
Signaling connection successful
ICE candidate exchange successful
PeerConnection state becomes Connected
Video track created successfully
However, the receiving application displays black frames.
iOS App Details
The video source originates from a Unity RenderTexture.
Inside the phone application:
RenderTexture displays correctly
Frames appear correct locally
But the receiving peer does not display the frames.
Relevant Components
Unity WebRTC package
iOS Metal rendering pipeline
Custom TCP signaling
LAN discovery via UDP
Expected Behavior
Rendered frames should transmit via WebRTC and appear on the remote device.
Actual Behavior
The remote video track is active, but the rendered frames appear black on the receiving client.
Questions
Are there known issues involving Unity WebRTC + iOS Metal texture capture?
Are there specific pixel format requirements when streaming textures from Unity on iOS?
Could the issue relate to texture readback limitations or GPU synchronization?
I am more than happy to provide screenshots and console logs upon request.
If anyone has experience streaming Unity video frames via WebRTC on iOS, I would greatly appreciate any guidance.
Topic:
Media Technologies
SubTopic:
Streaming
We are observing unexpected behavior in Apple Wallet for transactions processed via an online delivery platform. Here is the specific flow:
Initial Authorization: The original order was placed for $22.30.
Order Amendment: The user added an item 10 minutes later for $6.20, bringing the total to $28.50.
The Issue:
Apple Wallet only displays the $6.20 transaction. The initial $22.30 amount is not visible in the transaction list.
Technical Verification:
We confirmed that both backend authorization messages for the original amount and the add-on were approved.
We verified that the final settlement amounts correctly reflect the sum of both charges ($28.50).
We have confirmed the transaction lifecycle completed successfully on our end.
Despite this, the customer only sees the $6.20 entry in their Wallet history, which creates confusion as it doesn't reflect the total spent.
Has anyone encountered this sync issue between settlement totals and Wallet display, or is there a specific way we should be linking these related authorizations? Thanks!
I have had apps in review for weeks. 1 over a month and no response. I have contacted Support multiple times and no response at all. This is a far cry from the 24-48 hrs that is advertised. Not impressed at all.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Hello everyone,
I'm building Mixify (https://mixify.fr), a French SaaS platform for professional DJs and commercial venues (bars, lounges, event spaces). I'm looking for guidance on whether my use case is compliant with MusicKit JS policies.
How it works:
The Host (a venue owner or DJ) logs into the Mixify dashboard using their own Apple Music subscription.
The Guests scan a QR code to access a web interface where they can browse the Apple Music catalog and suggest songs.
The Host reviews suggestions, accepts or rejects them, and accepted songs are added to the playback queue.
Playback is handled entirely by MusicKit JS in the host's authenticated browser session, connected to the venue's speakers.
Key points:
Mixify is a paid SaaS (starting at €49/month) — we charge for event management tools (dashboard, analytics, guest interaction), not for access to music content.
Only the authenticated Apple Music subscriber hears/controls playback. Guests only browse and suggest — they never access playback.
No content is downloaded, cached, or redistributed. We use the official MusicKit JS player exclusively.
Venues are responsible for their own public performance licenses (SACEM in France).
My questions:
Does this B2B workflow — where a SaaS manages song request logistics but relies on MusicKit JS solely for playback by an authenticated subscriber — comply with the MusicKit guidelines?
Are there any specific restrictions on using MusicKit JS in a commercial/venue environment that I should be aware of?
Is there a recommended way to contact Apple Developer Relations directly for a formal compliance review of this use case?
I've already submitted an inquiry via the Apple Developer contact form and email, but I'd appreciate any community insight or experience with similar integrations.
Thank you!
My app is waiting for review since February 20th and is the third time that I trying to get It distributed, is this normal?
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
I submitted a software update for one iOS app several days ago. It was approved two days ago. I received a message about distribution that said
The status of your app has changed to Ready for Distribution
I happened at the iTunes Connect website at that very moment in order to submit a totally new iOS app to the App Store. Its status said 'Removed from App Store.' I thought it was a rare mistake. Unfortunately, it's not. The one that I was submitting was approved some 15 minutes ago. I received the 'Ready for Distribution' message by email. Yet, it's been removed from the store as you see in the screenshot below.
As you see in the 2nd screenshot below, it says that it's Ready for Distribution. But it's not? So is this a new norm? And we have to go back the iTunes Connect website to change the app status every time we submit a software title and then get it approved?
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Store
App Review
App Store Connect
Hey guys I been trying to complete the compliance reqs to distribute my apps in the EU, but after I insert my information it's just loading indefinitely, I have tried with safari, chrome, incognito. nothing seems to help. anyone had this problem before?
Thanks have a great day! :)
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
I am submitting my first macOS app for notarization and all submissions have been stuck at "In Progress" for over 24-36 hours. The notarytool log command returns "Submission log is not yet available" for all of them.
App details:
macOS menu bar app (Apple Silicon only, arm64)
Signed with Developer ID Application certificate
Hardened Runtime enabled
Secure timestamp included
No get-task-allow entitlement
Team ID: 3426FSU868
Submission history:
bd5a8bf3-809f-42d5-9ab3-1cb665e4dfa6 (Mar 3, 13:02 UTC) - Status: Invalid
This was expected. It was a Debug build with get-task-allow and missing secure timestamp.
c3e54eef-650e-41ba-ac8f-8948147cc7e1 (Mar 3, 13:06 UTC) - Status: In Progress (36+ hours)
b6c4515a-93dd-417c-8956-158a73f62dee (Mar 3, 14:06 UTC) - Status: In Progress (35+ hours)
478b7e57-3492-46eb-98fb-04b52bff1f17 (Mar 4, 01:08 UTC) - Status: In Progress (24+ hours)
Submissions 2-4 were all built with Release configuration, signed with Developer ID Application certificate, hardened runtime, and secure timestamp. The codesign output confirms correct signing:
Authority=Developer ID Application: Waseem Khan (3426FSU868)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
I understand first-time submissions may go through in-depth analysis but it has been well over 24 hours for all three. Is there anything wrong with my submissions or is this expected? Any help would be appreciated.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Users report being able to log-in on the website and everywhere else, using google sign-in credentials, just not working on the app.
Topic:
Community
SubTopic:
Apple Developers
We’re evaluating a Bluetooth device that supports Hands Free Profile (HFP) as the “Hands-Free Unit”. You can think of this as a Bluetooth telephone headset. This device interacts with our iOS application.
We observed the following. The iPhone 17 HFP Wide-Band Speech (WBS) mSBC decoder requires the WBS packet (H2 header + mSBC frame) to be sent aligned. Aligned meaning, the H2 header must be first in every packet. The WBS packet cannot span multiple eSCO packets or else the iPhone will discard the audio. This is a different implementation than the iPad (iPad Pro 11-inch M4) , presumably due to Apple’s new N1 chip. In other words, we’ve identified that older iPhones and iPads do not require this alignment. They have implemented a stateful parser/decoder of the HFP WBS audio.
A quick picture to help illustrate. The iPhone 17 requires:
| Frame | Frame | Frame | Frame |
However, a Bluetooth implementation we are evaluating does:
| me Fra | me Fra | me Fra | me Fra |
Does Apple intend to keep this implementation and continue discarding audio frames that are not aligned?
Page 115 of the Bluetooth HFP 1.8 specification mentions at the bottom that this behavior is “left up to the implementation” but that the “synchronization header enables unaligned codec audio frames to be recovered by the receiving side.” We understand and acknowledge that one whole frame per eSCO packet is the intended, optimal method for delivering WBS mSBC audio for reduced jitter, latency, and memory usage. However, the more robust solution would be to maintain a stateful receiver as previously implemented.
Any input would be appreciated.
It doesn't show any files, only warning or errors for me. Same behavior with @
I dutifully upgraded my software (beta) on Feb. 24 when prompted. I could not get the computer to reboot, then after about 5 hours on the phone with, I think, 4 techs, they told me the only solution was to wait for the next update - I could not go backwards to the regular version.
So $1,299 later I have a new Mac Mini M4! I have to work, so it was the only solution. What do I win?
Hello
We have a pkg installer whose signing certificate is expiring next month. It has a trusted timestamp on it.
As per https://developer.apple.com/support/certificates/ it states
Developer ID Installer Certificate (Mac applications)
If your certificate expires, users can still install packages that were signed with this certificate as long as the package includes a trusted timestamp. Previously installed apps will continue to run. However, new installations won’t be possible until you have re-signed your installer package with a valid Developer ID Installer certificate. If your certificate is revoked, users will no longer be able to install applications that have been signed with this certificate.
Wanted to check on behavior for new installations post expiration date. Since the installer has a trusted timestamp we would not need to release a new installer with new cert ??
Any guidance here would be much appreciated.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Code Signing
Hi all,
Like others my app submission has been stuck in “waiting for review” for weeks. I know initial app reviews take longer than updates, but this has been delayed far too long and makes me concerned about repeating the process in the future.
I submitted this app for review back on Feb 10. It was initially rejected for a minor issue, which I resolved and resubmitted the same day. After that, the build remained in “Waiting for Review” for about two weeks with no further communication.
At that point I canceled the submission and resubmitted the build, thinking it may have been stuck in the queue (I now know not to do this next time). Unfortunately the new submission has also been waiting for review for another 9 days now with no messages or updates. I’ve contacted app review support as well (case ID- 102826632729).
I understand review times can vary, but delays like this make it difficult for developers to plan launches or push updates when the review process is the only path to distributing apps. As paying members of the Apple Developer Program, we rely heavily on this pipeline functioning reliably.
Hoping this post will reach someone from Apple who can help move the process along. If any other devs have suggestions/tips that have worked for them, please share so others in this position can become unblocked. Thanks in advance.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags:
App Store
App Review
App Store Connect
App Submission
Does a payment that is processed within the app, that generates a QR-Code for the redeeming of a real-life-good (such as tickets, vouchers for drinks, etc.), fall under IN-APP-PAYMENT regulation, which would get a fee of 15-30% on top or can that payment be processed with an external mechanism such as Stripe?
Topic:
Business & Education
SubTopic:
General