I know this post isn't going to give a lot of details, but what I experienced tonight was so completely weird that I wanted to get it posted here in case others run into it:
FIRST: All was well until I made a trivial change to a large Objective-C++ module. I suddenly got the idea to look at that line in the code review pane, to see if that area of code had ever had recent modifications.
But, the entire module showed up as modified -- one giant change bar, with nothing on the right side of the code review pane, no matter what commit I selected.
Then I noticed that the two lines of code which had all of 4 characters edited were no longer showing any change bars.
Yet, the file showed up as "modified". Still, the exact line changes were not showing in the source code navigator, even though other files showed their changes.
Note I'm connected to our remote repo on github. I did some command line git checks of the local repo, and the changes were there (as yet unstaged).
So -- I figured, I'm gonna ask the Apple Coding Assistant what's up. And it gave some fantastic advice, especially on how to confirm the changes really were in the repo ready to stage and commit and push. Which I did.
But despite following a couple hours of wonderful suggestions, I could never get the change bars back -- for this one specific file!
(yes, the file was in the repo, and in the project -- everything seemed OK with the file itself -- nothing had changed in the project, which compiled and ran perfectly with my changes).
SECOND -- suddenly, the AI assistant seemed to crash Xcode.
When I went to re-run Xcode, it just crashed exactly the same. The crash log indicated "Xcode is crashing inside the IDEIntelligenceChat plugin while it’s trying to “apply changes” to a Source Editor buffer".
Ultimately, I needed to restart Xcode holding down the SHIFT key. I could open other projects, but not the one I had been working on.
So I turned OFF apple Intelligence (thanks, ChatGPT). That allowed me to launch.
It sounds like some sort of corrupt Apple Intelligence chat logs and/or caches, which ChatGPT has given me extensive suggestions for deleting. I don't have the energy to attack that tonight -- I did an additional Time Machine backup and hope to take a closer look tomorrow.
Ideally -- I'd rather NOT lose all my on-going coding assistant chats for this project -- I had some ongoing suggestions I was working on.
But more concerning is the weirdness with changebars affecting this one 7,000 line .mm file. It doesn't seem like there's anything that should affect those change bars for ONE FILE that is in the repo and where changes can be seen from a git diff command line operation.
If it's a bug -- I can live with it. But it's worrisome.
Other than that, Xcode 26.2 has been running great! Unlike 26.1, which insisted on re-compiling all 600 files in my project every time I ran/debugged, 26.2 just does the 2-6 modified files -- a perfect incremental compile. I've saved HOURS of wasted unnecessary compilation since 26.2 was released.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I'm making an operator Publisher, which has to wrap the upstream publisher. But I want the operator to conditionally conform to ConnectablePublisher, but only when the upstream publisher does the same.
I can make my connect() call the upstream's connect(), but is that all I have to do? That Apple's plumbing will automatically hold back the initial call to the Subscription object if the publisher is connectable. Otherwise, I need to make a flag in the subscription for when to connect, which would involve an infinitely copyable struct somehow send a message to a unique class/actor.
That last part makes sense to me, but it also seems like too much work for something plug-and-play. Having Apple's implementation taking care of that issue also makes sense, and would be a better solution.
I've been rejected multiple times for App Tracking Transparency issues, but I'm stuck due to an App Store Connect bug.
ISSUE:
When I try to edit "Advertising Data" in App Privacy settings to uncheck "Used for tracking purposes," I get an error: "An error has occurred. Try again later."
This has persisted for 2 weeks across multiple browsers and devices.
MY SITUATION:
My app uses AdMob for rewarded video ads (users watch ads to earn in-game currency)
I do NOT want to track users across apps/websites
I want to declare: "Advertising Data: Used for Third-Party Advertising" (NOT for tracking)
But I cannot save these privacy setting changes due to the App Store Connect error.
Apple Review keeps rejecting my app saying to "update privacy settings," but their system won't let me.
QUESTIONS:
Is there a workaround for this App Store Connect bug?
Can Apple manually update my privacy settings?
Any help appreciated. I've been stuck for 2 weeks.
I am preparing for Swift Student Challenge, but it seems like the iPad Playground app still not support the latest SDK.
I can't use frameworks like FoundationModel, etc., directly in playground app
My playground for this year would require iPad environment since it uses PencilKit, ARKit, etc., and I also want to use the latest tech + the liquid glass UI
Right now, I develop the project as a normal Xcode project, and I am wondering how do I post it?
As Xcode playground, it must run on macOS
As Swift Playground project, the iPad version of Playground does not support latest APIs and it can't compile
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Tags:
Swift Student Challenge
Education
Playground Support
For whatever reason SwiftUI sheets don't seem to be resizable anymore.
The exact same code/project produces resizable Sheets in XCode 15.4 but unresizable ones with Swift included in Xcode 16 beta 2.
Tried explicitly providing .fixedSize(horizontal false, vertical: false) everywhere humanly possible hoping for a fix but sheets are still stuck at an awkward size (turns out be the minWidth/minHeight if I provide in .frame).
Our application is designated to be used in a quite noisy environment (childcare facility) so we have implemented really annoying custom sounds. Unfortunately the system audio session playing custom sounds is apparently limited to half of the device volume possibility, even though the user sets full volume in the settings. How to change this behaviour to get louder notification sounds?
To be clear, I don't want to overcome user settings. If the user sets quieter volume or he sets the silent mode, the application should be silent too. I just need that 100% volume settings is actually 100% device volume.
This is a really critical feature for us and for our customers. We have already tried to ask for the critical alerts and we have been rejected.
Hello, I'm trying to make changes to my website's apple pay flow and an unable to verify if the flow works because I get the following error in the console when trying to pay:
TypeError: undefined is not an object (evaluating 'applePaySession.completeMerchantValidation')
By following this error message, I try to setup an ngrok proxy to verify my local development domain and that fails as well even though as you can see, the file does actually exist.
Can anyone help with A) giving me a different way to develop locally aka having a "successful" apple pay payment so I can verify my website's flow after payment or B) help me figure out why the domain verification is failing. Thanks!
Hi,
I’ve built an app that includes a Contacts Provider Extension (CPE). On iOS 18, I observed the expected behavior — when the main app is uninstalled, the corresponding CPE entry is also removed from the Contacts list.
However, on iOS 26, this no longer happens. After uninstalling the app, the CPE remains visible and active in the Contacts list, even though the app is gone.
Hello,
I’m working on an authorization plugin which allows users to login and unlock their computer with various methods like a FIDO key. I need to add smart cards support to it. If I understand correctly, I need to construct a URLCredential object with the identity from the smart card and pass it to the completion handler of URLSessionDelegate.urlSession(_:didReceive:completionHandler:) method. I’ve read the documentation at Using Cryptographic Assets Stored on a Smart Card, TN3137: On Mac keychain APIs and implementations, and SecItem: Pitfalls and Best Practices and created a simple code that reads the identities from the keychain:
CFArrayRef identities = nil;
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)@{
(id)kSecClass: (id)kSecClassIdentity,
(id)kSecMatchLimit: (id)kSecMatchLimitAll,
(id)kSecReturnRef: @YES,
}, (CFTypeRef *)&identities);
if (status == errSecSuccess && identities) {
os_log(OS_LOG_DEFAULT, "Found identities: %{public}ld\n", CFArrayGetCount(identities));
} else {
os_log(OS_LOG_DEFAULT, "Error: %{public}ld\n", (long)status);
}
When I use this code in a simple demo app, it finds my Yubikey identities without problem. When I use it in my authorization plugin, it doesn’t find anything in system.login.console right and finds Yubikey in authenticate right only if I register my plugin as non-,privileged. I tried modifying the query in various ways, in particular by using SecKeychainCopyDomainSearchList with the domain kSecPreferencesDomainDynamic and adding it to the query as kSecMatchSearchList and trying other SecKeychain* methods, but ended up with nothing. I concluded that the identities from a smart card are being added to the data protection keychain rather than to a file based keychain and since I’m working in a privileged context, I won’t be able to get them. If this is indeed the case, could you please advise how to proceed? Thanks in advance.
We have a Java application built for macOS. On the first launch, the application prompts the user to allow local network access. We've correctly added the NSLocalNetworkUsageDescription key to the Info.plist, and the provided description appears in the system prompt.
After the user grants permission, the application can successfully connect to a local server using its hostname. However, the issue arises after the system is rebooted. When the application is launched again, macOS does not prompt for local network access a second time—which is expected, as the permission was already granted.
Despite this, the application is unable to connect to the local server. It appears the previously granted permission is being ignored after a reboot. A temporary workaround is to manually toggle the Local Network permission off and back on via System Settings > Privacy & Security, which restores connectivity—until the next reboot.
This behavior is highly disruptive, both for us and for a significant number of our users. We can reproduce this on multiple systems...
The issues started from macOS Sequoia 15.0
By opening the application bundle using "Show Package Contents," we can launch the application via "JavaAppLauncher" without any issues. Once started, the application is able to connect to our server over the local network. This seems to bypass the granted permissions? "JavaAppLauncher" is also been used in our Info.plist file
Hi, I faced with the issue on iOS 26.1 with PHPickerViewController. After first selection I save assetIdentifier of PHPickerResult for images.
next time I open the picker I expect to have the images selected based on assetIdentifier
Code:
var config = PHPickerConfiguration(photoLibrary: .shared())
config.selectionLimit = 10
config.filter = .images
config.preselectedAssetIdentifiers = images.compactMap(\.assetID)
let picker = PHPickerViewController(configuration: config)
picker.delegate = self
present(picker, animated: true)
But on iOS 26.1 they aren't selected. On lower iOS version all works fine.
Does anybody faced with similar issue?
Topic:
UI Frameworks
SubTopic:
UIKit
I have created a virtualised Mac machine where I am running the latest Xcode version 16.4 with macOS Sequoia as the base image.
While running XCTest tests, I am observing a clear difference in behaviour between virtualised and non-virtualised setups.
Below is the command I am using to run the tests:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -xctestrun /Users/ltuser/290103613/xcui.xctestrun -destination "platform=iOS Simulator,id=79A5F8CC-4A2E-4C91-895D-AE97E25CB824,arch=arm64,OS=18.0" test-without-building "-only-testing:ClassName/MethodName/testName" -derivedDataPath /Users/ltuser/290103613/Archive -verbose IDELogLevel=debug IDETestLogLevel=debug ONLY_ACTIVE_ARCH=YES
Observed Issue
On virtualised hosts:
Every XCTest is executed twice
This happens for both passed and failed tests
The behaviour is consistent across all virtualised machines
On non-virtualised (bare-metal) Macs:
Tests execute only once, as expected
Debugging Steps Taken
Multiple destination suspicion
Initially, I noticed the following warning:
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS Simulator, id:0FFB9082-94AB-4D0A-A731-CC4452BDD4E7, OS:17.0, name:iPhone 15 }
{ platform:iOS Simulator, id:0FFB9082-94AB-4D0A-A731-CC4452BDD4E7, OS:17.0, name:iPhone 15 }
This raised suspicion that tests might be running twice due to multiple matching destinations.
Destination narrowed down
I then explicitly restricted the destination to a single simulator UDID, after which:
The warning disappeared
However, the issue still persists
Tests continue to run twice on virtualised hosts
Version Comparison
Xcode 16.4 + macOS Sequoia (virtualised) → Tests run twice
Xcode 15.x (same setup otherwise) → Tests run once
Questions
Has anyone else faced this issue with Xcode 16.x on virtualised macOS?
Is this a known issue with Xcode 16 + Virtualisation?
Is there any recommended workaround or configuration change to avoid duplicate test execution?
I am currently blocked on this issue and would appreciate confirmation on whether this is an Xcode or virtualisation-related problem.
Thank you.
After transferring the App ownership to a different account, if you update the app on iOS, two identical apps will show up in Settings > Screen Time. Users can't control the blocking settings from before the update - the only fix is to restart the phone.
After the next execution of manageStore.shield.applications, users still can't manually disable the restrictions - their only option is to uninstall and reinstall the app. I believe this is related to how Screen Time API's authentication works - it's not just tied to the app's bundle ID, but also linked to the developer account's organization ID. Any suggestions for a clean solution that would allow smooth app updates after the transfer without running into these issues?
It seems Safari 18's fetch() does not include credentials even credentials: include and safari extension has host_permissions for that domain.
Is there anyone has this problem?
I try to request in popup.js like this:
const response = await fetch(
url,
{
method: 'GET',
mode: 'cors',
credentials: 'include',
referrerPolicy: 'no-referrer',
}
);
and it does not include the cookie from host_permissions.
Those code worked in Safari 17 (macOS Sonoma).
Hello,
I seem to have a strange bug when testing 2 of my Apps that calls SubscriptionStoreView(groupID: storekitmanager.groupID), where storekitmanager is using @Observable, with groupID from the Subscription Group in App Store Connect.
They have the following: Yearly, Biannually, and Monthly. Their productIDs and groupIDs have been configured in each app with the correct IDs.
In my main Apple ID, when the SubscriptionStoreView is presented, selecting Monthly, tap Subscribe, and nothing happens. Selecting either Yearly or Biannually, tap Subscribe and the Confirmation Dialog that triggers faceID/touchID will appear correctly. This happens in both Apps for TestFlight.
I have a Manage Subscriptions button that uses:
manageSubscriptionsSheet(isPresented:subscriptionGroupID:)
I can change the subscription to Monthly in that manage subscriptions.
However, if I switch to a Sandbox Apple Account, the "bug" described above does not happen. The Sandbox account when selecting Monthly and tap Subscribe will trigger the Confirmation Dialog (in both Apps). Not sure if my main account is "stuck" in some loop where it is trying to purchase Monthly in TestFlight but it is not completed.
Has anyone ever encountered such a bug?
Hey guys,
This is a general question, but I have been working on an app for a while and I would like to to introduce IAP to the app. I have no clue where to start and chat GPT is no help. I also tried to vibe coding the IAP function and that didn't work out well. Any material or advice would help.
Topic:
App & System Services
SubTopic:
StoreKit
a UK-based user is having trouble completing an in-app purchase.
after going through the typical purchase flow (tapping the button to trigger the in-app purchase sheet, completing Face ID) they see this verification sheet appear over my app and have to go to their banking app to approve the purchase.
after approving the purchase from their banking app, they tap "Payment confirmed on Mobile App" to close the sheet, but then see an alert that suggests the result is .userCancelled.
the purchase does not seem to have completed. the user reports not being charged (despite numerous attempts). plus, i have a "restore purchases" function on App init that would've restored a purchase if it existed.
i have implemented what i think is a typical Storekit.purchase() method (again, the message the user sees is for the .userCancelled case):
func purchase(productId: String) async -> (Bool, String?) {
guard let product = subscriptionProducts.first(where: { $0.id == productId }) else {
return (false, "Product not found")
}
do {
let result = try await product.purchase()
switch result {
case .success(let verification):
switch verification {
case .verified(let transaction):
await transaction.finish()
hasSubscription = true
return (true, nil)
case .unverified:
return (false, "Transaction verification failed")
}
case .userCancelled:
return (false, "No worries, take your time. 😌")
case .pending:
return (false, "Purchase is pending")
u/unknown default:
return (false, "Error purchasing product. If this keeps happening, please contact [email].")
}
} catch {
return (false, "Error purchasing product: \(error.localizedDescription)")
}
}
has anyone dealt with this issue? i was seeing an unusually high number of .userCancelled purchase events from users outside the US, and i'm wondering if some of them were genuine purchase attempts that were blocked by this verification step. 😕
We have submitted a feedback for this issue: FB21230723
We're building a note-taking app for iOS and macOS that uses both UITextView and NSTextView.
When performing text input that involves a marked range (such as Japanese input) in a UITextView or NSTextView with a UITextViewDelegate or NSTextViewDelegate set, the text view's marked range (markedTextRange / markedRange()) has not yet been updated at the moment when shouldChangeTextIn is invoked.
UITextViewDelegate.textView(_:shouldChangeTextIn:replacementText:)
NSTextViewDelegate.textView(_:shouldChangeTextIn:replacementString:)
The current behavior is this when entering text in Japanese: (same for NSTextView)
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
print(textView.markedTextRange != nil) // prints out false
DispatchQueue.main.async {
print(textView.markedTextRange != nil) // prints out true
}
}
However, we need the value of markedTextRange right away in order to determine whether to return true or false from this method.
Is there any workaround for this issue?
I’m working on an iOS app and need help with ASO to find the best keywords for title, subtitle, description, and keyword field. Can anyone suggest free tools that show keyword volume, difficulty, and competitor keywords?
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store
App Review
App Store Connect
A 1.69% App Store conversion rate could be due to factors like unclear value proposition, unoptimized screenshots, or lack of strong reviews. Improving visuals, refining your app description, and gathering positive ratings can help boost installs.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store
App Review
App Store Connect