Hi Apple Team,
My enrollment ID is 78BT4GJN7C, enrolled at 5th Jan, till today is still "IN PROGRESS".
Could you please give me some feedback when the enrollment would be completed?? Or, what should I do to accelerating the progress?
Sincerely, Jim
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Swift concurrency is an important part of my day-to-day job. I created the following document for an internal presentation, and I figured that it might be helpful for others.
If you have questions or comments, put them in a new thread here on DevForums. Use the App & System Services > Processes & Concurrency topic area and tag it with both Swift and Concurrency.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Swift Concurrency Proposal Index
This post summarises the Swift Evolution proposals that went into the Swift concurrency design. It covers the proposal that are implemented in Swift 6.2, plus a few additional ones that aren’t currently available.
The focus is here is the Swift Evolution proposals. For general information about Swift concurrency, see the documentation referenced by Concurrency Resources.
Early Days
Some early high-level discussions of concurrency on Swift Evolution:
Swift Concurrency Manifesto (Aug 2017) — Introduces async and await and actors, including the main actor. If you’re curious, you can read the Swift Evolution thread that introduced this.
Swift Concurrency Roadmap (Oct 2020) — This extended the design to include Task, structured concurrency, and Objective-C interoperability. Each subsystem had its own pitch thread
[Concurrency] Asynchronous functions
[Concurrency] Structured concurrency
[Concurrency] Actors & actor isolation
[Concurrency] Interoperability with Objective-C
Swift 6.0
The following Swift Evolution proposals form the basis of the Swift 6.0 concurrency design.
SE-0176 Enforce Exclusive Access to Memory
link: SE-0176
notes: This defines the “Law of Exclusivity”, a critical foundation for both serial and concurrent code.
SE-0282 Clarify the Swift memory consistency model ⚛︎
link: SE-0282
notes: This defines Swift’s memory model, that is, the rules about what is and isn’t allowed when it comes to concurrent memory access.
SE-0296 Async/await
link: SE-0296
introduces: async functions, async, await
SE-0297 Concurrency Interoperability with Objective-C
link: SE-0297
notes: Specifies how Swift imports an Objective-C method with a completion handler as an async method. Explicitly allows @objc actors.
SE-0298 Async/Await: Sequences
link: SE-0298
introduces: AsyncSequence, for await syntax
notes: This just defines the AsyncSequence protocol. For one concrete implementation of that protocol, see SE-0314.
SE-0300 Continuations for interfacing async tasks with synchronous code
link: SE-0300
introduces: CheckedContinuation, UnsafeContinuation
notes: Use these to create an async function that wraps a legacy request-reply concurrency construct.
SE-0302 Sendable and @Sendable closures
link: SE-0302
introduces: Sendable, @Sendable closures, marker protocols
SE-0304 Structured concurrency
link: SE-0304, third-party commentary
introduces: unstructured and structured concurrency, Task, cancellation, CancellationError, withTaskCancellationHandler(…), sleep(…), withTaskGroup(…), withThrowingTaskGroup(…)
notes: For the async let syntax, see SE-0317. For more ways to sleep, see SE-0329 and SE-0374. For discarding task groups, see SE-0381.
SE-0306 Actors
link: SE-0306
introduces: actor syntax
notes: For actor-isolated parameters and the nonisolated keyword, see SE-0313. For global actors, see SE-0316. For custom executors and the Actor protocol, see SE-0392.
SE-0311 Task Local Values
link: SE-0311
introduces: TaskLocal
SE-0313 Improved control over actor isolation
link: SE-0313
introduces: isolated parameters, nonisolated
SE-0314 AsyncStream and AsyncThrowingStream
link: SE-0314
introduces: AsyncStream, AsyncThrowingStream, onTermination
notes: These are super helpful when you need to publish a legacy notification construct as an async stream. For a simpler API to create a stream, see SE-0388.
SE-0316 Global actors
link: SE-0316
introduces: GlobalActor, MainActor
notes: This includes the @MainActor syntax for closures.
SE-0317 async let bindings
link: SE-0317
introduces: async let syntax
SE-0323 Asynchronous Main Semantics
link: SE-0323
SE-0327 On Actors and Initialization
link: SE-0327
notes: For a proposal to allow access to non-sendable isolated state in a deinitialiser, see SE-0371.
SE-0329 Clock, Instant, and Duration
link: SE-0329
introduces: Clock, InstantProtocol, DurationProtocol, Duration, ContinuousClock, SuspendingClock
notes: For another way to sleep, see SE-0374.
SE-0331 Remove Sendable conformance from unsafe pointer types
link: SE-0331
SE-0337 Incremental migration to concurrency checking
link: SE-0337
introduces: @preconcurrency, explicit unavailability of Sendable
notes: This introduces @preconcurrency on declarations, on imports, and on Sendable protocols. For @preconcurrency conformances, see SE-0423.
SE-0338 Clarify the Execution of Non-Actor-Isolated Async Functions
link: SE-0338
note: This change has caught a bunch of folks by surprise and there’s a discussion underway as to whether to adjust it.
SE-0340 Unavailable From Async Attribute
link: SE-0340
introduces: noasync availability kind
SE-0343 Concurrency in Top-level Code
link: SE-0343
notes: For how strict concurrency applies to global variables, see SE-0412.
SE-0374 Add sleep(for:) to Clock
link: SE-0374
notes: This builds on SE-0329.
SE-0381 DiscardingTaskGroups
link: SE-0381
introduces: DiscardingTaskGroup, ThrowingDiscardingTaskGroup
notes: Use this for task groups that can run indefinitely, for example, a network server.
SE-0388 Convenience Async[Throwing]Stream.makeStream methods
link: SE-0388
notes: This builds on SE-0314.
SE-0392 Custom Actor Executors
link: SE-0392
introduces: Actor protocol, Executor, SerialExecutor, ExecutorJob, assumeIsolated(…)
notes: For task executors, a closely related concept, see SE-0417. For custom isolation checking, see SE-0424.
SE-0395 Observation
link: SE-0395
introduces: Observation module, Observable
notes: While this isn’t directly related to concurrency, it’s relationship to Combine, which is an important exising concurrency construct, means I’ve included it in this list.
SE-0401 Remove Actor Isolation Inference caused by Property Wrappers
link: SE-0401, third-party commentary
availability: upcoming feature flag: DisableOutwardActorInference
SE-0410 Low-Level Atomic Operations ⚛︎
link: SE-0410
introduces: Synchronization module, Atomic, AtomicLazyReference, WordPair
SE-0411 Isolated default value expressions
link: SE-0411, third-party commentary
SE-0412 Strict concurrency for global variables
link: SE-0412
introduces: nonisolated(unsafe)
notes: While this is a proposal about globals, the introduction of nonisolated(unsafe) applies to “any form of storage”.
SE-0414 Region based Isolation
link: SE-0414, third-party commentary
notes: To send parameters and results across isolation regions, see SE-0430.
SE-0417 Task Executor Preference
link: SE-0417, third-party commentary
introduces: withTaskExecutorPreference(…), TaskExecutor, globalConcurrentExecutor
notes: This is closely related to the custom actor executors defined in SE-0392.
SE-0418 Inferring Sendable for methods and key path literals
link: SE-0418, third-party commentary
availability: upcoming feature flag: InferSendableFromCaptures
notes: The methods part of this is for “partial and unapplied methods”.
SE-0420 Inheritance of actor isolation
link: SE-0420, third-party commentary
introduces: #isolation, optional isolated parameters
notes: This is what makes it possible to iterate over an async stream in an isolated async function.
SE-0421 Generalize effect polymorphism for AsyncSequence and AsyncIteratorProtocol
link: SE-0421, third-party commentary
notes: Previously AsyncSequence used an experimental mechanism to support throwing and non-throwing sequences. This moves it off that. Instead, it uses an extra Failure generic parameter and typed throws to achieve the same result. This allows it to finally support a primary associated type. Yay!
SE-0423 Dynamic actor isolation enforcement from non-strict-concurrency contexts
link: SE-0423, third-party commentary
introduces: @preconcurrency conformance
notes: This adds a number of dynamic actor isolation checks (think assumeIsolated(…)) to close strict concurrency holes that arise when you interact with legacy code.
SE-0424 Custom isolation checking for SerialExecutor
link: SE-0424, third-party commentary
introduces: checkIsolation()
notes: This extends the custom actor executors introduced in SE-0392 to support isolation checking.
SE-0430 sending parameter and result values
link: SE-0430, third-party commentary
introduces: sending
notes: Adds the ability to send parameters and results between the isolation regions introduced by SE-0414.
SE-0431 @isolated(any) Function Types
link: SE-0431, third-party commentary, third-party commentary
introduces: @isolated(any) attribute on function types, isolation property of functions values
notes: This is laying the groundwork for SE-NNNN Closure isolation control. That, in turn, aims to bring the currently experimental @_inheritActorContext attribute into the language officially.
SE-0433 Synchronous Mutual Exclusion Lock 🔒
link: SE-0433
introduces: Mutex
SE-0434 Usability of global-actor-isolated types
link: SE-0434, third-party commentary
availability: upcoming feature flag: GlobalActorIsolatedTypesUsability
notes: This loosen strict concurrency checking in a number of subtle ways.
Swift 6.1
Swift 6.1 has the following additions.
Vision: Improving the approachability of data-race safety
link: vision
SE-0442 Allow TaskGroup’s ChildTaskResult Type To Be Inferred
link: SE-0442, third-party commentary
notes: This represents a small quality of life improvement for withTaskGroup(…) and withThrowingTaskGroup(…).
SE-0449 Allow nonisolated to prevent global actor inference
link: SE-0449, third-party commentary
notes: This is a straightforward extension to the number of places you can apply nonisolated.
Swift 6.2
Xcode 26 beta has two new build settings:
Approachable Concurrency enables the following feature flags: DisableOutwardActorInference, GlobalActorIsolatedTypesUsability, InferIsolatedConformances, InferSendableFromCaptures, and NonisolatedNonsendingByDefault.
Default Actor Isolation controls SE-0466
Swift 6.2, still in beta, has the following additions.
SE-0371 Isolated synchronous deinit
link: SE-0371, third-party commentary
introduces: isolated deinit
notes: Allows a deinitialiser to access non-sendable isolated state, lifting a restriction imposed by SE-0327.
SE-0457 Expose attosecond representation of Duration
link: SE-0457
introduces: attoseconds, init(attoseconds:)
SE-0461 Run nonisolated async functions on the caller’s actor by default
link: SE-0461
availability: upcoming feature flag: NonisolatedNonsendingByDefault
introduces: nonisolated(nonsending), @concurrent
notes: This represents a significant change to how Swift handles actor isolation by default, and introduces syntax to override that default.
SE-0462 Task Priority Escalation APIs
link: SE-0462
introduces: withTaskPriorityEscalationHandler(…)
notes: Code that uses structured concurrency benefits from priority boosts automatically. This proposal exposes APIs so that code using unstructured concurrency can do the same.
SE-0463 Import Objective-C completion handler parameters as @Sendable
link: SE-0463
notes: This is a welcome resolution to a source of much confusion.
SE-0466 Control default actor isolation inference
link: SE-0466, third-party commentary
availability: not officially approved, but a de facto part of Swift 6.2
introduces: -default-isolation compiler flag
notes: This is a major component of the above-mentioned vision document.
SE-0468 Hashable conformance for Async(Throwing)Stream.Continuation
link: SE-0468
notes: This is an obvious benefit when you’re juggling a bunch of different async streams.
SE-0469 Task Naming
link: SE-0469
introduces: name, init(name:…)
SE-0470 Global-actor isolated conformances
link: SE-0470
availability: upcoming feature flag: InferIsolatedConformances
introduces: @SomeActor protocol conformance
notes: This is particularly useful when you want to conform an @MainActor type to Equatable, Hashable, and so on.
SE-0471 Improved Custom SerialExecutor isolation checking for Concurrency Runtime
link: SE-0471
notes: This is a welcome extension to SE-0424.
SE-0472 Starting tasks synchronously from caller context
link: SE-0472
introduces: immediate[Detached](…), addImmediateTask[UnlessCancelled](…),
notes: This introduces the concept of an immediate task, one that initially uses the calling execution context. This is one of those things where, when you need it, you really need it. But it’s hard to summary when you might need it, so you’ll just have to read the proposal (-:
In Progress
The proposals in this section didn’t make Swift 6.2.
SE-0406 Backpressure support for AsyncStream
link: SE-0406
availability: returned for revision
notes: Currently AsyncStream has very limited buffering options. This was a proposal to improve that. This feature is still very much needed, but the outlook for this proposal is hazy. My best guess is that something like this will land first in the Swift Async Algorithms package. See this thread.
SE-NNNN Closure isolation control
link: SE-NNNN
introduces: @inheritsIsolation
availability: not yet approved
notes: This aims to bring the currently experimental @_inheritActorContext attribute into the language officially. It’s not clear how this will play out given the changes in SE-0461.
Revision History
2026-02-16 Added the Early Days section.
2026-01-07 Added another third-party commentary links.
2025-09-02 Updated for the upcoming release Swift 6.2.
2025-04-07 Updated for the release of Swift 6.1, including a number of things that are still in progress.
2024-11-09 First post.
Hi.
In my project, I use the following property to access the safe area via UIApplication:
UIApplication
.shared
.connectedScenes
.flatMap { ($0 as? UIWindowScene)?.windows ?? [] }
.first { $0.isKeyWindow }?.safeAreaInsets
However, in Xcode 26 and iOS 26, this no longer works, and in some cases the app crashes. Views that rely on this property stop behaving as expected. For example, if it’s a sheet, it does not appear.
The same app built with Xcode 16 and distributed via TestFlight runs on iOS 26 without any issues.
What is the correct and safe way to obtain safeAreaInsets outside of a View now?
Topic:
UI Frameworks
SubTopic:
SwiftUI
I'm experiencing consistent memory crashes in iOS 26.3 (23D127)
when using @AppStorage with view transitions.
Environment:
Device: iPhone 17 Pro Max
iOS: 26.3 (23D127)
Xcode: 26.2 (17C52)
Issue:
App crashes with "Terminated due to memory issue" when:
Using @AppStorage to manage state
Calling UserDefaults.set() in completion handler
Transitioning to new view based on changed state
Workaround:
Using @State instead of @AppStorage prevents crash.
Feedback: FB############ (your number)
Has anyone else experienced this? Is this a known issue in iOS 26?
Topic:
UI Frameworks
SubTopic:
SwiftUI
Hello everyone,
We are currently facing a pending termination notice under Guideline 3.2(f) and are trying to better understand the root cause so we can ensure full compliance.
Brief timeline:
Feb 4: Our in-app events were rejected → we removed them immediately
Feb 6: After the Guideline 1.2 update, our account received a pending termination notice
We submitted appeals but continue to receive generic responses without specific details
We proactively removed all instant/random video matching functionality and submitted a fully updated build
The new build has been in “Waiting for Review” for ~10 days
Current challenges:
We cannot clearly identify what triggered the 3.2(f) determination
Multiple call requests have not received a response
Contact options with App Review in App Store Connect appear disabled
Our goal is simply to understand the concern and ensure full compliance with the App Store Review Guidelines.
If anyone has experienced a similar situation or can share guidance on how to get clarity from App Review, we would greatly appreciate your insights.
Thank you in advance for any help.
Numerous people have told me that they tried to rate and review my app in App Store, but the ratings were not accepted.
On their phones, the star immediately blanked out.
In App Store Connect, I don't see their reviews.
In the App Store, there are only a handful of reviews.
The app has thousands of downloads and has been in the store for 2 weeks. The lack of ratings is hurting my App Store ranking.
Is this a known problem? What steps can I take to investigate or resolve this?
Topic:
App Store Distribution & Marketing
SubTopic:
General
Hello,
My app update was rejected under Guideline 2.3.4 (Accurate Metadata) with the note that the app preview includes “framing around the video screen capture.”
Apple attached four images to the review. I reviewed them carefully, and they appear to show full screen gameplay without borders or visible background. I am attaching two of those images here for reference.
I am trying to understand what Apple might be interpreting as “framing” in this case. Has anyone encountered a similar rejection where the preview looked full screen but was still flagged?
Any insight into what reviewers typically expect or what subtle issues might trigger this would be very helpful.
Thank you.
I’ve encountered an aspect of the Liquid Glass effect in SwiftUI that seems a bit odd: the Liquid Glass interaction appears to ignore regular hit-testing behavior.
The following sample shows a button with hit testing disabled:
@main
struct LiquidGlassHitTestDemo: App {
var body: some Scene {
WindowGroup {
Button("Liquid") {
fatalError("Never called.")
}
.buttonStyle(.glassProminent)
.allowsHitTesting(false)
}
}
}
As expected, the button’s action is never called. However, the interactive glass effect still responds to touch events:
What’s even more surprising is that the UIKit equivalent behaves differently:
final class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(
configuration: .prominentGlass(),
primaryAction: UIAction(
title: "Liquid",
handler: { action in
print("Never called.")
}
)
)
view.addSubview(button)
button.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
button.centerXAnchor.constraint(equalTo: view.centerXAnchor),
button.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
button.isUserInteractionEnabled = false
}
}
In this case, the effect is not interactive at all. Similarly, if a UIViewController’s root view overrides hitTest(_:with:) to always return nil, the Liquid Glass effect does not react to touch events whatsoever.
The only way I’ve found to “properly” disable the glass interactivity in SwiftUI is to use the .disabled(true) modifier. However, this also changes the button’s appearance, which is not always desirable.
Is this expected behavior, or could this be a bug? Am I missing something about how Liquid Glass interaction is implemented in SwiftUI?
I am just starting to learn SpriteKit and I'm having trouble selecting a scene to preview an action in the actions editor.
I created a new macOS Game project (Language: Swift, Game Technology: SpriteKit). When I open the generated 'Actions.sks' file, I see the message "No Preview Scene Selected" in the editor. I see the 'GameScene.sks' scene listed in the "Select..." control in the lower right, but it is greyed out. I'm not able to figure out how to select a scene to preview the action.
I'm running Xcode 26.2 on macOS 15.
Thanks very much for the help.
Topic:
Graphics & Games
SubTopic:
SpriteKit
Hello. My recent app submission got rejected after many days in the queue, but without providing a reason. My app is an AI app that uses the OpenAI API, and has been since version 0 (almost a year), however in this latest version, which was a minor update, the reviewer rejected the submission and only asked a question:
We need more information to continue the review.
Next Steps
Provide detailed answers to the following questions:
Does the app use a native AI agent?
Or does it rely on a third party AI service?
I, of course, responded right away. But I just don't know what I'm supposed to do next. Am I supposed to cancel the submission and resubmit so they see my answer? Or will they check my answer after some days/weeks? It's been 4 days since I responded already.
Also what was the cancellation reason? Am I supposed to write my third party service providers in the description or something?
If anyone can provide advice, especially regarding whether I should cancel and resubmit or just continue waiting for a response. It's been almost 1 week since my original submission now
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Organization enrollment paused due to ID verification — best way to proceed after updating passport?
Hi, I’m trying to understand the correct process for Apple Developer Program organization enrollment when identity verification cannot be completed due to an outdated passport photo.
Based on our last communication, I believe the enrollment was paused/declined because my passport photo didn’t match my current appearance (I’m assuming this because the last communication we had was specifically about my passport photo). I have since obtained a new passport with an updated photo.
Timeline for context:
• Jan 9: My enrollment was put on hold / could not proceed after ID verification.
• Jan 12: I applied for a new passport with an updated photo.
• After receiving the new passport, I followed up to provide the updated ID, but I’m not sure what the correct next step is in the enrollment workflow.
Could you please advise the recommended way to proceed?
• Should I submit a new organization enrollment, or can the existing one be re-opened/continued? I couldn’t find a way to resubmit/continue the existing enrollment from my side.
• What is the proper channel to submit the updated ID again (for example, via the file-upload link or another path)?
• If there is a standard escalation path for enrollment/verification cases, what is the best way to follow it?
We’ve completed our testing and preparation on other platforms, but we haven’t been able to complete the iOS side due to this enrollment issue, which is blocking our overall product launch.
I’m sure you’re handling a very high volume of enrollment requests from all over the world every day. We’re a small/new team and we’ve been working on this for a long time, so any guidance on the correct process would be greatly appreciated.
Enrollment ID: K5WNDGXN9T
Thank you.
We are developing a mobile-first, browser-only web application that requires users to upload 20–200 images stored inside a single folder (for example, a merchant product directory).
On iOS Safari:
window.showDirectoryPicker() is not supported.
is not supported.
File System Access API is not available.
Users must manually multi-select images from the Photos picker.
This creates significant friction for bulk upload workflows.
We are NOT requesting unrestricted file system access.
We are asking whether a privacy-preserving, user-granted folder-scoped permission model is being considered for web applications. For example:
User explicitly selects a folder.
The web app receives scoped access only to that selected folder.
Access is session-bound and revocable.
No background or global storage access is required.
Questions:
Is folder-level access for web apps being considered for iOS Safari?
Does installing a PWA provide any enhanced file access capability?
Are there recommended best practices for handling bulk image uploads in browser-only iOS applications?
Is there any roadmap alignment with the File System Access API standard?
Our goal is to remain browser-only and maintain strict user privacy while improving usability for high-volume image workflows.
Any clarification on intended platform direction would be appreciated.
Hi, we are setting up Apple Pay on our website which sells only digital goods. We don't collect a shipping address because we aren't shipping anything. We want to use the user's billing address in order to show them the total amount (including sales tax) before they authorize the purchase. However, it seems that the billing address isn't always provided by Apple Pay before the payment is authorized.
With Apple Pay, what is the recommended way of acquiring the user's billing address before they authorize the purchase?
--
More details about our setup:
We are using the Apple Pay JS API.
In createPaymentRequest, we specify requiredBillingContactFields: ['postalAddress'], but per the docs, the address is provided after the user authorizes the transaction. That is too late for us because we want to show the sales tax before the user authorizes the purchase.
We have attempted to work around this by getting the billing contact details in session.onpaymentmethodselected. For example:
session.onpaymentmethodselected = function (event) {
const billingContact = event.paymentMethod.billingContact;
// Sometimes `billingContact` exists, but other times it does not
}
This doc states:
Before the user authorizes the transaction, you receive redacted billing contact information in a callback event. The redacted information includes only the necessary data for completing transaction tasks, such as calculating taxes or shipping costs.
But in practice, we've observed that sometimes no billing contact information is provided. When a user switches from one card to another, we seem to never get the billing contact associated with the newly selected card.
Is there something we're missing?
Starting in iOS 26.4, PushKit has introduced a new "didReceiveIncomingVoIPPushWithPayload" delegate, making it explicit whether or not an app is required to report a call for any given push. The new delegate passes in a PKVoIPPushMetadata object which includes a "mustReport" property.
We have not documented the exact criteria that will cause a mustReport to return false, but those criteria currently include:
The app being in the foreground at the point the push is received.
The app being on an active call at the point the push is received.
The system determines that delivery delays have made the call old enough that it may no longer be viable.
When mustReport is false, apps should call the PushKit completion handler (as they previously have) but are otherwise not required to take any other action.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware
Hey everyone, I purchased an Apple Developer Program and got my confirmation email that within 48h my developer account should be activated, but it never did. Plus after waiting more than 48h I wrote to support, describing everything, but never heard back from them.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
How can I remove device management please
[Submitted as FB21961572]
When navigating from a tile in a scrolling LazyVGrid to a child view using .navigationTransition(.zoom) and then returning, the source tile can lag behind the rest of the grid if scrolling starts immediately after returning.
The lag becomes more pronounced as tile content gets more complex; in this simplified sample, it can seem subtle, but in production-style tiles (as used in both of my apps), it is clearly visible and noticeable.
This may be related to another issue I recently filed:
Source item disappears after swipe-back with .navigationTransition(.zoom)
CONFIGURATION
Platform: iOS Simulator and physical device
Navigation APIs: matchedTransitionSource + navigationTransition(.zoom)
Container: ScrollView + LazyVGrid
Sample project: ZoomTransition (DisappearingTile).zip
REPRO STEPS
Create a new iOS project and replace ContentView with the code below.
Run the app in sim or physical device
Tap any tile in the scrolling grid to navigate to the child view.
Return to the grid (back button or edge swipe).
Immediately scroll the grid.
Watch the tile that was just opened.
EXPECTED
All tiles should move together as one coherent scrolling grid, with no per-item lag or desynchronization.
ACTUAL
The tile that was just opened appears to trail behind neighboring tiles for a short time during immediate scrolling after returning.
MINIMAL CODE SAMPLE
import SwiftUI
struct ContentView: View {
@Namespace private var namespace
private let tileCount = 40
private let columns = [GridItem(.adaptive(minimum: 110), spacing: 12)]
var body: some View {
NavigationStack {
ScrollView {
LazyVGrid(columns: columns, spacing: 12) {
ForEach(0..<tileCount, id: \.self) { index in
NavigationLink(value: index) {
RoundedRectangle(cornerRadius: 16)
.fill(color(for: index))
.frame(height: 110)
.overlay(alignment: .bottomLeading) {
Text("\(index + 1)")
.font(.headline)
.foregroundStyle(.white)
.padding(10)
}
.matchedTransitionSource(id: index, in: namespace)
}
.buttonStyle(.plain)
}
}
.padding(16)
}
.navigationTitle("Zoom Transition Grid")
.navigationSubtitle("Open tile, go back, then scroll immediately")
.navigationDestination(for: Int.self) { index in
Rectangle()
.fill(color(for: index))
.ignoresSafeArea()
.navigationTransition(.zoom(sourceID: index, in: namespace))
}
}
}
private func color(for index: Int) -> Color {
let hue = Double(index % 20) / 20.0
return Color(hue: hue, saturation: 0.8, brightness: 0.9)
}
}
SCREEN RECORDING
Topic:
UI Frameworks
SubTopic:
SwiftUI
We received a DPLA compliance notification from Apple referencing Section 11.2(g) for our developer account (REVSTREAM LLC).
We responded promptly and have taken corrective measures to ensure full compliance. However, when attempting to send a follow-up message through the developer.apple.com/contact form (Membership and Account → Agreements and Contracts), we receive the error: "There was a problem processing your request."
We are unable to reach Apple Developer Support through this channel to confirm our response was received and to provide additional information.
Could the @Apple team please advise on an alternative way to communicate regarding this matter? We want to ensure we are fully addressing all concerns.
Thank you.
I have an App stuck in waiting for review. ’ve raised an expedite request and still no response. Anyone experiencing this and know how to get a review in this case?
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
I've come back to a project that last released some 8 years ago.
I've updated it over the last couple of months and now I'm trying to create a new version on App Store Connect, but the button isn't there.
I still have a couple of versions listed there, one in "Prepare for submission" and one in "Ready for Distribution".
The one labelled as ready for distribution is actually still in the app store.
There doesn't seem to be an option to delete the version I never submitted
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect