Overview

Post

Replies

Boosts

Views

Activity

On macOS, app's Settings model is not deallocated even after closing Settings window
Problem On the macOS when Settings view is closed, the @State model is not deallocated Feedback FB21393010 Environment macOS: 26.2 (25C56) Xcode: 26.2 (17C52) Steps to reproduce Run the project Open app's 'Settings Look at the console logs When model is created SettingsModel - init gets printed When Settings window is closed SettingsModel - deinit is not printed, meaning it is not deallocated Code SettingsModel import SwiftUI @Observable class SettingsModel { init() { print("SettingsModel - init") } deinit { print("SettingsModel - deinit") } } SettingsView import SwiftUI struct SettingsView: View { @State var model = SettingsModel() var body: some View { Text("Settings") .font(.largeTitle) .padding(200) } } App import SwiftUI @main struct SettingsBugApp: App { var body: some Scene { WindowGroup { ContentView() } Settings { SettingsView() } } }
Topic: UI Frameworks SubTopic: SwiftUI
0
0
79
3w
Xcode Cloud: Preparing build for App Store Connect failed
Error: Preparing build for App Store Connect failed No error logs in log view. Download the archive and try to submit to App Store: Detailed logs: 2025-12-17 07:26:00 +0000 [MT] Command line name "app-store" is deprecated. Use "app-store-connect" instead. 2025-12-17 07:26:00 +0000 App Store Connect request for store configuration failed for account Session Proxy Provider (Account "Session Proxy Provider": Unable to authenticate with App Store Connect (Error Domain=DVTITunesSoftwareServiceFoundation.DVTServicesSessionProviderCredentialITunesAuthenticationContextError Code=1 "(null)")) 2025-12-17 07:26:00 +0000 App Store Connect response failed with unknown failure for credential <DVTFoundation.DVTServicesSessionProviderCredential: 0x600002e099c0>; response (null); error (null). 2025-12-17 07:26:00 +0000 App Store Connect request for store configuration for credential <DVTFoundation.DVTServicesSessionProviderCredential: 0x600002e099c0>; configuration: (null); error DVTITunesSoftwareServiceFoundation.DVTServicesSessionProviderCredentialITunesAuthenticationContextError.proxy 2025-12-17 07:26:00 +0000 [MT] Failed to find an account with App Store Connect access for team <IDEProvisioningBasicTeam: 0x6000029c0240; teamID='984L9QX9X5', teamName='(null)'> 2025-12-17 07:26:00 +0000 [MT] Running step: IDEDistributionFetchAppRecordStep with <IDEDistributionContext: 0x7fa62b216680; archive(resolved)="<IDEArchive: 0x600000315ea0>", distributionTask(resolved)="2", distributionDestination(resolved)="1", distributionMethod(resolved)="<IDEDistributionMethodiOSAppStoreDistribution: 0x600002a1f560>", team(resolved)="<IDEProvisioningBasicTeam: 0x6000029c0240; teamID='984L9QX9X5', teamName='(null)'>">
1
0
173
3w
How to retrieve the refund status of an order via API?
Hi everyone. I'm trying to use https://developer.apple.com/documentation/appstoreserverapi/get-transaction-info to retrieve order information. How can I get the refund status of an order through this API? Also, Apple's webhook notification for refunds includes fields like revocationReason and revocationType. Can these be retrieved through the API? I've noticed that some refund orders have these fields when retrieved using get-transaction-info api, but others don't. I don't know the reason for these differences. Could you please explain? Thank you very much.
0
0
95
3w
App Crash in GameController when accessing GCKeyboard.coalesced on iPad
We are developing a hybrid iOS app where Angular content is rendered inside a WKWebView, hosted by a native Swift application. We use the GameController framework to detect whether an external Bluetooth keyboard is connected to an iPad. The following code is executed when the app enters the foreground and also when requested by the web layer: func keyboardStatusHandler(){ let isKeyboardConnected = GCKeyboard.coalesced != nil if(!isKeyboardConnected){ //sent status to Angular } else { //sent status to Angular } } Crash details We are seeing intermittent crashes on iPad with the following stack trace: Crashed: GCDeviceSession.HID 0 libobjc.A.dylib 0x7db8 objc_retain_x8 + 16 1 libsystem_blocks.dylib 0xfb8 void HelperBase<ExtendedInline>::copyCapture<(HelperBase<ExtendedInline>::BlockCaptureKind)3>(unsigned int) + 48 2 libsystem_blocks.dylib 0xbc4 HelperBase<GenericInline>::copyBlock(Block_layout*, Block_layout*) + 108 3 libsystem_blocks.dylib 0xc94 _call_copy_helpers_excp + 60 4 libsystem_blocks.dylib 0xef8 _Block_copy + 412 5 libdispatch.dylib 0x1a70 _dispatch_Block_copy + 32 6 libdispatch.dylib 0x792c dispatch_async + 56 7 libdispatch.dylib 0x792c dispatch_channel_async + 56 8 GameController 0xea6dc -[GCKeyboardInput _handleKeyboardEvent:] + 324 9 GameController 0x22508 __53-[_GCKeyboardEventHIDAdapter initWithSource:service:]_block_invoke + 376 10 GameController 0x11d30 -[_GCHIDEventSubject publishHIDEvent:] + 268 11 GameController 0xb79cc __40-[_GCHIDEventUIKitClient initWithQueue:]_block_invoke_3 + 44 12 libdispatch.dylib 0x1b584 _dispatch_client_callout + 16 13 libdispatch.dylib 0x12088 _dispatch_async_and_wait_invoke_and_complete_recurse + 272 14 libdispatch.dylib 0x8448 _dispatch_async_and_wait_f + 108 15 GameController 0xb7984 __40-[_GCHIDEventUIKitClient initWithQueue:]_block_invoke_2 + 132 16 GameController 0xb746c __48-[__GCHIDEventUIKitClient _initWithApplication:]_block_invoke + 256 17 UIKitCore 0x11fd394 __61-[UIEventFetcher _setHIDGameControllerEventObserver:onQueue:]_block_invoke_3 + 40 18 libdispatch.dylib 0x1aac _dispatch_call_block_and_release + 32 19 libdispatch.dylib 0x1b584 _dispatch_client_callout + 16 20 libdispatch.dylib 0xa2d0 _dispatch_lane_serial_drain + 740 21 libdispatch.dylib 0xadac _dispatch_lane_invoke + 388 22 libdispatch.dylib 0x151dc _dispatch_root_queue_drain_deferred_wlh + 292 23 libdispatch.dylib 0x14a60 _dispatch_workloop_worker_thread + 540 24 libsystem_pthread.dylib 0xa0c _pthread_wqthread + 292 25 libsystem_pthread.dylib 0xaac start_wqthread + 8 Observed scenarios Crash occurs when the app transitions from background to foreground Crash also occurs when the Angular layer requests keyboard status, triggering the same code path Questions Has anyone encountered crashes related to GCKeyboard.coalesced or GCKeyboardInput like this? Are there known issues with the GameController framework when querying keyboard state during app lifecycle transitions? Is there a recommended or safer way to detect external keyboard connection status on iPad (especially when using WKWebView)? Any insights, known platform issues, or suggested workarounds would be greatly appreciated. Thanks!
7
0
343
3w
Xcode Cloud - "What to test" contents does not show up in TestFlight
I'm using Xcode cloud to create testflight builds, and I noticed that a few weeks ago these builds no longer contain any "What to Test" info. We include a TestFlight/WhatToTest.de-DE.txt file in our repo, and that file seems to be picked up correctly, at least the logs say Saving “What to test” notes Found notes for de-DE Any ideas of what I should be looking into or change?
1
0
57
3w
Missing Documentation for Email Based One-Time Codes
The One-time codes documentation details how to enable autofill for SMS based codes. However, there is no details about how to correctly implement autofill for email based codes. I am observing the email based autofill works inconsistently when using email based OTC. In my application: There is latency of 10-15 seconds from when the email arrives to when it is available for autofill. After the autofill feature is used, the OTC email is not being deleted from the inbox automatically. Without documentation, it's unclear to me what I might be doing wrong that is causing these side effects. I found an ietf proposal for how autofill with email based codes might work, but it’s unclear if this is how Apple has implemented the feature: https://www.ietf.org/archive/id/draft-wells-origin-bound-one-time-codes-00.html#name-email Existing docs for Autofill using SMS: https://developer.apple.com/documentation/security/enabling-autofill-for-domain-bound-sms-codes
0
0
46
3w
App rejected, In-app lost, won't review again because in-app missing
Hi, at first I submitted an app where you asked for a way to review everything while you mentioned a demo mode would be fine. I added a demo mode and submitted the app together with in-app purchases. Now you are asking for an actual API token for an external service which I cannot provide. I responded with the info about the demo mode. The next review was rejected because the in-app purchases are kind of lost. I cannot map them. Next re-submit was rejected because the in-app purchases are missing. The in-app purchases are stuck in a waiting status. Please do whatever you need to do to either release the in-app and let me map them again or map them yourself. Regards, Vitali
0
0
47
3w
Data gaps on App Store Analytics API reports
Hey all, It's been now a few weeks since we started to help clients connect to their App Store Analytics API. I'm starting to notice that very often we'll see things like: Small data gaps. Eg. I have data on June 1, no data on June 2-4, and then data from June 5 to now Big data gaps. Eg. I'd have data on Jan 2024, but not on Feb-Mar 2024, then there's data again from April 2024 onwards. The actual files from Apple are like that we're not doing any treatments whatsoever. That's happening on both ONGOING and ONE_TIME_SNAPSHOT I also opened a Customer Support case and sent the files over 10 days ago, but no definitive answer so far. Are you also seeing gaps like this on your data? Any tips/recommendations?
4
0
1.3k
3w
Gitlab CI: Unable to find a device matching the provided destination specifier
Gitlab runner on M4 Mac Mini 2024, XCode 26.2, supported platforms: iOS, native UIKit swift project. Cocoapods. Trying to run tests via fastlane: run_tests(workspace: 'Project.xcworkspace', destination: "platform=macOS,id=#{deviceId}", scheme: "Release", clean: true) And having an error: $ xcodebuild -showBuildSettings -workspace Project.xcworkspace -scheme Release -destination platform\=macOS,id\=01234567-0123456789B9001C 2>&1 [12:23:53]: Could not read the "SUPPORTED_PLATFORMS" build setting, assuming that the project supports iOS only. [12:23:54]: Found simulator "iPhone 16 Pro (18.5)" The tests runs just fine in xcode on "My Mac (Designed for iPad)" device on the very same machine. Compared the output of xcodebuild -showdestinations in terminal: $ xcodebuild -showdestinations -workspace Project.xcworkspace -scheme Release Available destinations for the "Release" scheme: { platform:macOS, arch:arm64, variant:Designed for [iPad,iPhone], id:01234567-0123456789B9001C, name:My Mac } { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device } { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device } { platform:iOS Simulator, arch:arm64, id:A7E98A79-B29B-4E9A-8103-ECBA55ABC0C6, OS:26.2, name:iPhone 17 Pro } But when I launch this command in gitlab runner, I get this: Available destinations for the "Release" scheme: { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device } { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device } { platform:iOS Simulator, arch:arm64, id:A7E98A79-B29B-4E9A-8103-ECBA55ABC0C6, OS:26.2, name:iPhone 17 Pro } I suspect gitlab runner to ruin some ENV variable, probably. So I googled the most common issues on the internet and tried everything I found: LANG: "en_US.UTF-8" LC_ALL: "en_US.UTF-8" unset CFProcessPath And none is worked. I also compared the printenv output in terminal and gitlab runner, didn't found anything suspicious. Ran out of ideas. How can I troubleshoot this?
1
0
80
3w
Guideline 3.1.5 - Business - Payments - Cryptocurrencies
Hello everyone, We’ve been trying to resolve an App Review issue for almost a month now and would really appreciate advice from anyone who has gone through a similar process. We are a legally regulated financial institution with licenses in multiple jurisdictions. Our app includes crypto exchange–related functionality. To comply with Apple’s requirements, we have: Limited App Store availability strictly to countries covered by our licenses Prepared a detailed licensing document for every review cycle Provided a country-by-country breakdown explaining under which license we are allowed to provide services Included official registry links and screenshots from regulators’ registers Attached this document to every App Review submission Despite this, we repeatedly receive the same response from Apple: “Your exchange app has not been submitted by a corresponding exchange or recognized financial institution or you have not demonstrated you are partnered with an exchange with supporting evidence of permissions, registrations, and/or licenses to offer exchange services.” “The storefronts you selected include locations where you or your service providers have not provided supporting evidence of permissions, registrations, and/or licenses.” The main challenge is that Apple does not specify: Which exact jurisdiction is problematic Which license is considered insufficient Whether the issue is with our status as a financial institution vs. being a “recognized exchange” Or whether additional corporate or constitutional documents are expected (e.g. articles of incorporation, regulatory approvals, partnership agreements, etc.) At this point, we’re unsure how Apple expects licensing evidence to be presented in a way that can actually be reviewed and approved. Questions to the community: Has anyone successfully passed review for a crypto exchange app as a regulated financial institution? Are there specific documents Apple expects beyond licenses and registry confirmations? Is there a known best practice for structuring licensing evidence for App Review? Any guidance or shared experience would be extremely helpful.
1
0
71
3w
iOS 26 Beta Personal Voice bug affecting AVSpeechSynthesizer
I have sent in a feedback report (FB18222398) but I have no idea if anyone has looked at it. I know from past experiences that Apple devs do look at these forums. This applies to each of the betas, 1, 2 and 3. I have created a new Personal Voice with each beta. I create a personal voice in English. When it's done processing, I tap Preview and it says in English what is expected. But after some time, an hour or a day, the language of the voice file changes languages and no longer works properly. If I press Preview it is no longer intelligible. I have a text to speech app and initially the created voice works but then when the language of the file changes, it no longer works. I have run an app on my iphone through Xcode that prints to the console the voices installed on the device with the language. Currently this is the voice file: Voice Identifier: com.apple.speech.personalvoice.AAA9C6F2-9125-475F-BA2F-22C63274991D Language: es-MX and on a second device the same personal voice is in a different language: Voice Identifier: com.apple.speech.personalvoice.AAA9C6F2-9125-475F-BA2F-22C63274991D Language: zh-CN Although, a previous personal voice file that listed as Spanish-Mexican played in English with a Spanish accent or when playing Spanish text, it sounded almost perfect. This current personal voice doesn't do that, and is unintelligible. Previous attempts have converted to Chinese. I hope someone can look into this.
2
0
466
3w
(Xcode 26.0 → 26.2) Constant UI flickering in split view mode
Hello, I’ve been experiencing a persistent issue in Xcode since version 26.0, and it is still present in 26.2. When using the split view to display two files side by side, the area in the top‑right corner of the window (the inspector / options panel) starts flickering continuously. This happens regardless of whether I’m using the light or dark theme, and even with the Liquid Glass effect disabled in macOS settings. None of these changes have any impact on the issue. I have already submitted a bug report through Xcode (Feedback Assistant), but the issue is still present as of today. The flickering makes the interface difficult to use and visually very distracting. I’ve attached a video to clearly show the issue. I will review the attachment at the time I publish this post. Thanks in advance for any help or feedback. Video 1 https://www.icloud.com/iclouddrive/077l-R7Ybvxz89NI-B7DliEuA#xcode_bug1 Video 2 https://www.icloud.com/iclouddrive/0f6bJp48ioGRdkYiA2U4sI-cg#xcode-bug2
2
0
126
3w
ScrollView + LazyVStack + dynamic height views cause scroll glitches on iOS 26
I’m seeing unexpected scroll behavior when embedding a LazyVStack with dynamically sized views inside a ScrollView. Everything works fine when the item height is fixed (e.g. colored squares), but when I switch to text views with variable height, the scroll position jumps and glitches—especially when the keyboard appears or disappears. This only happens on iOS 26, it works fine on iOS 18. Working version struct Model: Identifiable { let id = UUID() } struct ModernScrollView: View { @State private var models: [Model] = [] @State private var scrollPositionID: String? @State private var text: String = "" @FocusState private var isFocused // MARK: - View var body: some View { scrollView .safeAreaInset(edge: .bottom) { controls } .task { reset() } } // MARK: - Subviews private var scrollView: some View { ScrollView { LazyVStack { ForEach(models) { model in SquareView(color: Color(from: model.id)) .id(model.id.uuidString) } } .scrollTargetLayout() } .scrollPosition(id: $scrollPositionID) .scrollDismissesKeyboard(.interactively) .defaultScrollAnchor(.bottom) .onTapGesture { isFocused = false } } private var controls: some View { VStack { HStack { Button("Add to top") { models.insert(contentsOf: makeModels(3), at: 0) } Button("Add to bottom") { models.append(contentsOf: makeModels(3)) } Button("Reset") { reset() } } HStack { Button { scrollPositionID = models.first?.id.uuidString } label: { Image(systemName: "arrow.up") } Button { scrollPositionID = models.last?.id.uuidString } label: { Image(systemName: "arrow.down") } } TextField("Input", text: $text) .padding() .background(.ultraThinMaterial, in: .capsule) .focused($isFocused) .padding(.horizontal) } .padding(.vertical) .buttonStyle(.bordered) .background(.regularMaterial) } // MARK: - Private private func makeModels(_ count: Int) -> [Model] { (0..<count).map { _ in Model() } } private func reset() { models = makeModels(3) } } // MARK: - Color+UUID private extension Color { init(from uuid: UUID) { let hash = uuid.uuidString.hashValue let r = Double((hash & 0xFF0000) >> 16) / 255.0 let g = Double((hash & 0x00FF00) >> 8) / 255.0 let b = Double(hash & 0x0000FF) / 255.0 self.init(red: abs(r), green: abs(g), blue: abs(b)) } } Not working version When I replace the square view with a text view that generates random multiline text: struct Model: Identifiable { let id = UUID() let text = generateRandomText(range: 1...5) // MARK: - Utils private static func generateRandomText(range: ClosedRange<Int>) -> String { var result = "" for _ in 0..<Int.random(in: range) { if let sentence = sentences.randomElement() { result += sentence } } return result.trimmingCharacters(in: .whitespaces) } private static let sentences = [ "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." ] } and use it like this: ForEach(models) { model in Text(model.text) .padding() .multilineTextAlignment(.leading) .background(Color(from: model.id)) .id(model.id.uuidString) } Then on iOS 26, opening the keyboard makes the scroll position jump unpredictably. It is more visible if you play with the app, but I could not upload a video here. Environment Xcode 26.0.1 - Simulators and devices on iOS 26.0 - 18.0 Questions Is there any known change in ScrollView / scrollPosition(id:) behavior on iOS 26 related to dynamic height content? Am I missing something in the layout setup that makes this layout unstable with variable-height cells? Is there a workaround or recommended approach for keeping scroll position stable when keyboard appears?
7
0
387
3w
Pinning a pushed window to a wall breaks pushWindow for all other apps on the system
I posted https://developer.apple.com/forums/thread/809481 yesterday about an issue I discovered with pushWindow in visionOS 26.2 RC, but today I discovered a second problem with pushWindow. If window A calls pushWindow to present window B, and the user pins window B to a wall, the following unexpected behaviors are observed: Window B spontaneously disappears. If the user re-launches the (still running) app from the visionOS home view, both window A and window B appear simultaneously. I assume only window B should be visible at this point, since window A pushed window B. If the user closes window B, it's now impossible to present window B again. Calls to pushWindow appear to be ignored. If the user force-quits the app and relaunches it, and pushWindow is called again, window B appears, but window A remains visible. I also noticed this surprising behavior: This broken state of pushWindow behavior now affects all other apps on the system that may call pushWindow in the future, not just the app whose pushed window was pinned above. A workaround is to reboot the device, and then the system will behave as expected until the next time the user pins a pushed window.
2
0
303
3w