Overview

Post

Replies

Boosts

Views

Activity

iPhone duo toolbar items misplaced for inspector view
I am displaying the same view via a push onto the secondary view of a modern uisplitviewcontroller and alternatively as a uisplitviewcontroller inspector pane. When pushed (initially compact size class, then opened to regular), toolbar items are moved to the side as expected: however when presented in an inspector pane the toolbar items are not moved to the side: The toolbaritems contain one less image in the later case. iOS 27.1 simulator
Topic: UI Frameworks SubTopic: UIKit
1
0
211
13h
AVPlayer reports unexpected ~26-hour timeline
Hello, We are seeing an issue where AVPlayer sometimes reports time values close to 95,443 seconds (~26.5 hours), even though the actual content duration is much shorter. For example, in normal cases we see: currentTime: ~355 seconds duration: 6958 seconds seekableTimeRange: 0...6958 seconds However, in some cases AVPlayer reports values around: currentTime: ~95443 seconds duration: ~95449 seconds We checked the underlying MPEG-TS segments with ffprobe. The video and audio PTS values are around 6426 seconds and are consistent with the HLS EXTINF durations, so we do not see a 95,443-second timestamp directly in the media segments. Could you please help us understand: 1- Why can AVPlayer expose values close to 95,443 seconds? 2- Could this be related to MPEG-TS PTS wrap-around or AVFoundation timeline mapping? 3- How does AVPlayer calculate currentTime and AVPlayerItem.duration for HLS MPEG-TS content? Interestingly, Audio Only / Now Playing mode shows the expected timeline, while video playback can expose the incorrect values. Thank you.
0
0
137
13h
Validate App & Upload both hang indefinitely at "Preparing"
I have been trying for 24 hours to upload app, and first time this has happened in 8 years and 100+ uploads. Please help. Validate App and Upload both hang indefinitely at "Preparing" in Xcode Organizer. No error is ever returned — the progress bar freezes and the operation never completes or times out. Transporter 1.4.5 fails identically. Key detail: archive 2.4.3 (build 123), which Apple accepted and processed on Sept 10, 2026, now hangs the same way when validated. Same machine, same Xcode, same Apple ID. This rules out the archive, its signature, and its provisioning profile. Already ruled out: two independent networks (home Wi-Fi and iPhone cellular hotspot); the archive itself (known-good build 123 fails identically); Xcode install (27.0 / 27A266a, xcode-select verified correct); Apple ID session (signed out and back in three times); full reboot. macOS 27.0 (26A428) on MacBookPro18,4. Last successful upload Sept 10, 2026. 100+ prior archives uploaded without incident over several years. macOS has updated twice since Sept 10. Separately: Transporter 1.4.5 crashes on macOS 27.0 with an unhandled exception in TransporterKit while drawing its activity queue (EXC_BREAKPOINT via +[NSApplication _crashOnException:]).
4
0
1.2k
15h
App Review Stuck in “In Review” for 5 Days – No Review Decision
Hi everyone, I submitted my app for App Review on August 14, 2026, at 2:39 PM. I later submitted an updated version again on September 9, 2026. The latest submission has been showing “In Review” for the past 5 days, but I still haven’t received any review decision or additional information from the App Review team. As I understand it, once an app enters the “In Review” status, a review decision is generally provided after the review is completed. However, in my case, the status has remained unchanged for several days. Has anyone experienced a similar situation recently? Is it normal for an app to remain in “In Review” for this long, or is there anything I should do from my side? Any advice or guidance would be appreciated. Thank you!
3
1
511
15h
Unable to enroll in the Apple Developer Program through the app or website
Title: Unable to enroll in the Apple Developer Program through the app or website Hi, I’m trying to enroll in the Apple Developer Program with my Apple Account, but I’m blocked on both the app and the website. I signed in to the Apple Developer app and completed the account profile questions. In the Account tab, “Enroll Now” is greyed out. Below it, I see: “Enrollment through the Apple Developer app is not available for this Apple Account. Visit https://developer.apple.com/programs/enroll/.” When I open the enrollment page in Safari and try to continue, I get: “We are unable to process your request. An unknown error occurred.” My Apple Account is set to Canada. Could that be related, or is there something else I need to check on my account? Has anyone encountered these two errors together and found a way to resolve them?
2
0
132
18h
Apple Watch pairs successfully in Device Hub (watchOS 27) but never reconnects afterward
Xcode 27.0, watchOS 27.2, macOS 27.2. Re-pairing an Apple Watch Ultra 2 via Device Hub (File ▸ Pair Nearby Device…) completes successfully — remotepairingd logs setupManualPairing succeeded — but the watch never reconnects afterward: no verifyManualPairing, no _remotepairing._tcp Bonjour advertisement, and CoreDevice never creates a device record for it. devicectl shows the watch as unavailable, then it disappears from the list entirely. Compare: pairing an iPhone the same way also closes the setup channel within ~40 ms, but the iPhone reconnects ~1.3 s later via verifyManualPairing and becomes available. The watch never does. Interesting finding: if the Mac's pairing listener is kept open past the point where Device Hub's sheet would normally close it, the watch does come back — but it requests a brand-new pair-setup instead of verifying the one it just completed. It loops: setup → close → setup. Already tried without success: restarting the watch/iPhone, Developer Mode off/on, Bluetooth on/off, Wi-Fi toggles, iPhone on USB, restarting CoreDeviceService and remotepairingd, Reset Location & Privacy on the iPhone, updating watchOS (27.0 → 27.2, same behavior). Full write-up with sanitized logs, timeline and everything tried: https://github.com/kisnner26/watchos27-pairing-bug Filed as Feedback Assistant FB24924229. If anyone else hits this exact symptom (pairing succeeds, watch never reconnects — different from the PIN never appearing, or the watch never showing up at all, which are other variants reported elsewhere), please share your report ID here so Apple can link them.
0
0
48
19h
AsyncRenderer causes crashes in ForEach when in Swift 6 language mode
Hi! We've recently done a big migration to Swift 6 language mode in our app and are now getting reports of crashes occurring due to closures in our SwiftUI code (most often the view builder in ForEach) not running on the main queue but instead running on the queue com.apple.SwiftUI.AsyncRenderer. One example of a call stack (ScheduleListView is our view that is in Swift 6 mode): Thread 16 #0 (null) in _dispatch_assert_queue_fail () #1 (null) in dispatch_assert_queue$V2.cold.1 () #2 (null) in dispatch_assert_queue () #3 (null) in swift_task_isCurrentExecutorWithFlagsImpl(swift::SerialExecutorRef, swift::swift_task_is_current_executor_flag) () #4 (null) in closure #2 in closure #1 in closure #1 in ScheduleListView.body.getter () #5 (null) in closure #1 in ForEachState.item(at:offset:) () #6 (null) in partial apply for closure #1 in ForEachState.item(at:offset:) () #8 (null) in partial apply for closure #1 in _withObservation<A>(do:) () .... (We have many other crashes with similar crash reports but in other views) Has anybody else run into something similar? Is there anything (other than simply reverting to Swift 5 mode again) that we can do to fix or at least reduce the amount of crashes? We're having a hard time finding anything out of the ordinary that we're doing in our views. Regards
Topic: UI Frameworks SubTopic: SwiftUI
7
6
1.1k
20h
Using MusicKit to display a user’s currently playing Apple Music track
Hello, I’m evaluating a possible MusicKit integration and would like to clarify whether the following use is permitted. With the user’s explicit and revocable consent, our iOS app would read the song currently playing in Apple Music while our app is active and display the song title and artist to other users of our application. Our app would not play, stream, host, download or redistribute Apple Music audio. Music playback would remain entirely within Apple Music. When our app is closed, it would stop accessing Apple Music. The last synchronized song may remain displayed until the user opens our app again, at which point the currently playing song would be refreshed. If a displayed song is tapped, the user would be redirected to Apple Music. We are happy to follow Apple’s required formatting, attribution and linking rules. Album artwork is not required and can be omitted if necessary. The Apple Music functionality itself would remain free. Any monetization would relate only to separate features of the application. Could someone clarify: Is this use permitted under the MusicKit / Apple Music requirements? May the current song title and artist be displayed to other users in this way? Which official Apple framework/API is recommended for detecting the song currently playing in Apple Music while our app is active? Are there specific attribution or linking requirements for this use? Thank you.
1
0
588
20h
Table focus bug in macOS 27
When I click on a table row, the focus cannot be changed from a TextField to the table. This is a bug in macOS 27 because the focus can be changed from a TextField to the table in macOS 26. Temp workaround: Click a different window, such as Finder or Safari Click the table in my app. The focus can be changed from a different app to the table in my app. Note: Table with focus: the table row is highlighted in blue. Table without focus: the table row is highlighted in grey.
Topic: UI Frameworks SubTopic: SwiftUI
2
1
550
20h
Does a "prayer offering" gift to an individual pastor count as a donation under 3.2.2?
We are building a faith app where a member can send an optional financial gift, called an offering, directly to their own pastor's ministry. This is not a registered charity and the pastor is not an approved nonprofit. Does this fall under Guideline 3.2.2 (charitable donations and fundraisers), meaning the amount must be chosen outside the app with nothing pre-selected in-app? Or is it closer to a real-world personal payment, since it goes to a specific individual rather than a cause? We want to design the flow correctly before building it.
0
0
67
21h
iPad (9th gen) headphone output ~2.5 to 4.5 dB quieter on iPadOS 27 (FB24980117)
Since iPadOS 27, the 3.5 mm headphone output on iPad (9th generation) is 2.4 to 4.5 dB quieter than on iPadOS 26, depending on frequency, with the same content, system volume and headphones. It's still present in iPadOS 27.2 beta 2 (24B5089g). It isn't app-specific. It reproduces in Safari: Connect wired headphones to the 3.5 mm jack and set system volume to 100%. Open https://www.szynalski.com/tone-generator/, set 3000 Hz, set the generator volume to 50%, and play. Measure with a sound level meter. At 3 kHz we see 2.5 to 2.9 dB less on iPadOS 27 than on iPadOS 26, across three different headphone models. Audio settings are identical between the two OS versions and Bluetooth is off. The only session-level difference we found is AVAudioSession.outputLatency, which went from 97 to 65 frames. Filed as FB24980117.
0
0
236
21h
Public API for per-app Visited Places and Preferred Routes/Predicted Destinations sharing?
Apple's Location Services & Privacy notice (https://www.apple.com/legal/privacy/data/en/location-services/) describes per-app sharing of Visited Places and Preferred Routes/Predicted Destinations where available. We are investigating a transit companion with a watchOS app and an optional iPhone companion. We have checked public developer documentation and installed SDK interfaces but have not identified the API that delivers these shared records. Which public SDK interface, entitlement or enrollment process implements this capability for third-party apps? A documentation or sample link, with supported platforms and eligibility requirements, would let us build a minimal probe. We are asking about delivery of the shared records, rather than monitoring new visits with Core Location or supplying relevance hints to the system.
0
0
37
21h
SwiftUI `OutlineGroup` Should Support Native Reordering with `reorderable` / `reorderContainer`
Description I would like to request native reordering support for SwiftUI hierarchical views, especially OutlineGroup and List(_:children:). In iOS 27, SwiftUI introduces the new reordering APIs: .reorderable() .reorderable(collectionID:) .reorderContainer(for:move:) .reorderContainer(for:in:move:) These APIs work well for flat collections and explicit sectioned collections, but they do not appear to integrate with OutlineGroup, even though OutlineGroup is the natural SwiftUI API for tree-structured data. Currently, OutlineGroup hides the internal recursive ForEach / DisclosureGroup structure, so there is no obvious place to apply reorderable(collectionID:) at each hierarchy level. Current Working Pattern for Sections This works when each parent is represented manually as a section: struct SectionModel: Identifiable { let id: UUID var title: String var items: [Item] } struct Item: Identifiable { let id: UUID var title: String } struct ContentView: View { @State private var sections: [SectionModel] = sampleSections var body: some View { List { ForEach(sections) { section in Section(section.title) { ForEach(section.items) { item in Text(item.title) } .reorderable(collectionID: section.id) } } } .reorderContainer(for: Item.self, in: SectionModel.ID.self) { difference in apply(difference) } } private func apply(_ difference: ReorderDifference<Item.ID, SectionModel.ID>) { // Move item between explicit sections. } } But this does not scale naturally to arbitrary tree data. Desired API Ideally, this should work with OutlineGroup: struct Node: Identifiable { let id: UUID var title: String var children: [Node]? } struct ContentView: View { @State private var nodes: [Node] = sampleTree var body: some View { List { OutlineGroup(nodes, children: \.children) { node in Text(node.title) } .reorderable() } .reorderContainer(for: Node.self) { difference in apply(difference) } } private func apply(_ difference: ReorderDifference<Node.ID, ???>) { // Move node within the tree. } } For hierarchical data, SwiftUI would need to expose the parent or collection identity of the source and destination. For example, something like: .reorderableTree( children: \.children, allowsMoveIntoChildren: true ) Or an overload such as: OutlineGroup(nodes, children: \.children) { node in Text(node.title) } .reorderable(collectionID: \.parentID) With a ReorderDifference that includes: sourceParentID destinationParentID destinationPosition movedItemIDs Why This Matters Many apps represent user-created hierarchical data: folders bookmark collections nested lists project outlines document trees sidebar hierarchies OutlineGroup is the natural SwiftUI abstraction for displaying this data, but reordering currently requires either: 1abandoning OutlineGroup and rebuilding a recursive outline manually; 2flattening the hierarchy into sections, losing the real outline interaction; 3using older manual drag/drop APIs; 4falling back to UIKit/AppKit. None of these approaches feels aligned with SwiftUI's declarative model. Specific Request Please consider adding native reorder support to OutlineGroup and List(_:children:), including support for: moving items within the same parent; moving items between parents; optionally moving an item into another item as a child; preventing invalid moves, such as moving a parent into one of its descendants; exposing source and destination parent identifiers in the move callback; preserving SwiftUI's built-in disclosure UI. Minimal Example of the Current Limitation This is the kind of code I would expect to be possible: List { OutlineGroup(nodes, children: \.children) { node in Text(node.title) } .reorderable() } .reorderContainer(for: Node.self, in: Node.ID.self) { difference in moveNode(using: difference) } But because OutlineGroup creates its recursive rows internally, there is no clear way to attach reorderable(collectionID:) to each parent's child collection. Expected Outcome SwiftUI should provide a first-class way to reorder hierarchical data displayed with OutlineGroup, similar to how flat and sectioned collections can now use reorderable and reorderContainer.
Topic: UI Frameworks SubTopic: SwiftUI
2
2
146
22h
Chat with Open Knowledge Format Memories: ChatOKF
Early Access via TestFlight: https://testflight.apple.com/join/Qsvxk5Mh What is it: https://leok7v.github.io/ChatOKF/ Open Source: https://github.com/leok7v/ChatOKF A capable AI assistant that lives on your iPhone and iPad. The model runs on your device's own chip, so nothing you type is uploaded and nothing is logged. Once a model is downloaded, ChatOKF works in airplane mode. No account. No sign-in. No subscription. No ads, no analytics, no telemetry. WHAT YOU CAN DO Ask anything: check the math on a loan, plan a week of dinners, untangle a confusing letter. Show it a picture: a photo of a menu, a street sign or a whiteboard, straight from your library. Some models also listen to audio and watch video, frame by frame. Hand it a document: a PDF, a Word file or a spreadsheet. It reads the tables inside and answers from the file, and one tap opens the page to check it. Watch it think: the stronger models reason before they answer. Read the reasoning, tap Quick Answer to cut it short, or switch thinking off for speed. Let it look things up: Wikipedia, today's headlines, the weather and web search are tools it can use, each behind its own switch. Keep going: it suggests a sensible next question; swipe right to ask it. Keep what it gives you: answers are typeset, tables and mathematics included. Search and rename your chats, share one as a PDF, and bring a deleted chat back within thirty days. Talk instead of typing: tap the microphone and speak, and have replies read aloud in one of eight voices made on your device. MEMORY YOU CAN READ Tell it to remember something and it writes a short note, and the chat says what it wrote. Later questions are checked against your notes first, whichever model is answering. Every note is listed under Memories, to read or to delete. One switch, Total Recall, turns it all off. WHERE YOUR WORDS GO Nowhere, unless it looks something up. With Wikipedia on, your question is matched to an article on your device and only that article is downloaded. With web access on, the model's search terms go to a search engine and the pages it chooses are fetched. Settings, Privacy says exactly what leaves your device for each one. PICK YOUR MODEL Several open models are offered, and the list shows only what your device can hold, so every one you see will run. Gemma 4 E2B and E4B: they see pictures, hear sound and watch video. Qwen3.5 2B and 4B: good with tools and longer answers. Ternary Bonsai 1.7B: small and fast, for devices with less memory. GOOD TO KNOW The first launch downloads a model, from about half a gigabyte to a few gigabytes. Use Wi-Fi; after that, no network is needed. Devices with more memory are offered stronger models, and newer chips answer faster. Answers are generated and can be wrong. Check anything that matters. ChatOKF is written in Swift on Metal, and its source is on GitHub. Models are provided by their authors under their own licenses, including the Gemma Terms of Use.
0
0
229
22h
Keyboard extensions and reserved regions
I have a keyboard extension in my app and I'm seeing some inconsistent behavior with the system-provided Globe and Dictation buttons. For the system keyboards, these buttons are displayed to the side of the keyboard, insetting the bottom row of keys on the folded screen and insetting the entire keyboard on the unfolded screen. What is the expected behavior for custom keyboards on the folded screen? My test results: When the Duo simulator is folded, sometimes the Globe and Dictation buttons appear next to my keyboard and the entire custom keyboard is squeezed to be really narrow. Other times my UI gets the full width and the Globe and Dictate keys are on TOP of my UI. The latter seems preferable, assuming I can then use the reserved regions API to avoid the overlap. Is that the intent? PS: The reserved regions API doesn't seem to work in keyboard extensions in this beta, neither in SwiftUI or UIKit. Hopefully that's fixed in the next beta.
Topic: UI Frameworks SubTopic: UIKit
1
1
66
22h
issue with Xcode 27 RC uploading to App Store Connect
Is anyone else having issues uploading an archive to App Store Connect? I went to validate an archive of my app, and seems to hang during validation. I've tried just validating the app, and tried Transporter as well. It hangs on the analyzing app. How to troubleshoot?
Replies
8
Boosts
3
Views
758
Activity
13h
iPhone duo toolbar items misplaced for inspector view
I am displaying the same view via a push onto the secondary view of a modern uisplitviewcontroller and alternatively as a uisplitviewcontroller inspector pane. When pushed (initially compact size class, then opened to regular), toolbar items are moved to the side as expected: however when presented in an inspector pane the toolbar items are not moved to the side: The toolbaritems contain one less image in the later case. iOS 27.1 simulator
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
0
Views
211
Activity
13h
AVPlayer reports unexpected ~26-hour timeline
Hello, We are seeing an issue where AVPlayer sometimes reports time values close to 95,443 seconds (~26.5 hours), even though the actual content duration is much shorter. For example, in normal cases we see: currentTime: ~355 seconds duration: 6958 seconds seekableTimeRange: 0...6958 seconds However, in some cases AVPlayer reports values around: currentTime: ~95443 seconds duration: ~95449 seconds We checked the underlying MPEG-TS segments with ffprobe. The video and audio PTS values are around 6426 seconds and are consistent with the HLS EXTINF durations, so we do not see a 95,443-second timestamp directly in the media segments. Could you please help us understand: 1- Why can AVPlayer expose values close to 95,443 seconds? 2- Could this be related to MPEG-TS PTS wrap-around or AVFoundation timeline mapping? 3- How does AVPlayer calculate currentTime and AVPlayerItem.duration for HLS MPEG-TS content? Interestingly, Audio Only / Now Playing mode shows the expected timeline, while video playback can expose the incorrect values. Thank you.
Replies
0
Boosts
0
Views
137
Activity
13h
TextField cannot receive keyboard input via Device Hub (Xcode 27.0 beta 6, tvOS 27.0)
Environment: Xcode 27.0 beta 6, Device Hub, tvOS 27.0 When focusing a TextField and using Device Hub to run on tvOS 27.0, I cannot type any text into the field. Focus moves to the TextField as expected, but keyboard input is not received. Has anyone else run into this? Any workaround would be appreciated.
Replies
2
Boosts
1
Views
691
Activity
14h
Validate App & Upload both hang indefinitely at "Preparing"
I have been trying for 24 hours to upload app, and first time this has happened in 8 years and 100+ uploads. Please help. Validate App and Upload both hang indefinitely at "Preparing" in Xcode Organizer. No error is ever returned — the progress bar freezes and the operation never completes or times out. Transporter 1.4.5 fails identically. Key detail: archive 2.4.3 (build 123), which Apple accepted and processed on Sept 10, 2026, now hangs the same way when validated. Same machine, same Xcode, same Apple ID. This rules out the archive, its signature, and its provisioning profile. Already ruled out: two independent networks (home Wi-Fi and iPhone cellular hotspot); the archive itself (known-good build 123 fails identically); Xcode install (27.0 / 27A266a, xcode-select verified correct); Apple ID session (signed out and back in three times); full reboot. macOS 27.0 (26A428) on MacBookPro18,4. Last successful upload Sept 10, 2026. 100+ prior archives uploaded without incident over several years. macOS has updated twice since Sept 10. Separately: Transporter 1.4.5 crashes on macOS 27.0 with an unhandled exception in TransporterKit while drawing its activity queue (EXC_BREAKPOINT via +[NSApplication _crashOnException:]).
Replies
4
Boosts
0
Views
1.2k
Activity
15h
App Review Stuck in “In Review” for 5 Days – No Review Decision
Hi everyone, I submitted my app for App Review on August 14, 2026, at 2:39 PM. I later submitted an updated version again on September 9, 2026. The latest submission has been showing “In Review” for the past 5 days, but I still haven’t received any review decision or additional information from the App Review team. As I understand it, once an app enters the “In Review” status, a review decision is generally provided after the review is completed. However, in my case, the status has remained unchanged for several days. Has anyone experienced a similar situation recently? Is it normal for an app to remain in “In Review” for this long, or is there anything I should do from my side? Any advice or guidance would be appreciated. Thank you!
Replies
3
Boosts
1
Views
511
Activity
15h
Apple Pay Register Merchant Timeout
I am a PSP for Apple Pay, and I have been experiencing timeouts while registering a domain for my merchant. What configurations should my merchant make?
Replies
0
Boosts
0
Views
221
Activity
16h
Unable to enroll in the Apple Developer Program through the app or website
Title: Unable to enroll in the Apple Developer Program through the app or website Hi, I’m trying to enroll in the Apple Developer Program with my Apple Account, but I’m blocked on both the app and the website. I signed in to the Apple Developer app and completed the account profile questions. In the Account tab, “Enroll Now” is greyed out. Below it, I see: “Enrollment through the Apple Developer app is not available for this Apple Account. Visit https://developer.apple.com/programs/enroll/.” When I open the enrollment page in Safari and try to continue, I get: “We are unable to process your request. An unknown error occurred.” My Apple Account is set to Canada. Could that be related, or is there something else I need to check on my account? Has anyone encountered these two errors together and found a way to resolve them?
Replies
2
Boosts
0
Views
132
Activity
18h
Apple Watch pairs successfully in Device Hub (watchOS 27) but never reconnects afterward
Xcode 27.0, watchOS 27.2, macOS 27.2. Re-pairing an Apple Watch Ultra 2 via Device Hub (File ▸ Pair Nearby Device…) completes successfully — remotepairingd logs setupManualPairing succeeded — but the watch never reconnects afterward: no verifyManualPairing, no _remotepairing._tcp Bonjour advertisement, and CoreDevice never creates a device record for it. devicectl shows the watch as unavailable, then it disappears from the list entirely. Compare: pairing an iPhone the same way also closes the setup channel within ~40 ms, but the iPhone reconnects ~1.3 s later via verifyManualPairing and becomes available. The watch never does. Interesting finding: if the Mac's pairing listener is kept open past the point where Device Hub's sheet would normally close it, the watch does come back — but it requests a brand-new pair-setup instead of verifying the one it just completed. It loops: setup → close → setup. Already tried without success: restarting the watch/iPhone, Developer Mode off/on, Bluetooth on/off, Wi-Fi toggles, iPhone on USB, restarting CoreDeviceService and remotepairingd, Reset Location & Privacy on the iPhone, updating watchOS (27.0 → 27.2, same behavior). Full write-up with sanitized logs, timeline and everything tried: https://github.com/kisnner26/watchos27-pairing-bug Filed as Feedback Assistant FB24924229. If anyone else hits this exact symptom (pairing succeeds, watch never reconnects — different from the PIN never appearing, or the watch never showing up at all, which are other variants reported elsewhere), please share your report ID here so Apple can link them.
Replies
0
Boosts
0
Views
48
Activity
19h
AsyncRenderer causes crashes in ForEach when in Swift 6 language mode
Hi! We've recently done a big migration to Swift 6 language mode in our app and are now getting reports of crashes occurring due to closures in our SwiftUI code (most often the view builder in ForEach) not running on the main queue but instead running on the queue com.apple.SwiftUI.AsyncRenderer. One example of a call stack (ScheduleListView is our view that is in Swift 6 mode): Thread 16 #0 (null) in _dispatch_assert_queue_fail () #1 (null) in dispatch_assert_queue$V2.cold.1 () #2 (null) in dispatch_assert_queue () #3 (null) in swift_task_isCurrentExecutorWithFlagsImpl(swift::SerialExecutorRef, swift::swift_task_is_current_executor_flag) () #4 (null) in closure #2 in closure #1 in closure #1 in ScheduleListView.body.getter () #5 (null) in closure #1 in ForEachState.item(at:offset:) () #6 (null) in partial apply for closure #1 in ForEachState.item(at:offset:) () #8 (null) in partial apply for closure #1 in _withObservation<A>(do:) () .... (We have many other crashes with similar crash reports but in other views) Has anybody else run into something similar? Is there anything (other than simply reverting to Swift 5 mode again) that we can do to fix or at least reduce the amount of crashes? We're having a hard time finding anything out of the ordinary that we're doing in our views. Regards
Topic: UI Frameworks SubTopic: SwiftUI
Replies
7
Boosts
6
Views
1.1k
Activity
20h
Using MusicKit to display a user’s currently playing Apple Music track
Hello, I’m evaluating a possible MusicKit integration and would like to clarify whether the following use is permitted. With the user’s explicit and revocable consent, our iOS app would read the song currently playing in Apple Music while our app is active and display the song title and artist to other users of our application. Our app would not play, stream, host, download or redistribute Apple Music audio. Music playback would remain entirely within Apple Music. When our app is closed, it would stop accessing Apple Music. The last synchronized song may remain displayed until the user opens our app again, at which point the currently playing song would be refreshed. If a displayed song is tapped, the user would be redirected to Apple Music. We are happy to follow Apple’s required formatting, attribution and linking rules. Album artwork is not required and can be omitted if necessary. The Apple Music functionality itself would remain free. Any monetization would relate only to separate features of the application. Could someone clarify: Is this use permitted under the MusicKit / Apple Music requirements? May the current song title and artist be displayed to other users in this way? Which official Apple framework/API is recommended for detecting the song currently playing in Apple Music while our app is active? Are there specific attribution or linking requirements for this use? Thank you.
Replies
1
Boosts
0
Views
588
Activity
20h
102950134670 - DriverKit
Please can someone bump my support request which has been pending for 1 month. It is for DriverKit access. Thanks
Replies
1
Boosts
0
Views
73
Activity
20h
Table focus bug in macOS 27
When I click on a table row, the focus cannot be changed from a TextField to the table. This is a bug in macOS 27 because the focus can be changed from a TextField to the table in macOS 26. Temp workaround: Click a different window, such as Finder or Safari Click the table in my app. The focus can be changed from a different app to the table in my app. Note: Table with focus: the table row is highlighted in blue. Table without focus: the table row is highlighted in grey.
Topic: UI Frameworks SubTopic: SwiftUI
Replies
2
Boosts
1
Views
550
Activity
20h
Does a "prayer offering" gift to an individual pastor count as a donation under 3.2.2?
We are building a faith app where a member can send an optional financial gift, called an offering, directly to their own pastor's ministry. This is not a registered charity and the pastor is not an approved nonprofit. Does this fall under Guideline 3.2.2 (charitable donations and fundraisers), meaning the amount must be chosen outside the app with nothing pre-selected in-app? Or is it closer to a real-world personal payment, since it goes to a specific individual rather than a cause? We want to design the flow correctly before building it.
Replies
0
Boosts
0
Views
67
Activity
21h
Enrolment
Hey, does anyone know how long the enrolment process needs? enrollment ID is QARGL6A9YV - maybe someone can help, we wanna start as soon as possible :-)
Replies
4
Boosts
1
Views
394
Activity
21h
iPad (9th gen) headphone output ~2.5 to 4.5 dB quieter on iPadOS 27 (FB24980117)
Since iPadOS 27, the 3.5 mm headphone output on iPad (9th generation) is 2.4 to 4.5 dB quieter than on iPadOS 26, depending on frequency, with the same content, system volume and headphones. It's still present in iPadOS 27.2 beta 2 (24B5089g). It isn't app-specific. It reproduces in Safari: Connect wired headphones to the 3.5 mm jack and set system volume to 100%. Open https://www.szynalski.com/tone-generator/, set 3000 Hz, set the generator volume to 50%, and play. Measure with a sound level meter. At 3 kHz we see 2.5 to 2.9 dB less on iPadOS 27 than on iPadOS 26, across three different headphone models. Audio settings are identical between the two OS versions and Bluetooth is off. The only session-level difference we found is AVAudioSession.outputLatency, which went from 97 to 65 frames. Filed as FB24980117.
Replies
0
Boosts
0
Views
236
Activity
21h
Public API for per-app Visited Places and Preferred Routes/Predicted Destinations sharing?
Apple's Location Services & Privacy notice (https://www.apple.com/legal/privacy/data/en/location-services/) describes per-app sharing of Visited Places and Preferred Routes/Predicted Destinations where available. We are investigating a transit companion with a watchOS app and an optional iPhone companion. We have checked public developer documentation and installed SDK interfaces but have not identified the API that delivers these shared records. Which public SDK interface, entitlement or enrollment process implements this capability for third-party apps? A documentation or sample link, with supported platforms and eligibility requirements, would let us build a minimal probe. We are asking about delivery of the shared records, rather than monitoring new visits with Core Location or supplying relevance hints to the system.
Replies
0
Boosts
0
Views
37
Activity
21h
SwiftUI `OutlineGroup` Should Support Native Reordering with `reorderable` / `reorderContainer`
Description I would like to request native reordering support for SwiftUI hierarchical views, especially OutlineGroup and List(_:children:). In iOS 27, SwiftUI introduces the new reordering APIs: .reorderable() .reorderable(collectionID:) .reorderContainer(for:move:) .reorderContainer(for:in:move:) These APIs work well for flat collections and explicit sectioned collections, but they do not appear to integrate with OutlineGroup, even though OutlineGroup is the natural SwiftUI API for tree-structured data. Currently, OutlineGroup hides the internal recursive ForEach / DisclosureGroup structure, so there is no obvious place to apply reorderable(collectionID:) at each hierarchy level. Current Working Pattern for Sections This works when each parent is represented manually as a section: struct SectionModel: Identifiable { let id: UUID var title: String var items: [Item] } struct Item: Identifiable { let id: UUID var title: String } struct ContentView: View { @State private var sections: [SectionModel] = sampleSections var body: some View { List { ForEach(sections) { section in Section(section.title) { ForEach(section.items) { item in Text(item.title) } .reorderable(collectionID: section.id) } } } .reorderContainer(for: Item.self, in: SectionModel.ID.self) { difference in apply(difference) } } private func apply(_ difference: ReorderDifference<Item.ID, SectionModel.ID>) { // Move item between explicit sections. } } But this does not scale naturally to arbitrary tree data. Desired API Ideally, this should work with OutlineGroup: struct Node: Identifiable { let id: UUID var title: String var children: [Node]? } struct ContentView: View { @State private var nodes: [Node] = sampleTree var body: some View { List { OutlineGroup(nodes, children: \.children) { node in Text(node.title) } .reorderable() } .reorderContainer(for: Node.self) { difference in apply(difference) } } private func apply(_ difference: ReorderDifference<Node.ID, ???>) { // Move node within the tree. } } For hierarchical data, SwiftUI would need to expose the parent or collection identity of the source and destination. For example, something like: .reorderableTree( children: \.children, allowsMoveIntoChildren: true ) Or an overload such as: OutlineGroup(nodes, children: \.children) { node in Text(node.title) } .reorderable(collectionID: \.parentID) With a ReorderDifference that includes: sourceParentID destinationParentID destinationPosition movedItemIDs Why This Matters Many apps represent user-created hierarchical data: folders bookmark collections nested lists project outlines document trees sidebar hierarchies OutlineGroup is the natural SwiftUI abstraction for displaying this data, but reordering currently requires either: 1abandoning OutlineGroup and rebuilding a recursive outline manually; 2flattening the hierarchy into sections, losing the real outline interaction; 3using older manual drag/drop APIs; 4falling back to UIKit/AppKit. None of these approaches feels aligned with SwiftUI's declarative model. Specific Request Please consider adding native reorder support to OutlineGroup and List(_:children:), including support for: moving items within the same parent; moving items between parents; optionally moving an item into another item as a child; preventing invalid moves, such as moving a parent into one of its descendants; exposing source and destination parent identifiers in the move callback; preserving SwiftUI's built-in disclosure UI. Minimal Example of the Current Limitation This is the kind of code I would expect to be possible: List { OutlineGroup(nodes, children: \.children) { node in Text(node.title) } .reorderable() } .reorderContainer(for: Node.self, in: Node.ID.self) { difference in moveNode(using: difference) } But because OutlineGroup creates its recursive rows internally, there is no clear way to attach reorderable(collectionID:) to each parent's child collection. Expected Outcome SwiftUI should provide a first-class way to reorder hierarchical data displayed with OutlineGroup, similar to how flat and sectioned collections can now use reorderable and reorderContainer.
Topic: UI Frameworks SubTopic: SwiftUI
Replies
2
Boosts
2
Views
146
Activity
22h
Chat with Open Knowledge Format Memories: ChatOKF
Early Access via TestFlight: https://testflight.apple.com/join/Qsvxk5Mh What is it: https://leok7v.github.io/ChatOKF/ Open Source: https://github.com/leok7v/ChatOKF A capable AI assistant that lives on your iPhone and iPad. The model runs on your device's own chip, so nothing you type is uploaded and nothing is logged. Once a model is downloaded, ChatOKF works in airplane mode. No account. No sign-in. No subscription. No ads, no analytics, no telemetry. WHAT YOU CAN DO Ask anything: check the math on a loan, plan a week of dinners, untangle a confusing letter. Show it a picture: a photo of a menu, a street sign or a whiteboard, straight from your library. Some models also listen to audio and watch video, frame by frame. Hand it a document: a PDF, a Word file or a spreadsheet. It reads the tables inside and answers from the file, and one tap opens the page to check it. Watch it think: the stronger models reason before they answer. Read the reasoning, tap Quick Answer to cut it short, or switch thinking off for speed. Let it look things up: Wikipedia, today's headlines, the weather and web search are tools it can use, each behind its own switch. Keep going: it suggests a sensible next question; swipe right to ask it. Keep what it gives you: answers are typeset, tables and mathematics included. Search and rename your chats, share one as a PDF, and bring a deleted chat back within thirty days. Talk instead of typing: tap the microphone and speak, and have replies read aloud in one of eight voices made on your device. MEMORY YOU CAN READ Tell it to remember something and it writes a short note, and the chat says what it wrote. Later questions are checked against your notes first, whichever model is answering. Every note is listed under Memories, to read or to delete. One switch, Total Recall, turns it all off. WHERE YOUR WORDS GO Nowhere, unless it looks something up. With Wikipedia on, your question is matched to an article on your device and only that article is downloaded. With web access on, the model's search terms go to a search engine and the pages it chooses are fetched. Settings, Privacy says exactly what leaves your device for each one. PICK YOUR MODEL Several open models are offered, and the list shows only what your device can hold, so every one you see will run. Gemma 4 E2B and E4B: they see pictures, hear sound and watch video. Qwen3.5 2B and 4B: good with tools and longer answers. Ternary Bonsai 1.7B: small and fast, for devices with less memory. GOOD TO KNOW The first launch downloads a model, from about half a gigabyte to a few gigabytes. Use Wi-Fi; after that, no network is needed. Devices with more memory are offered stronger models, and newer chips answer faster. Answers are generated and can be wrong. Check anything that matters. ChatOKF is written in Swift on Metal, and its source is on GitHub. Models are provided by their authors under their own licenses, including the Gemma Terms of Use.
Replies
0
Boosts
0
Views
229
Activity
22h
Keyboard extensions and reserved regions
I have a keyboard extension in my app and I'm seeing some inconsistent behavior with the system-provided Globe and Dictation buttons. For the system keyboards, these buttons are displayed to the side of the keyboard, insetting the bottom row of keys on the folded screen and insetting the entire keyboard on the unfolded screen. What is the expected behavior for custom keyboards on the folded screen? My test results: When the Duo simulator is folded, sometimes the Globe and Dictation buttons appear next to my keyboard and the entire custom keyboard is squeezed to be really narrow. Other times my UI gets the full width and the Globe and Dictate keys are on TOP of my UI. The latter seems preferable, assuming I can then use the reserved regions API to avoid the overlap. Is that the intent? PS: The reserved regions API doesn't seem to work in keyboard extensions in this beta, neither in SwiftUI or UIKit. Hopefully that's fixed in the next beta.
Topic: UI Frameworks SubTopic: UIKit
Replies
1
Boosts
1
Views
66
Activity
22h