Overview

Post

Replies

Boosts

Views

Activity

Official visionOS sample "Creating an interactive 3D model in visionOS" fails to restore/show the car model when relaunched from Home
Environment: Device: Apple Vision Pro visionOS: 26.3.1 Xcode: 26.2 (17C52) Sample: Creating an interactive 3D model in visionOS Repro steps: Build and run the official sample from Xcode Confirm the car model displays correctly Quit the app Relaunch the app from Home Observe that the official car model no longer appears / fails to restore correctly Expected: The official car model should display normally after relaunching from Home Actual: The sample works when launched from Xcode, but fails when relaunched from Home
1
0
70
3w
Apps with expired provisioning profiles still running
We are using an app created with the Apple Developer Enterprise Program within our company. Every year, we recreate and distribute the app in conjunction with the renewal of the provisioning profile. Currently, there are cases where an app that expired in September 2025 is still running, which is causing problems. What could be the cause of this? The app operates on a VPN, but Apple domains are accessible.
0
0
753
4w
Best practice for centralizing SwiftData query logic and actions in an @Observable manager?
I'm building a SwiftUI app with SwiftData and want to centralize both query logic and related actions in a manager class. For example, let's say I have a reading app where I need to track the currently reading book across multiple views. What I want to achieve: @Observable class ReadingManager { let modelContext: ModelContext // Ideally, I'd love to do this: @Query(filter: #Predicate<Book> { $0.isCurrentlyReading }) var currentBooks: [Book] // ❌ But @Query doesn't work here var currentBook: Book? { currentBooks.first } func startReading(_ book: Book) { // Stop current book if any if let current = currentBook { current.isCurrentlyReading = false } book.isCurrentlyReading = true try? modelContext.save() } func stopReading() { currentBook?.isCurrentlyReading = false try? modelContext.save() } } // Then use it cleanly in any view: struct BookRow: View { @Environment(ReadingManager.self) var manager let book: Book var body: some View { Text(book.title) Button("Start Reading") { manager.startReading(book) } if manager.currentBook == book { Text("Currently Reading") } } } The problem is @Query only works in SwiftUI views. Without the manager, I'd need to duplicate the same query in every view just to call these common actions. Is there a recommended pattern for this? Or should I just accept query duplication across views as the intended SwiftUI/SwiftData approach?
3
0
592
3w
How to manually/offline install Claude Agent for Xcode?
Hi everyone, I'm working in a strictly offline (intranet) environment and cannot use the standard online installation process to download and install the Claude Agent for Xcode. What I've tried: I manually copied the Agent binary/folder from an online machine to the following path: ~/Library/Developer/Xcode/CodingAssistant/Agents/Versions/26.3/claude The Issue: Even though the files are in the correct directory, Xcode fails to recognize the agent. It doesn't appear in the settings, and the Coding Assistant remains unavailable. Questions: Is there a specific metadata file (e.g., a .plist or .json index) that needs to be updated for Xcode to "see" the manually added agent? Are there any code signing or quarantine issues (like xattr) that need to be addressed when moving the agent between machines? Does anyone know if there are other dependencies or cache folders (besides ~/Library/Developer/Xcode/CodingAssistant/) that need to be synchronized? Environment: macOS: 26.3 (25D122) Xcode: 26.3 (17C519) Any guidance on the manual registration process for these agents would be greatly appreciated. Thanks!
1
0
90
4w
Should I enroll in Apple Developer Program with Apple ID set to U.S. if I need Germany for tax purposes?
Hello everyone, I am looking for advice from anyone who has experience with Apple Developer account setup across countries. My Apple account is currently associated with the United States, but I live in Germany and would like my Apple Developer setup to be associated with Germany for tax and administrative reasons. At the moment, I have not enrolled yet in the Apple Developer Program, because I am hesitant to proceed while the account is still tied to the U.S. I want to avoid creating complications later around tax information, billing or account maintenance. My app is essentially ready, so I am trying to make the right decision before enrolling. I would really appreciate guidance on a few points: Has anyone enrolled first and then later changed the country association successfully? Is it better to update the Apple account to Germany before joining the Developer Program? For developers based in Germany, did Apple require anything specific for tax or identity verification? Would enrolling with the account still associated with the U.S. create problems later for App Store Connect, payments or tax forms? I contacted Apple Support on March 21st to clarify this, but I have not yet received a response, so I thought I would ask here in case others have gone through the same process. Any advice or shared experience would be very helpful. Thank you!
0
0
100
3w
Does Xcode 26.3's official MCP Server require Apple Silicon?
I'm trying to use Xcode 26.3's official MCP Server (xcrun mcpbridge) on an Intel Mac(15.7.4), but it crashes immediately. Run xcrun mcpbridge in Terminal: dyld[3809]: Symbol not found: _$s10AppSandbox17ASBBinaryIdentityC14teamIdentifierSSSgvg Referenced from: /Applications/Xcode.app/Contents/Developer/usr/bin/mcpbridge Expected in: /System/Library/PrivateFrameworks/AppSandbox.framework/Versions/A/AppSandbox [1] 3809 abort xcrun mcpbridge Observations The same command works on an Apple Silicon Mac (M1, macOS 26.3).
1
0
127
4w
422 error when submit TestFlight Beta Review
When I submit the app to TestFlight beta review I get the error show on UI. (I filled all filed info in Beta Infomation) There was an error processing your request. Please try again later I was inspected Safari to see the detailed error and I got the below error. Failed to load resource: the server responded with a status of 422 () and the detailed javascript error componentStack: undefined errorCode: undefined message: "API Response Error: TF_BETA_APP_REVIEW_RESPONSE" stackTrace: "status code: 422 --- api correlation key: NZEKCTWMNANXDZVTRD3V4GNE3U" Anyone can tell me the problem and how to fix it. Many Thanks.
30
6
24k
4w
Maps: opening hours API / Property
I’m currently developing an iOS app that relies heavily on location details. I'm using MapKit and MKMapItem as my primary data source, which works perfectly for standard metadata. However, I’ve hit a roadblock: I want to display opening hours inline within my location details, but it seems Apple doesn't expose a public API or property for this in MKMapItem (even though the data is clearly visible in the native Apple Maps app). Since I'm building this as an indie developer/startup, the Google Places API is unfortunately too expensive for my current budget. ⁠Is there any legitimate, native way to get opening hours from Apple that I might have missed? ⁠If not, what are your best practices or recommended indie-friendly alternatives (e.g., Yelp Fusion API, OpenStreetMap, Foursquare)? Any tips on how to handle this elegantly and cost-efficiently would be highly appreciated! Thanks in advance.
2
0
343
4w
isEligibleForAgeFeatures already returns true for non-sandbox user???
We made an update of one of our games with the Declared Age Range framework, and one of the users contacted us, asking how could he confirm his age to access the app's features. Meaning that isEligibleForAgeFeatures returned true on his device. According to documentation: Use isEligibleForAgeFeatures to determine whether associated laws or regulations may apply to your app based on the person’s location and account settings. This property returns true when your app needs to support Age Assurance for the current user. As far as we know, the laws are not applied anywhere yet. So, why did isEligibleForAgeFeatures return true?
1
0
98
3w
DSA Verification Stuck in Review for Over 10 Days
Hello, My DSA (Digital Services Act) verification in App Store Connect has been in review for over 10 days. I have already submitted all required documents, and I have not received any updates or requests for additional information. This is currently blocking my ability to update or manage my app. Has anyone experienced a similar delay? Is there anything I can do to speed up the process? Thank you.
0
0
43
4w
macOS 26.4 regression with Mac Catalyst apps using PhotoKit: Photos do not appear when using limited access - Failed to get sandbox extension for url - Image request failed with error PHPhotosErrorDomain Code 3303
I just submitted FB22318443. In Mac Catalyst apps running on macOS 26.4, if you choose to limit the app's access to specific photos (as opposed to granting full access), the photos do not appear in the app. 💀 This issue does not occur on iPadOS. It is a macOS 26.4 regression. It occurs even with apps built using a previous version of the SDK such as 26.2. A sample of the console logs: [RM]: 4-1-1 failed to decode for asset: 9290CC20-B85D-47B5-BDBE-D330FE61773D, error code: 3303, description: Error Domain=PHPhotosErrorDomain Code=3303 "(null)" Failed to get sandbox extension for url: file:///Users/Jordan/Pictures/Photos%20Library.photoslibrary/resources/derivatives/masters/9/9290CC20-B85D-47B5-BDBE-D330FE61773D_4_5005_c.jpeg, error: Error Domain=com.apple.photos.error Code=44001 "sandbox extension not in the cache after requesting them for path: /Users/Jordan/Pictures/Photos Library.photoslibrary/resources/derivatives/masters/9/9290CC20-B85D-47B5-BDBE-D330FE61773D_4_5005_c.jpeg" UserInfo={NSDebugDescription=sandbox extension not in the cache after requesting them for path: /Users/Jordan/Pictures/Photos Library.photoslibrary/resources/derivatives/masters/9/9290CC20-B85D-47B5-BDBE-D330FE61773D_4_5005_c.jpeg} [RM]: 1-1-1 Image request failed with error: Error Domain=PHPhotosErrorDomain Code=3303 "(null)"
0
0
329
4w
Back gesture not disabled with navigationBarBackButtonHidden(true) when using .zoom transition
[Submitted as FB22226720] For a NavigationStack destination, applying .navigationBarBackButtonHidden(true) hides the back button and also disables the interactive left-edge back gesture when using the standard push navigation transition. However, when the destination uses .navigationTransition(.zoom), the back button is hidden but the left-edge back gesture is still available—it can still be dismissed even though back is intentionally suppressed. This creates inconsistent behavior between navigation transition styles. navigationBarBackButtonHidden(_:) works with a standard push transition, but not with .navigationTransition(.zoom). In the code below, .interactiveDismissDisabled(true) is also applied as another attempt to suppress the back-swipe gesture, but it has no effect. As a result, there’s currently no clean way to prevent back navigation when using the zoom transition. REPRO STEPS Create an iOS project then replace ContentView with code below, build and run. Leave nav type set to List Push. Open an item. Verify there is no back button, then try the left-edge back gesture. Return to the root view. Change nav type to Grid Zoom. Open an item. Verify there is no back button, then try the left-edge back gesture. ACTUAL In List Push mode, the left-edge back gesture is prevented. In Grid Zoom mode, the back button is hidden, but the left-edge back gesture still works and returns to the previous view. EXPECTED Behavior should be consistent across navigation transition styles. If this configuration is meant to suppress interactive backward navigation for a destination, it should also suppress the left-edge back gesture when using .navigationTransition(.zoom). SCREEN RECORDING SAMPLE CODE struct ContentView: View { private enum NavigationMode: String, CaseIterable { case listPush = "List Push" case gridZoom = "Grid Zoom" } @Namespace private var namespace @State private var navigationMode: NavigationMode = .listPush private let colors: [Color] = [.red, .blue] var body: some View { NavigationStack { VStack(spacing: 16) { Picker("Navigation Type", selection: $navigationMode) { ForEach(NavigationMode.allCases, id: \.self) { mode in Text(mode.rawValue).tag(mode) } } .pickerStyle(.segmented) if navigationMode == .gridZoom { HStack { ForEach(colors.indices, id: \.self) { index in NavigationLink(value: index) { VStack { RoundedRectangle(cornerRadius: 14) .fill(colors[index]) .frame(height: 120) Text("Grid Item \(index + 1)") .font(.subheadline.weight(.medium)) } .padding(12) .frame(maxWidth: .infinity) .background(.quaternary.opacity(0.25), in: RoundedRectangle(cornerRadius: 16)) .matchedTransitionSource(id: index, in: namespace) } .buttonStyle(.plain) } } } else { ForEach(colors.indices, id: \.self) { index in NavigationLink(value: index) { HStack { Circle() .fill(colors[index]) .frame(width: 24, height: 24) Text("List Item \(index + 1)") Spacer() Image(systemName: "chevron.right") .foregroundStyle(.secondary) } .padding() .background(.quaternary.opacity(0.25), in: RoundedRectangle(cornerRadius: 12)) } .buttonStyle(.plain) } } Spacer() } .padding(20) .navigationTitle("Prevent Back Swipe") .navigationSubtitle("Compare Grid Zoom vs List Push") .navigationDestination(for: Int.self) { index in if navigationMode == .gridZoom { DetailView(color: colors[index]) .navigationTransition(.zoom(sourceID: index, in: namespace)) } else { DetailView(color: colors[index]) } } } } } private struct DetailView: View { @Environment(\.dismiss) private var dismiss let color: Color var body: some View { ZStack { color.ignoresSafeArea() Text("Try left-edge swipe back") .font(.title.bold()) .multilineTextAlignment(.center) .padding(.horizontal, 24) } .navigationBarBackButtonHidden(true) .interactiveDismissDisabled(true) .toolbar { ToolbarItem(placement: .topBarTrailing) { Button("Close", action: dismiss.callAsFunction) } } } }
2
0
627
4w
iOS 27 SDK requirements: UIDesignRequiresCompatibility & UIRequiresFullScreen deprecation and enforcement timeline
Our iPadOS app is currently built with Xcode 26 / iOS 26 SDK. The app still contains some legacy code that prevents the UI from being fully compliant with the latest system constraints (e.g. resizable scenes and updated design system behaviors). We rely on: UIDesignRequiresCompatibility to preserve our existing UI while evaluating the new design system UIRequiresFullScreen to maintain a fixed layout not yet adapted to resizable scenes We are actively modernizing the app and planning our migration to iOS 27, and would like clarification on upcoming requirements. Will UIDesignRequiresCompatibility continue to be supported with the iOS 27 SDK, or will the new UI system become mandatory? Will UIRequiresFullScreen be ignored or cause App Store rejections when using the iOS 27 SDK? Will support for multitasking and UIScene become required for submission? Will there be a grace period to continue shipping updates with the iOS 26 SDK? When is the expected enforcement timeline for iOS 27 SDK adoption? Are there any exemptions for apps with fixed-layout requirements?
0
0
102
3w
Apps stuck in "Waiting for Review" for over a month – no response from support
Hello, I’m experiencing an unusual issue with App Store review and would appreciate any guidance. I currently have two apps in the review queue: • Tendre – submitted on February 4 • After Midnight – submitted on February 19 The first app has now been stuck in "Waiting for Review" for over a month, and the second one has also not progressed at all since submission. During this time: • I contacted Apple Developer Support multiple times • I submitted support requests (including escalation) • I requested an expedited review However, I have not received any meaningful response or update. What makes this concerning is that typical review times are usually much shorter (often within a few days), and there are no visible issues or rejections. This situation is currently blocking our release, and we are unable to move forward. As these are our first app releases, this delay is critical and is significantly affecting our planned launch. Could this be related to: • an account-level issue • a review queue problem • or something else on Apple’s side? If anyone from Apple or other developers has experienced something similar, I would really appreciate any insight or advice. Thank you in advance.
1
0
87
3w
NSPathControl Causing Disk I/O Reading NSURL Resource Values On the Main Thread
Sort of a continuation of - https://developer.apple.com/forums/thread/813641 I've made a great effort to get NSURL -getResourceValue:forKey: calls etc off the main thread. Great progress. So now I'm working with a file on a really slow network volume I discovered a little hang and luckily enough I'm attached to the debugger so I paused that thing. I see where I'm at. It is: NSPathControl's setURL:. It goes a little something like this: in realpath$DARWIN_EXTSN () +fileSystemRealPath () +[FSNode(SandboxChecks) canAccessURL:withAuditToken:operation:] () +FSNode(SandboxChecks) canReadFromSandboxWithAuditToken:] () LaunchServices::URLPropertyProvider::prepareLocalizedNameValue () LaunchServices::URLPropertyProvider::prepareValues () prepareValuesForBitmap () FSURLCopyResourcePropertiesForKeysInternal () CFURLCopyResourcePropertiesForKeys () -[NSURL resourceValuesForKeys:error:] () in function signature specialization <Arg[1] = Dead> of Foundation._NSFileManagerBridge.displayName(atPath: Swift.String) -> Swift.String () in displayName () -[NSPathCell _autoUpdateCellContents] () -[NSPathCell setURL:] () Could maybe, NSPathControl get the display name etc. asynchronously? and maybe just stick raw path components in as a placeholder while it is reading async? Or something like that? If I can preload the resource keys it needs I would but once the NSURL asks on the main main thread I think it will just dump the cache out, per the run loop rules.
4
0
336
3w
Official visionOS sample "Creating an interactive 3D model in visionOS" fails to restore/show the car model when relaunched from Home
Environment: Device: Apple Vision Pro visionOS: 26.3.1 Xcode: 26.2 (17C52) Sample: Creating an interactive 3D model in visionOS Repro steps: Build and run the official sample from Xcode Confirm the car model displays correctly Quit the app Relaunch the app from Home Observe that the official car model no longer appears / fails to restore correctly Expected: The official car model should display normally after relaunching from Home Actual: The sample works when launched from Xcode, but fails when relaunched from Home
Replies
1
Boosts
0
Views
70
Activity
3w
Stuck in App Review Status?
Hello all - just developed my first app. Submitted to apple for review since February 26, 2026 and still stuck in "Waiting for review" status. Is this timing normal? I've filled out support tickets and no response I can see either. Curious how app review and response timing is for others?
Replies
1
Boosts
0
Views
110
Activity
3w
Apps with expired provisioning profiles still running
We are using an app created with the Apple Developer Enterprise Program within our company. Every year, we recreate and distribute the app in conjunction with the renewal of the provisioning profile. Currently, there are cases where an app that expired in September 2025 is still running, which is causing problems. What could be the cause of this? The app operates on a VPN, but Apple domains are accessible.
Replies
0
Boosts
0
Views
753
Activity
4w
Best practice for centralizing SwiftData query logic and actions in an @Observable manager?
I'm building a SwiftUI app with SwiftData and want to centralize both query logic and related actions in a manager class. For example, let's say I have a reading app where I need to track the currently reading book across multiple views. What I want to achieve: @Observable class ReadingManager { let modelContext: ModelContext // Ideally, I'd love to do this: @Query(filter: #Predicate<Book> { $0.isCurrentlyReading }) var currentBooks: [Book] // ❌ But @Query doesn't work here var currentBook: Book? { currentBooks.first } func startReading(_ book: Book) { // Stop current book if any if let current = currentBook { current.isCurrentlyReading = false } book.isCurrentlyReading = true try? modelContext.save() } func stopReading() { currentBook?.isCurrentlyReading = false try? modelContext.save() } } // Then use it cleanly in any view: struct BookRow: View { @Environment(ReadingManager.self) var manager let book: Book var body: some View { Text(book.title) Button("Start Reading") { manager.startReading(book) } if manager.currentBook == book { Text("Currently Reading") } } } The problem is @Query only works in SwiftUI views. Without the manager, I'd need to duplicate the same query in every view just to call these common actions. Is there a recommended pattern for this? Or should I just accept query duplication across views as the intended SwiftUI/SwiftData approach?
Replies
3
Boosts
0
Views
592
Activity
3w
How to manually/offline install Claude Agent for Xcode?
Hi everyone, I'm working in a strictly offline (intranet) environment and cannot use the standard online installation process to download and install the Claude Agent for Xcode. What I've tried: I manually copied the Agent binary/folder from an online machine to the following path: ~/Library/Developer/Xcode/CodingAssistant/Agents/Versions/26.3/claude The Issue: Even though the files are in the correct directory, Xcode fails to recognize the agent. It doesn't appear in the settings, and the Coding Assistant remains unavailable. Questions: Is there a specific metadata file (e.g., a .plist or .json index) that needs to be updated for Xcode to "see" the manually added agent? Are there any code signing or quarantine issues (like xattr) that need to be addressed when moving the agent between machines? Does anyone know if there are other dependencies or cache folders (besides ~/Library/Developer/Xcode/CodingAssistant/) that need to be synchronized? Environment: macOS: 26.3 (25D122) Xcode: 26.3 (17C519) Any guidance on the manual registration process for these agents would be greatly appreciated. Thanks!
Replies
1
Boosts
0
Views
90
Activity
4w
StoreKit1:在 iOS 26.4 中[NSBundle mainBundle] appStoreReceiptURL 无法按预期工作
在iOS26.4中,新的交易完成后[NSBundle mainBundle] appStoreReceiptURL 获取的是历史票据,未给出新的票据
Replies
2
Boosts
5
Views
413
Activity
4w
Should I enroll in Apple Developer Program with Apple ID set to U.S. if I need Germany for tax purposes?
Hello everyone, I am looking for advice from anyone who has experience with Apple Developer account setup across countries. My Apple account is currently associated with the United States, but I live in Germany and would like my Apple Developer setup to be associated with Germany for tax and administrative reasons. At the moment, I have not enrolled yet in the Apple Developer Program, because I am hesitant to proceed while the account is still tied to the U.S. I want to avoid creating complications later around tax information, billing or account maintenance. My app is essentially ready, so I am trying to make the right decision before enrolling. I would really appreciate guidance on a few points: Has anyone enrolled first and then later changed the country association successfully? Is it better to update the Apple account to Germany before joining the Developer Program? For developers based in Germany, did Apple require anything specific for tax or identity verification? Would enrolling with the account still associated with the U.S. create problems later for App Store Connect, payments or tax forms? I contacted Apple Support on March 21st to clarify this, but I have not yet received a response, so I thought I would ask here in case others have gone through the same process. Any advice or shared experience would be very helpful. Thank you!
Replies
0
Boosts
0
Views
100
Activity
3w
Does Xcode 26.3's official MCP Server require Apple Silicon?
I'm trying to use Xcode 26.3's official MCP Server (xcrun mcpbridge) on an Intel Mac(15.7.4), but it crashes immediately. Run xcrun mcpbridge in Terminal: dyld[3809]: Symbol not found: _$s10AppSandbox17ASBBinaryIdentityC14teamIdentifierSSSgvg Referenced from: /Applications/Xcode.app/Contents/Developer/usr/bin/mcpbridge Expected in: /System/Library/PrivateFrameworks/AppSandbox.framework/Versions/A/AppSandbox [1] 3809 abort xcrun mcpbridge Observations The same command works on an Apple Silicon Mac (M1, macOS 26.3).
Replies
1
Boosts
0
Views
127
Activity
4w
422 error when submit TestFlight Beta Review
When I submit the app to TestFlight beta review I get the error show on UI. (I filled all filed info in Beta Infomation) There was an error processing your request. Please try again later I was inspected Safari to see the detailed error and I got the below error. Failed to load resource: the server responded with a status of 422 () and the detailed javascript error componentStack: undefined errorCode: undefined message: "API Response Error: TF_BETA_APP_REVIEW_RESPONSE" stackTrace: "status code: 422 --- api correlation key: NZEKCTWMNANXDZVTRD3V4GNE3U" Anyone can tell me the problem and how to fix it. Many Thanks.
Replies
30
Boosts
6
Views
24k
Activity
4w
Maps: opening hours API / Property
I’m currently developing an iOS app that relies heavily on location details. I'm using MapKit and MKMapItem as my primary data source, which works perfectly for standard metadata. However, I’ve hit a roadblock: I want to display opening hours inline within my location details, but it seems Apple doesn't expose a public API or property for this in MKMapItem (even though the data is clearly visible in the native Apple Maps app). Since I'm building this as an indie developer/startup, the Google Places API is unfortunately too expensive for my current budget. ⁠Is there any legitimate, native way to get opening hours from Apple that I might have missed? ⁠If not, what are your best practices or recommended indie-friendly alternatives (e.g., Yelp Fusion API, OpenStreetMap, Foursquare)? Any tips on how to handle this elegantly and cost-efficiently would be highly appreciated! Thanks in advance.
Replies
2
Boosts
0
Views
343
Activity
4w
isEligibleForAgeFeatures already returns true for non-sandbox user???
We made an update of one of our games with the Declared Age Range framework, and one of the users contacted us, asking how could he confirm his age to access the app's features. Meaning that isEligibleForAgeFeatures returned true on his device. According to documentation: Use isEligibleForAgeFeatures to determine whether associated laws or regulations may apply to your app based on the person’s location and account settings. This property returns true when your app needs to support Age Assurance for the current user. As far as we know, the laws are not applied anywhere yet. So, why did isEligibleForAgeFeatures return true?
Replies
1
Boosts
0
Views
98
Activity
3w
DSA Verification Stuck in Review for Over 10 Days
Hello, My DSA (Digital Services Act) verification in App Store Connect has been in review for over 10 days. I have already submitted all required documents, and I have not received any updates or requests for additional information. This is currently blocking my ability to update or manage my app. Has anyone experienced a similar delay? Is there anything I can do to speed up the process? Thank you.
Replies
0
Boosts
0
Views
43
Activity
4w
macOS 26.4 regression with Mac Catalyst apps using PhotoKit: Photos do not appear when using limited access - Failed to get sandbox extension for url - Image request failed with error PHPhotosErrorDomain Code 3303
I just submitted FB22318443. In Mac Catalyst apps running on macOS 26.4, if you choose to limit the app's access to specific photos (as opposed to granting full access), the photos do not appear in the app. 💀 This issue does not occur on iPadOS. It is a macOS 26.4 regression. It occurs even with apps built using a previous version of the SDK such as 26.2. A sample of the console logs: [RM]: 4-1-1 failed to decode for asset: 9290CC20-B85D-47B5-BDBE-D330FE61773D, error code: 3303, description: Error Domain=PHPhotosErrorDomain Code=3303 "(null)" Failed to get sandbox extension for url: file:///Users/Jordan/Pictures/Photos%20Library.photoslibrary/resources/derivatives/masters/9/9290CC20-B85D-47B5-BDBE-D330FE61773D_4_5005_c.jpeg, error: Error Domain=com.apple.photos.error Code=44001 "sandbox extension not in the cache after requesting them for path: /Users/Jordan/Pictures/Photos Library.photoslibrary/resources/derivatives/masters/9/9290CC20-B85D-47B5-BDBE-D330FE61773D_4_5005_c.jpeg" UserInfo={NSDebugDescription=sandbox extension not in the cache after requesting them for path: /Users/Jordan/Pictures/Photos Library.photoslibrary/resources/derivatives/masters/9/9290CC20-B85D-47B5-BDBE-D330FE61773D_4_5005_c.jpeg} [RM]: 1-1-1 Image request failed with error: Error Domain=PHPhotosErrorDomain Code=3303 "(null)"
Replies
0
Boosts
0
Views
329
Activity
4w
Test File attachments
Test File attachment README.txt
Replies
0
Boosts
0
Views
101
Activity
3w
Back gesture not disabled with navigationBarBackButtonHidden(true) when using .zoom transition
[Submitted as FB22226720] For a NavigationStack destination, applying .navigationBarBackButtonHidden(true) hides the back button and also disables the interactive left-edge back gesture when using the standard push navigation transition. However, when the destination uses .navigationTransition(.zoom), the back button is hidden but the left-edge back gesture is still available—it can still be dismissed even though back is intentionally suppressed. This creates inconsistent behavior between navigation transition styles. navigationBarBackButtonHidden(_:) works with a standard push transition, but not with .navigationTransition(.zoom). In the code below, .interactiveDismissDisabled(true) is also applied as another attempt to suppress the back-swipe gesture, but it has no effect. As a result, there’s currently no clean way to prevent back navigation when using the zoom transition. REPRO STEPS Create an iOS project then replace ContentView with code below, build and run. Leave nav type set to List Push. Open an item. Verify there is no back button, then try the left-edge back gesture. Return to the root view. Change nav type to Grid Zoom. Open an item. Verify there is no back button, then try the left-edge back gesture. ACTUAL In List Push mode, the left-edge back gesture is prevented. In Grid Zoom mode, the back button is hidden, but the left-edge back gesture still works and returns to the previous view. EXPECTED Behavior should be consistent across navigation transition styles. If this configuration is meant to suppress interactive backward navigation for a destination, it should also suppress the left-edge back gesture when using .navigationTransition(.zoom). SCREEN RECORDING SAMPLE CODE struct ContentView: View { private enum NavigationMode: String, CaseIterable { case listPush = "List Push" case gridZoom = "Grid Zoom" } @Namespace private var namespace @State private var navigationMode: NavigationMode = .listPush private let colors: [Color] = [.red, .blue] var body: some View { NavigationStack { VStack(spacing: 16) { Picker("Navigation Type", selection: $navigationMode) { ForEach(NavigationMode.allCases, id: \.self) { mode in Text(mode.rawValue).tag(mode) } } .pickerStyle(.segmented) if navigationMode == .gridZoom { HStack { ForEach(colors.indices, id: \.self) { index in NavigationLink(value: index) { VStack { RoundedRectangle(cornerRadius: 14) .fill(colors[index]) .frame(height: 120) Text("Grid Item \(index + 1)") .font(.subheadline.weight(.medium)) } .padding(12) .frame(maxWidth: .infinity) .background(.quaternary.opacity(0.25), in: RoundedRectangle(cornerRadius: 16)) .matchedTransitionSource(id: index, in: namespace) } .buttonStyle(.plain) } } } else { ForEach(colors.indices, id: \.self) { index in NavigationLink(value: index) { HStack { Circle() .fill(colors[index]) .frame(width: 24, height: 24) Text("List Item \(index + 1)") Spacer() Image(systemName: "chevron.right") .foregroundStyle(.secondary) } .padding() .background(.quaternary.opacity(0.25), in: RoundedRectangle(cornerRadius: 12)) } .buttonStyle(.plain) } } Spacer() } .padding(20) .navigationTitle("Prevent Back Swipe") .navigationSubtitle("Compare Grid Zoom vs List Push") .navigationDestination(for: Int.self) { index in if navigationMode == .gridZoom { DetailView(color: colors[index]) .navigationTransition(.zoom(sourceID: index, in: namespace)) } else { DetailView(color: colors[index]) } } } } } private struct DetailView: View { @Environment(\.dismiss) private var dismiss let color: Color var body: some View { ZStack { color.ignoresSafeArea() Text("Try left-edge swipe back") .font(.title.bold()) .multilineTextAlignment(.center) .padding(.horizontal, 24) } .navigationBarBackButtonHidden(true) .interactiveDismissDisabled(true) .toolbar { ToolbarItem(placement: .topBarTrailing) { Button("Close", action: dismiss.callAsFunction) } } } }
Replies
2
Boosts
0
Views
627
Activity
4w
iOS 27 SDK requirements: UIDesignRequiresCompatibility & UIRequiresFullScreen deprecation and enforcement timeline
Our iPadOS app is currently built with Xcode 26 / iOS 26 SDK. The app still contains some legacy code that prevents the UI from being fully compliant with the latest system constraints (e.g. resizable scenes and updated design system behaviors). We rely on: UIDesignRequiresCompatibility to preserve our existing UI while evaluating the new design system UIRequiresFullScreen to maintain a fixed layout not yet adapted to resizable scenes We are actively modernizing the app and planning our migration to iOS 27, and would like clarification on upcoming requirements. Will UIDesignRequiresCompatibility continue to be supported with the iOS 27 SDK, or will the new UI system become mandatory? Will UIRequiresFullScreen be ignored or cause App Store rejections when using the iOS 27 SDK? Will support for multitasking and UIScene become required for submission? Will there be a grace period to continue shipping updates with the iOS 26 SDK? When is the expected enforcement timeline for iOS 27 SDK adoption? Are there any exemptions for apps with fixed-layout requirements?
Replies
0
Boosts
0
Views
102
Activity
3w
Restoring most recent document at cold start in DocumentGroup iOS app?
I've tried everything I can to restore the most recent document at cold start in my DocumentGroup iOS app. Q1. I believe it's not possible, but I would be happy to be proven wrong? Q2. Why is this not possible? My users who only edit one document find it quite annoying to have to select it so frequently.
Replies
0
Boosts
0
Views
57
Activity
4w
Apps stuck in "Waiting for Review" for over a month – no response from support
Hello, I’m experiencing an unusual issue with App Store review and would appreciate any guidance. I currently have two apps in the review queue: • Tendre – submitted on February 4 • After Midnight – submitted on February 19 The first app has now been stuck in "Waiting for Review" for over a month, and the second one has also not progressed at all since submission. During this time: • I contacted Apple Developer Support multiple times • I submitted support requests (including escalation) • I requested an expedited review However, I have not received any meaningful response or update. What makes this concerning is that typical review times are usually much shorter (often within a few days), and there are no visible issues or rejections. This situation is currently blocking our release, and we are unable to move forward. As these are our first app releases, this delay is critical and is significantly affecting our planned launch. Could this be related to: • an account-level issue • a review queue problem • or something else on Apple’s side? If anyone from Apple or other developers has experienced something similar, I would really appreciate any insight or advice. Thank you in advance.
Replies
1
Boosts
0
Views
87
Activity
3w
Unable to Accept Apple Developer Invitation
I received an Apple Developer team invitation, but when I click the link, it redirects me to create an Apple ID. After filling details and clicking Continue, nothing happens and the button gets disabled. Has anyone faced this issue? Any workaround?
Replies
0
Boosts
0
Views
16
Activity
4w
NSPathControl Causing Disk I/O Reading NSURL Resource Values On the Main Thread
Sort of a continuation of - https://developer.apple.com/forums/thread/813641 I've made a great effort to get NSURL -getResourceValue:forKey: calls etc off the main thread. Great progress. So now I'm working with a file on a really slow network volume I discovered a little hang and luckily enough I'm attached to the debugger so I paused that thing. I see where I'm at. It is: NSPathControl's setURL:. It goes a little something like this: in realpath$DARWIN_EXTSN () +fileSystemRealPath () +[FSNode(SandboxChecks) canAccessURL:withAuditToken:operation:] () +FSNode(SandboxChecks) canReadFromSandboxWithAuditToken:] () LaunchServices::URLPropertyProvider::prepareLocalizedNameValue () LaunchServices::URLPropertyProvider::prepareValues () prepareValuesForBitmap () FSURLCopyResourcePropertiesForKeysInternal () CFURLCopyResourcePropertiesForKeys () -[NSURL resourceValuesForKeys:error:] () in function signature specialization <Arg[1] = Dead> of Foundation._NSFileManagerBridge.displayName(atPath: Swift.String) -> Swift.String () in displayName () -[NSPathCell _autoUpdateCellContents] () -[NSPathCell setURL:] () Could maybe, NSPathControl get the display name etc. asynchronously? and maybe just stick raw path components in as a placeholder while it is reading async? Or something like that? If I can preload the resource keys it needs I would but once the NSURL asks on the main main thread I think it will just dump the cache out, per the run loop rules.
Replies
4
Boosts
0
Views
336
Activity
3w