using Version 26.2 (17C52) I often get
"Trace file had no SwiftUI data"
why so?
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have two Macs, desktop and laptop. Since they both belong to me, they both sign in with the same Apple account. I find that if I sign and notarize an app on one, the other must be powered off. Otherwise, notarization will fail.
Is this intentional? If so, what is the rationale? Is there a way to fix or avoid it?
Both systems run macOS Tahoe with the latest updates. Both are set up the same way for signing using the same certificates. The build process is identical on each.
Topic:
Code Signing
SubTopic:
Notarization
My iOS app uses CloudKit key-value storage. I have not updated the app in a few years but it works fine. Since it was last updated, I transferred the app from an old organization to my personal developer account. Now that I'm working on the app again I get an error: Provisioning profile "iOS Team Provisioning Profile: com.company.app" doesn't match the entitlements file's value for the com.apple.developer.ubiquity-kvstore-identifier entitlement.
In the entitlement file, it has $(TeamIdentifierPrefix)$(CFBundleIdentifier) as the value for iCloud Key-Value Store. I've verified the variables resolve as expected. When I parse the provisioning profile there is no entitlement value for key-value storage. What am I getting wrong?
Hi there,
First thanks for all the work on BGContinuedProcessingTask! It looks really promising.
I have a question / issue around the behavior when a BGContinuedProcessingTask expires. Here is my setup.
I have an app who's responsible for uploading large files in the field (AKA wifi is not expected)
For a given file, it can likely fail due to network conditions
I'm using Multipart upload though so I can retry a file to pick up where it left off.
I use one taskIdentifier per file, and when the file fails, I can retry the task and have it continue where it left off (I am reusing the taskIdentifier here for retries, let me know if I shouldn't be doing that)
Here is the behavior I am seeing
I start an upload, it seems to be uploading normally
I turn on airplane mode to simulate expiration of the task
the task fails as expected after ~30 seconds, and I see the failure in my home screen.
I have callbacks in the task to put my app in the proper state on expiration / failure
I turn back on airplane mode and I retry the task, the way I do this is I do NOT re-register, I simply re-submit the task with the same TaskIdentifier.
What I would have expected is that the failure task is REPLACED with the new task and new progress. Instead what I see is TWO ContinuedBackgroundProcessingTasks, one in the failure state and one in progress.
My question is
How can I make retries reuse the same task notification item?
OR if that's not possible, how do I programmatically clear the task failure? I've tried cancelTask but that doesn't seem to clear it.
Using SwiftUI on macOS, how can I add a toolbar item on the right-most (trailing) edge of the window's toolbar when an Inspector is used?
At the moment, the toolbar items are all left-of (leading) the split view tracking separator. I want the inspector toolbar item to be placed similar to where Xcode's Inspector toolbar item is placed: always as far right (trailing) as possible.
NavigationSplitView {
// ... snip
} detail: {
// ... snip
}
.inspector(isPresented: $isInspectorPresented) {
InspectorContentView()
}
.toolbar {
// What is the correct placement value here?
ToolbarItem(placement: .primaryAction) {
Button {
isInspectorPresented.toggle()
} label: {
Label("Toggle Inspector", systemImage: "sidebar.trailing")
}
}
}
See the attached screenshot. When the InspectorView is toggled open, the toolbar item tracks leading the split view tracking separator, which is not consistent with how Xcode works.
How to change the image launch screen using story to show picture display in rotated view when ipad in portrait orientation ?
Current launch screen
-Image Portrait Orientation
-Image Landscape Orientation
-Info Setting
Expected launch screen as below (Not Working)
-Expected Launch Screen
I have uploaded the entire sample source here
I'm writing a simple app for iOS and I'd like to be able to do some text to speech in it. I have a basic audio manager class with a "speak" function:
import Foundation
import AVFoundation
class AudioManager {
static let shared = AudioManager()
var audioPlayer: AVAudioPlayer?
var isPlaying: Bool {
return audioPlayer?.isPlaying ?? false
}
var playbackPosition: TimeInterval = 0
func playSound(named name: String) {
guard let url = Bundle.main.url(forResource: name, withExtension: "mp3") else {
print("Sound file not found")
return
}
do {
if audioPlayer == nil || !isPlaying {
audioPlayer = try AVAudioPlayer(contentsOf: url)
audioPlayer?.currentTime = playbackPosition
audioPlayer?.prepareToPlay()
audioPlayer?.play()
} else {
print("Sound is already playing")
}
} catch {
print("Error playing sound: \(error.localizedDescription)")
}
}
func stopSound() {
if let player = audioPlayer {
playbackPosition = player.currentTime
player.stop()
}
}
func speak(text: String) {
let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: text)
utterance.voice = AVSpeechSynthesisVoice(language: "en-GB")
synthesizer.speak(utterance)
}
}
And my app shows text in a ScrollView:
ScrollView {
Text(self.description)
.padding()
.foregroundColor(.black)
.font(.headline)
.background(Color.gray.opacity(0))
}.onAppear {
AudioManager.shared.speak(text: self.description)
}
However, the text doesn't get read out (in the simulator). I see some output in the console:
Error fetching voices: Swift.DecodingError.dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "Invalid container metadata for _UnkeyedDecodingContainer, found keyedGraphEncodingNodeID", underlyingError: nil)). Using fallback voices.
I'm probably doing something wrong here, but not sure what.
Topic:
Media Technologies
SubTopic:
Audio
I want to use FileProvder to implement the function of recovering from the recycle bin (the cloud recycle bin does not move, and after the local recycle bin is restored, the upload event is triggered again), but testing shows that the current recovery from the recycle bin is through the modifyItem event, and the CreateItem event is not triggered again to upload locally restored files
Implement the deletion of undelivered files (dateless) without moving them to the recycle bin, which currently appears to be achieved by granting file. dash permission. But it is possible for the content of a file to be manually verified by the user. How can this be solved? How can we dynamically monitor whether a file is dataless
Thank you for your reply. Could you please help answer my question
We have a password entry field with a "show password" button. The button effectively turns the "secure text entry" textfield into a non-secure text entry field allowing the user to view what they typed in.
When VoiceOver is enabled, I am not including that button in the UI; it doesn't seem to make sense to me for the following reasons.
If you properly test with the screen curtain, the functionality is useless. You don't see anything. I've tried to explain this to my accessibility team. It's also quite ridiculous to offer to show a blind user their password, I'm sure they'd love to see it, but they just can't. This would almost seem insulting as well.
If by toggling that button, and turning a secure text entry into a non-secure text entry, now the app is literally speaking their password aloud. This seems like a security vulnerability to me. What if someone else overhears the password spoken aloud.
The accessibility team is insisting that I need to include the "show password" button when VoiceOver is enabled. This is the response I received.
"functionality should be the same for VI users as for sighted users. It may happen that a VI user wants to check what is typed into password field in order to correct mistakes".
Again, I don't agree with that because functionality should not be the same. Functionality should be changed and altered as necessary to make the user experience as accessible as possible.
And in this scenario, to me the functionality doesn't make sense at all in a VoiceOver setting.
Any thoughts on this? Am I incorrect here? Are there benefits of including a "show password" button to a user utilizing VoiceOver? What should then the functionality be? Speak the password aloud?
Thanks.
Subject: Unexpected system confirmation dialog when opening a Universal Link
Description of the issue:
We’re implementing a login flow using Native iOS apps, Universal Links, and OpenID Connect authentication. Our domain is correctly configured with the apple-app-site-association file, and Universal Links work as expected.
However, under certain circumstances, the behavior differs on the same login page:
The user connects to the OIDC provider in their mobile browser.
Instead of automatically switching to the Native application, a popup asks the user to open the app.
The behavior depends on how the login page is opened:
When opened in a new browser tab, the Universal Link opens the app immediately without showing any system confirmation dialog.
When the same tab is reused without a page refresh, iOS displays a system confirmation dialog asking the user to open the link in the app. This confirmation dialog doesn’t appear in the first scenario.
This additional system dialog impacts the user experience, as we aim for a frictionless and seamless login flow with minimal confirmation steps.
Question: Why does the app switch work automatically only the first time?
Is this intentional iOS behavior? If so, what security requirement or system rule causes a confirmation dialog when reusing the same tab, but not when redirecting in a new tab or pressing a button on the reused tab? Is this expected design, or should we adjust our side to avoid this dialog?
Environment details:
Verified on two devices
iOS versions: 18.7.2, 26.1
Thanks for your help.
Hey all, I recently updated to Xcode 26.2 and I'm having the hardest time trying to download the corresponding iOS simulator. I installed Xcode from developer downloads and the app did not come loaded with an iOS simulator. When trying to download from Components in Settings, I only get the following message:
Download failed due to a bad URL. (Catalog download for com.apple.MobileAsset.iOSSimulatorRuntime)
Domain: com.apple.MobileAssetError.Download
Code: 49
User Info: {
checkConfiguration = 1;
}
I also tried downloading via Terminal but also get a download failed message. I am on the latest macOS and have over 600 GB of disk space available. In previous versions, I was able to download the iOS simulator directly from Developer Downloads, but anything after 26 is not there. Any suggestions?
Hi,
I’m encountering an issue in my app’s Wallet Extension, specifically within the Non-UI Extension, where we are unable to retrieve payment passes bound to a user’s account. The same code that successfully retrieves these bound cards in the main app does not work when used in the Non-UI Extension.
Case-ID: 8932090
Steps to Reproduce:
Set up In-App Provisioning:
Ensure that the app has the necessary In-App Provisioning permissions. This functionality works correctly in the main app, confirming that the permissions are properly configured.
Configure Wallet Extensions:
Follow the Wallet Extensions documentation to configure the app, including all required settings for the Non-UI Extension.
Add Code to Retrieve Payment Passes:
In the main app’s LoginView, implement the following code in the handleLogin() method to retrieve payment passes:
// Get the identifiers of payment passes that already exist in Apple Pay.
paymentPassLibrary = self.passLibrary.passes(of: .secureElement)
for pass in paymentPassLibrary {
if let identifier = pass.secureElementPass?.primaryAccountIdentifier {
if pass.isRemotePass && pass.deviceName.localizedCaseInsensitiveContains("Apple Watch") {
remotePassIdentifiers.insert(identifier)
} else if !pass.isRemotePass {
passIdentifiers.insert(identifier)
}
}
}
Verify Functionality in Main App:
Run the app and verify that the code successfully retrieves the payment passes bound to the user’s account.
Implement Code in Non-UI Extension:
Add the same code to the Non-UI Extension, specifically in the WNonUIExtHandler class within the override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) method.
Test in Wallet Extension:
Run the Wallet Extension and observe that the payment passes are not retrieved when the code is executed in the Non-UI Extension.
Has anyone encountered a similar issue or can provide insight into why the code might not work in the Non-UI Extension compared to the main app?
Support Information:
iOS Version: 17.5.1
Development environment: Xcode 15.4 (15F31d), macOS 14.3 (23D56)
Any help or suggestions would be greatly appreciated. Thank you!
After pushing to a branch which is automatically configured to build and distribute on TestFlight, I found no way to log on and check Xcode cloud builds and nothing being pushed to that branch was building or showing up elsewhere in App Store Connect.
I'm getting reports that my application is creating hidden files with names starting with .f and having 9 or 10 numbers after that. For example:
.f678501541
.f1858565508
AFAIK I don't create any files with names like that!
So how to determine a) if I am creating those files and b) exactly where in my code this is happening?
Unless of course someone knows what creates files like this...
Thanks, David
Topic:
Community
SubTopic:
Apple Developers
Hi everyone,
I'm currently working on a Swift Playgrounds project where I need to incorporate a Metal shader file. However, when I tried to include my shader file (PincushionShader.metal), I encountered the following error:
Is it possible to use Metal shader files within Swift Playgrounds, it is really important for my swift student challenge scene? If not, are there any workarounds or recommended approaches for testing Metal shaders in a similar environment?
Any guidance or suggestions would be greatly appreciated!
Topic:
Community
SubTopic:
Swift Student Challenge
Tags:
Swift Student Challenge
Metal
Swift Playground
Playground Support
To whoever is bothered enough to help (trust me, I get the feeling if you're not), I want to enter the swift student challenge either this year or next year, depending on how things play out.
Anyway, I just wanted to know two things: 1) how long on average it takes to build a project which won distinguished winner and 2) whether any distinguished winners could send me the playgrounds they built.
To be clear, I do not want the code, I just want to know what you did, what you called the playground, a list of some features it had, how long it took, just to help me prepare, because YouTube doesn't have much of that.
Thanks :)
Hi Apple Developer Support Team,
I placed a membership order on 12/27/2025 — Order #W1642892477 — and I’m running into two issues:
Possible duplicate charges
I was first charged on the card ending **73, but the site then indicated the charge did not go through. However, I can see the deduction on my card.
I then tried again using my second card ending **53, and I also see a deduction there.
Please confirm whether both charges actually captured or if one is only a pending authorization. If both captured, please refund the duplicate charge.
Membership still shows “Pending”
Even though payment appears successful, when I log in my membership status still shows Pending. I also have not received any approval/activation/confirmation email.
Could you please:
Confirm the payment status for Order W1642892477 (including both cards),
Activate my membership, and
Let me know how long activation normally takes and whether there’s any action needed from my side?
Thank you,
Raymond.
We have an application which is written in Swift, which activates Transparent Proxy network extension. Our Transparent Proxy module is a system extension, which is exposing an app proxy provider interface (We are using NETransparentProxyProvider class and in extension’s Info.plist we use com.apple.networkextension.app-proxy key.)
Sometimes we have observed that on starting the transparent proxy extension, the startProxy overridden delegate method(override func startProxy(options: [String : Any]?, completionHandler: @escaping (Error?) -> Void) {) in our AppProxyProvider class which is derived from NETransparentProxyProvider being called more than once for the same extension(pid). This leads to Over-resume of an object crash as we invoke setTunnelNetworkSettings inside the startProxy delegate.
As this is controlled by the system, we are not sure why this delegate being called more than once sometimes even if we call the start TransparentProxy only once.
Note that, this issue is seen only in Mac OS Tahoe.
Apple Feedback ticket: FB21464147 (startProxy delegate for NETransparentProxyProvider class is being called twice for the same pid extension sometimes)
Our team is in the process of updating our apps to comply with Texas's new state law.
In order to minimize user confusion and provide the most ideal flow to access the app as possible, we have a few questions we would like answered.
Summary of questions:
Is isEligibleForAgeFeatures intended to be accurate and accessible before the user has accepted the Age Range permissions prompt?
As other US states and/or other countries adopt a similar law going forward, will this instance variable cover those locations?
Will the runtime crashes on isEligibleForAgeFeatures and other symbols in the DeclaredAgeRange framework be addressed in a future RC or in the official release?
Details and Investigations:
With regards to isEligibleForAgeFeatures, our team has noticed that this value is always false before the age range prompt has been accepted. This has been tested on the XCode RC 26.2 (17C48).
Assuming the request needs to be accepted first,
isEligibleForAgeFeatures does not get updated immediately when the user chooses to share their age range (updated to true, when our sandbox test account is a Texas resident). Only upon subsequent relaunches of the app does this return a value that reflects the sandbox user's location. Is isEligibleForAgeFeatures intended to be accurate and accessible before the user has accepted the Age Range permissions prompt?
This leads to our follow-up question to clarify whether isEligibleForAgeFeatures explicitly correlates to a user in an affected legal jurisdiction–if future US states and/or other countries adopt a similar law going forward, will this instance variable cover those locations?
Can we also get confirmation about whether the runtime crash on isEligibleForAgeFeatures and other symbols in the DeclaredAgeRange framework will be addressed in a future RC or in the official release?
Thank you.
I submitted a new app in the morning of December 30th, last year. A reviewer picked it up 2 days ago and then rejected it by saying that the Send button remains disabled. Of course, it remains disabled because the user is supposed to select a message out of 300 of them.
The app comes with a how-to-use guide, which states that you need to select a message by tapping the Select button. Now, the reviewer is MIA. I don't necessarily blame the reviewer for not having read the user guide thoroughly. But I wonder why they don't just ask instead of jumping to a conclusion? They often reject the app for simple reasons these days. And they are often wrong. I understand that everybody makes a mistake. But they are wrong 4 out of 5 times. Last year, a reviewer rejected the app by saying that the user is not able to ask a question at the support site when in fact it was just the matter of scrolling down further. This is the type of reasons I strongly suggest they ask instead of jumping to a conclusion and then rejecting the app. It's quite difficult for me to make plans while dealing with reviewers if they are this sloppy.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review