Hello All
I'm encountering an issue with Keychain access in iOS simulators after reinstalling Xcode. My app successfully accesses the Keychain on physical devices, but simulators consistently fail with errors.
Details:
App uses Keychain to store API keys
Works perfectly on physical devices
After Xcode reinstall, simulator Keychain access fails
Error logs show "Keychain retrieve failed for key with status: -25300"
I've properly configured Keychain Sharing entitlements
My entitlements file includes: $(AppIdentifierPrefix)*******
What I've tried:
Resetting simulators
Deleting simulator Keychain databases manually
Adding Keychain Sharing capability
Ensuring entitlements are correct
My app worked fine with simulators before reinstalling Xcode, which suggests something changed in the development environment rather than my code.
Has anyone encountered similar issues? Is there a recommended approach for handling Keychain access in simulators that's more resilient to Xcode environment changes?
Thanks for your help!
Xcode
RSS for tagBuild, test, and submit your app using Xcode, Apple's integrated development environment.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
When I execute:
geoCoder.reverseGeocodeLocation(location, completionHandler:{[weak self](placemarks, error) in
print("reverse geocoding location after altitude: ",location.altitude)
print("placemark location first", placemarks?.first?.location?.altitude ?? -1)
The input CLLocation has correct altitude 25, instead the location in the output placemarks have altitude 0, when of course they should have the same location. Moreover it is impossible to retrofit any data in the returned placemarks as they are portrayed as a read only property.
I'm attempting make to make a distribution build of an app.
In the Xcode target the supported destinations has only iPhone and build active architectures only is set to NO.
I created an archive, then selected Distribute App/ Debugging, but then got this error:
Provisioning profile "iOS Team Provisioning Profile: com.abc.def" doesn't include the currently selected device "DT-iPad-XXXX" (identifier YYYY-YYYYYY).
I've no idea what this device is, it's nothing to do with me, somebody must have added it to the provisioning profile. But that should be beside the point shouldn't it? Because this device has never ever been connected to my Mac/Xcode and so can't be "the currently selected device".
So I tried again. I changed build active architectures to YES and connected an iPhone to the Mac/Xcode and created an archive again. But it was the exact same error.
What's going on, why is Xcode saying this iPad is the currently selected device when attempting to make a distribution?
I'm integrating Apple Pay with PayFort in a Swift iOS application, and I’m currently working on preparing a valid purchase request using Apple Pay, as described in PayFort’s documentation:
🔗 https://docsbeta.payfort.com/docs/api/build/index.html?shell#apple-pay-authorization-purchase-request
The documentation outlines the following required parameters:
apple_data
apple_signature
apple_header
apple_transactionId
apple_ephemeralPublicKey
apple_publicKeyHash
apple_paymentMethod
apple_displayName
apple_network
apple_type
Optional: apple_applicationData
I understand these should be derived from the PKPayment object after Apple Pay authorization, but I’m having trouble mapping everything correctly. Here’s what I’m seeing in code:
payment.token
// Returns something like: <PKPaymentToken: 0x28080ae80; transactionIdentifier: "..."; paymentData: 3780 bytes>
payment.token.paymentData
// Contains 3780 bytes of encrypted data
payment.token.paymentData.base64EncodedString()
// Returns a long base64 string, which at first glance seems like it could be used for apple_data,
// but PayFort doesn't accept it as-is — so this value appears to be incomplete or incorrectly formatted
I can successfully retrieve the following values from payment.token.paymentMethod:
apple_displayName
apple_network
apple_type
However, I’m still unsure how to extract or build the following in the format accepted by PayFort:
apple_data
apple_signature
apple_header
apple_transactionId
apple_ephemeralPublicKey
apple_publicKeyHash
apple_paymentMethod
These may be contained within the paymentData JSON, but I’m not sure how to decode it or if Apple allows decrypting it in a way that matches PayFort’s expected format.
How can I correctly extract or build apple_data, apple_signature, and apple_header from the Apple Pay token?
Also, how should I handle the decryption or decoding (if necessary) of paymentData to retrieve values like apple_transactionId, apple_ephemeralPublicKey, and apple_publicKeyHash?
If anyone has successfully set this up or has example code that bridges Apple Pay and PayFort’s expected request format, it would be super helpful!
Thanks in advance 🙏
After update to Xcode 16.3, any breakpoints stopped in simulator and device. The scheme is configured to Debug in Build Configurator.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Hi,
I am getting an error stating "Argument passed to call that takes no arguments". I want this Apple Watch App to measure and store RR Intervals from the PPG sensor on the Apple Watch for Heart Rate Variability calculations. Please help me fix this, I can't figure it out. Here is my code:
heartbeatQuery = HKHeartbeatSeriesQuery(predicate: predicate,
dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in
// Switch to main thread for UI updates
DispatchQueue.main.async {
if let error = error {
print("Heartbeat query error: (error.localizedDescription)")
self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)"
// Consider stopping the workout session if the query fails critically
// self.stopWorkoutSession()
return
}
if ended {
print("Heartbeat query indicates series ended.")
}
// Append valid RR intervals
if timeSinceLastBeat > 0 {
self.rrIntervals.append(timeSinceLastBeat)
self.beatCount += 1
}
} // End DispatchQueue.main.async
}) // End query data handler
// --- END OF PROBLEMATIC INITIALIZER ---
// Execute the query if it was created successfully
It recommends the fix as removing this part:
'(predicate: predicate,
dataReceivedHandler: { (query, timeSinceLastBeat, ended, error) in
// Switch to main thread for UI updates
DispatchQueue.main.async {
if let error = error {
print("Heartbeat query error: (error.localizedDescription)")
self.fetchErrorMessage = "Heartbeat query error: (error.localizedDescription)"
// Consider stopping the workout session if the query fails critically
// self.stopWorkoutSession()
return
}
if ended {
print("Heartbeat query indicates series ended.")
}
// Append valid RR intervals
if timeSinceLastBeat > 0 {
self.rrIntervals.append(timeSinceLastBeat)
self.beatCount += 1
}
} // End DispatchQueue.main.async
})'
But after I remove that it says "Cannot assign value of type 'HKHeartbeatSeriesQuery.Type' to type 'HKHeartbeatSeriesQuery'" PLEASE HELP ME
Thanks
Xcode 16 seems to „forget“ a swift package within a subfolder of a root package after restart or shut-down.
I have the following project structure, which also resembles the directory structure on disc:
MyPackage
- Package.swift
- README.md
- Sources
- MyPackage
- Tests
- MyPackageTests
- Tools
- MyGenerator // <- after restart this folder is not visible in the Xcode project navigator
- Package.swift
- Sources
- main.swift
- Tests
MyGenerator is a standalone package which is used during development of MyPackage to generate source code files for MyPackage based on text file input. Essentially an executable target script which I can run within its folder with:
swift run MyGenerator someInputFile.txt
MyPackage does NOT use MyGenerator as a dependency, nor do I want this tool listed as a dependency in MyPackage Package.swift file.
Yet MyGenerator is part of the same Git repo, as it documents the changes to the tool on how to generate source code for MyPackage. Both packages are developed in tandem.
MyGenerator itself defines dependencies in its Package.swift file, which are unrelated to the functionality of MyPackage.
After restart of Xcode or even just a longer shut-down period the MyGenerator subfolder is not visible in the Xcode project navigator, the /Tools folder is empty. I have to manually add the sub package via Add files to "MyPackage" -> Move files to destination every time.
How can I solve that Xcode remembers the sub package unter /Tools?
Edit: I am using Xcode 16.2
I've recently upgraded my project from Xcode 15 to Xcode 16. Without changing any build settings or compiler flags, I noticed that the final executable size has increased significantly when building the same C++ code.
Investigation:
To investigate further, I compared the Link Map outputs from both versions of Xcode. One key difference I found:
The symbol size for std::sort increased from 4,336 bytes (Xcode 15) to 6,084 bytes (Xcode 16) – a ~40% increase.
This seems to be part of a broader trend where other standard library symbols are also taking up more space in the binary when built with Xcode 16.
Questions:
Has Apple Clang or libc++ in Xcode 16 changed the implementation of STL algorithms like std::sort?
Are there changes in inlining, template instantiation, or debug info that could explain the increase?
Is this expected behavior? If so, is there any guidance on minimizing the binary size regression?
Since dragImage: is deprecated I am trying to update drag and drop with beginDraggingSessionWithItems:.
Drag work fine but I cannot get drop to work correctly.
In the code below change #ifndef to #ifdef (using dragImage:) make drop work as expected.
draggingEntered, draggingUpdated, draggingExited, draggingEnded are all called but NOT performDragOperation (which do the drop).
Uncommenting the line
[pb_item pasteboard:paste_board provideDataForType:@"LN_PboardType"];
cause an exceptionPreprocess: -[NSPasteboardItem pasteboard:provideDataForType:]: unrecognized selector sent to instance 0x600001e64240.
I also try add NSDraggingDestination, NSItemProviderWriting, NSPasteboardTypeOwner to @interface line without success.
What I am doing wrong ?
Any other method to do Drag and Drop (other than dragImage: and beginDraggingSessionWithItems:) ?
Where can I found an Obj-C project using beginDraggingSessionWithItems: for drag an drop ?
``@interface Enclosure : NSView <NSDraggingSource, NSPasteboardItemDataProvider>
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
[super setAutoresizesSubviews:YES];
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"LN_PboardType", NSPasteboardTypeString, nil]];
}
return self;
}
- (BOOL)acceptsFirstMouse:(NSEvent *)event
{
return YES;
}
- (void)mouseDown:(NSEvent *)drag_event
{
NSImage *drag_image;
NSPoint drag_position;
NSRect dragging_rect;
NSPasteboard *paste_board;
NSDraggingItem *drag_item;
NSArray *items_array;
NSPasteboardItem *pb_item;
paste_board = [NSPasteboard pasteboardWithName:@"LN_PboardType"];
[paste_board declareTypes:[NSArray arrayWithObjects:@"LN_PboardType", NSPasteboardTypeString, nil] owner:self];
pb_item = [[NSPasteboardItem alloc] init];
[pb_item setDataProvider:self forTypes:[NSArray arrayWithObjects:@"LN_PboardType", NSPasteboardTypeString, nil]];
// [pb_item pasteboard:paste_board provideDataForType:@"LN_PboardType"];
drag_image = [ [NSImage imageNamed:@"drag.jpg"];
drag_position = [self convertPoint:[drag_event locationInWindow] fromView:nil];
drag_position.x -= drag_image.size.width/2;
drag_position.y -= drag_image.size.height/2;
#ifndef DEPRECATED
[self dragImage:drag_image at:drag_position offset:NSZeroSize event:drag_event pasteboard:paste_board source:self slideBack:YES];
#else
drag_item = [[NSDraggingItem alloc] initWithPasteboardWriter:pb_item];
dragging_rect = NSMakeRect(drag_position.x, drag_position.y, drag_image.size.width, drag_image.size.height);
[drag_item setDraggingFrame:dragging_rect contents:drag_image];
items_array = [NSArray arrayWithObject:drag_item];
[self beginDraggingSessionWithItems:items_array event:drag_event source:(id)self];
#endif
}
- (NSDragOperation)draggingSession:(NSDraggingSession *)session sourceOperationMaskForDraggingContext:(NSDraggingContext)context
{
if (disable_drag_and_drop)
return NSDragOperationNone;
switch (context)
{
case NSDraggingContextWithinApplication:
return NSDragOperationCopy;
case NSDraggingContextOutsideApplication:
return NSDragOperationMove;
}
return NSDragOperationNone;
}
…``
Topic:
Developer Tools & Services
SubTopic:
Xcode
I'm experiencing an issue with a custom font not loading properly in Xcode 16.3. The font files are included in the bundle, listed in Info.plist, and verified for correct names using UIFont.familyNames, but they still don't appear at runtime. Has anyone else run into this with Xcode 16.3? Could this be related to recent changes in asset packaging or font catalogs?
after upgrade macos version to 15.4
the rsync start failing that cause the xcodebuild fail and not generate ipa
rsync: on remote machine: --extended-attributes: unknown option
rsync error: syntax or usage error (code 1) at main.c(1802) [server=3.4.1]
rsync(73444): error: unexpected end of file
rsync(73444): error: io_read_nonblocking
rsync(73444): error: io_read_buf
rsync(73444): error: io_read_int
rsync(73444): warning: child 73445 exited with status 1
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
App Store
Xcode Server
Xcode
Developer Tools
My app has a Watch app companion, and a Widget.
are this settings correct to distribute these to TestFlight and Apple Store ?
Topic:
Developer Tools & Services
SubTopic:
Xcode
I don't know Xcode very well, and had been using it sporadically to test a project exported from Unity.
I recently added a StoreKit Configuration to the project, and since then it gives me ≈10s after launching before the beach ball appears, and it never leaves. Xcode says it is "Indexing" but I don't know if that's an obvious culprit.
I can still build my project via the fastlane tool, on the command line, and the newly-added StoreKit configuration works just fine.
But I cannot use Xcode interactively any more, unless I re-export the project from Unity. The only difference between it working and hanging is the Store Kit configuration.
How do I understand what's going on, and (ideally) fix it? The Activity Monitor gives a bunch of backtraces that don't have an obvious network or I/O culprit in them.
The WatchOS developer is not allowed to obtain healthKit permission status. The result is always unauthorized (either by clicking the dot/cross in the upper left corner or by turning on all Health, on some, off all).
WatchOS 开发获取 healthKit 的权限状态authorizationStatus不准。结果始终都是未授权(无论是点击左上角的点叉号还是开启全部健康项开关,开启部分,关闭所有),怎么处理?
I am trying to add complication feature to my watchOS app. I need to add some keys to the Info.plist.
Project Navigator - no Info.plist file (as expected)
Target watchOS > Build Settings > Info.plist values.
I am unable to add a value. Hovering over a row does NOT show small '+' or '-' icons.
How do I edit the Info.plist?
Hi all,
I’m running into a persistent linker error when building my Unity 6 project (IL2CPP, iOS target) that calls a Swift method via an Objective-C++ wrapper. Despite following all known steps, I keep getting:
Undefined symbols for architecture arm64:
"_placeGeoAnchor", referenced from:
_GeoAnchorTrigger_placeGeoAnchor in libGameAssembly.a
...
ld: symbol(s) not found for architecture arm64
I’m trying to place a persistent AR anchor at real-world GPS coordinates (so that the same asset can appear at the same location for a returning user). Since I’m targeting iOS, I can’t use Google’s geospatial anchors (but I sooo wish I could--please apple I beg of you stop being so selfish lol).
I've already done these things:
Swift file is added to Unity-iPhone target.
.mm and .h files are in Unity-iPhone target under Compile Sources.
Bridging header is set to Unity-iPhone-Bridging-Header.h.
Generated header name is correct (GeoTest-Swift.h).
Build Active Architecture Only set to No.
Function has attribute((visibility("default"))).
Unity project uses IL2CPP scripting backend.
Yet I'm still getting the same linker error — it appears Unity (via IL2CPP) references the function, but Xcode doesn't link it.
It’s something small that’s being missed with how IL2CPP links native symbols? Or maybe I need to explicitly include something in Link Binary With Libraries? I’ve verified symbol visibility and targets repeatedly.
I’ve built AR features in Unity before (for Quest), but this is my first time trying to bridge C# → Objective-C++ → Swift in this way for a geolocation-based AR anchor for an iphone.
I'm going crazy, I’ve been stuck on this for 12+ hours now, so any insight or nudge would be deeply appreciated.
SPECS:
Macbook Pro M4 Pro--Sequoia 15.4
Unity 6000.0.45f1
IPhone 11 iOS 18.4
Xcode 15
Got a Watch SE recently only to find out that I can't deploy apps to it from Xcode even once.
I always get the message "Connecting to Watch" and "Reconnecting to Watch".
Tried with Xcode 16 and then with 16.2. Same result.
For countless times, I have tried every possible solution posted on this forum and elsewhere but to no avail.
Filed a feedback, no reply yet from Apple.
Looks like something is seriously broken. Please fix this.
FB16122816
Within Xcode's settings location section is a drop down menu to switch between setting the derived data location to be default, relative or custom.
However its a global setting.
I work on more than one project simultaneously, and for one of them I want the location set to relative, but default for all the others.
Is there any way of achieving that?
Hi,
I'm working in unity and I've implemented Firebase Phone Number Authentication in it. Everything works fine when I directly install build from xCode. App Attest screen shows up, user receives OTP on their phone and login works. But when I download the same build from TestFlight, it gets stuck after the user sends OTP request.
I've added Push Notifications and App Attest in capabilities. I've also additionally added Remote Notifications.
In device log I see an error about mobile provisioning file but I've added that to my account also. Is this expected behavior that phone number authentication does not work on TestFlight? If yes, how can I get this approved from apple since they need to test it before approving it.
Thanks!
Hi,
I am able to build my iOS app successfully, developed in objective-C with iOS 17.5 SDK and Xcode 15.
Due to requirement of Appstore we are trying to build with iOS 18 SDK and Xcode 16.
When building getting error in LAEnvironmentState.h file:
a) "Property requires field to be named"
b) "Expected member name or ';' after declaration specifiers"
Same app when opening with Xcode 15 gets build without any issue.
Any help/suggestion would be appreciated.