Search results for

“xcode github”

95,462 results found

Post

Replies

Boosts

Views

Activity

SKTestSession.setSimulatedError() not working for .loadProducts API in iOS 26.2
Description SKTestSession.setSimulatedError() does not throw the configured error when testing StoreKit with the .loadProducts API in iOS 26.2. The simulated error is ignored, and products load successfully instead. Environment iOS: 26.2 (Simulator) Xcode: 26.2 beta 2 (Build 17C5038g) macOS: 15.6.1 Framework: StoreKitTest Testing Framework: Swift Testing base project: https://developer.apple.com/documentation/StoreKit/implementing-a-store-in-your-app-using-the-storekit-api Expected Behavior After calling session.setSimulatedError(.generic(.notAvailableInStorefront), forAPI: .loadProducts), the subsequent call to Product.products(for:) should throw StoreKitError.notAvailableInStorefront. Actual Behavior The error is not thrown. Products load successfully as if setSimulatedError() was never called. Steps to Reproduce Create an SKTestSession with a StoreKit configuration file Call session.setSimulatedError(.generic(.notAvailableInStorefront), forAPI: .loadProducts) Call Product.products(for:) with a val
2
0
238
Feb ’26
iMessage Extension: didSelect not called when tapping message bubbles on iPad
I'm developing a turn-based Messages game extension and experiencing a persistent issue on iPad where tapping on message bubbles does not reliably trigger lifecycle callbacks after the extension has been used once. The Problem: On iPad, after a player: Opens the extension by tapping a game message Takes their turn (plays a card) Sends the updated game state as a new message Extension collapses When the opponent sends their response and the player taps on the new message bubble, the extension often does not open. The didSelect(_:conversation:) method is not called. The user must refresh the conversation by scrolling away and back or reopening the Messages App before tapping works again. This works perfectly on iPhone - every tap on a message bubble reliably triggers didSelect and opens the extension. What I've Tried: I've implemented every lifecycle method and workaround I could find: swiftoverride func willBecomeActive(with conversation: MSConversation) { super.willBecomeActive(with: conversation) if let mess
2
0
80
Feb ’26
Reply to Why doesn’t Transaction.updates emit reliably?
I have some information. I downloaded Xcode 26.3 Release Candidate (17C519) from the Apple Developer website. I used the VirtualBuddy app and installed macOS Tahoe 26.3. I then opened the Xcode project and configured the StoreKit Configuration file (synchronised with App Store Connect), setting the subscription renewal rate to Any Renewal Every 10 Seconds. I ran the app, made a subscription purchase and observed that my in-app purchase handling code successfully completed the transaction. I also logged Transaction.updates and Product.SubscriptionInfo.Status.updates and everything worked as expected. However, I do not wish to upgrade to macOS Tahoe just yet.
Topic: App & System Services SubTopic: StoreKit Tags:
Feb ’26
Why doesn’t Transaction.updates emit reliably?
I'm on macOS Sequoia Version 15.7.3 (24G419) and using Xcode Version 26.2 (17C52). In my Xcode project, Transaction.updates and Product.SubscriptionInfo.Status.updates don’t seem to emit updates reliably. The code below works consistently in a fresh Xcode project using a minimal setup with a local StoreKit Configuration file containing a single auto-renewable subscription. class InAppPurchaseManager { static let shared = InAppPurchaseManager() var transactionTask: Task? var subscriptionTask: Task? init() { print(Launched InAppPurchaseManager...) transactionTask = Task(priority: .background) { for await result in Transaction.updates { print(nReceived transaction update...) try? await result.payloadValue.finish() } } subscriptionTask = Task(priority: .background) { for await result in Product.SubscriptionInfo.Status.updates { print(nReceived subscription update...) print(state:, result.state.localizedDescription) } } } } I initialise it in: func applicationDidFinishLaunching(_ aNotifi
9
0
369
Feb ’26
What is it so hard to develop on the Watch?
I am trying to develop a Watch and iOS app as companion. It is beyond stupid how I can not keep the watch connected to Xcode to develop. I have tried all the so-called tricks. Why is this so fragile? The phone is USB connected to my Mac I have tried turning off the wifi on my Mac and have the phone and watch on the same network. Nada I have tried just having everything on the same network. The watch is connected maybe 20% of the time. I have tried creating a hotspot network with my phone. The watch is connected maybe 50% of the time. This is truly an awful experience. Am I doing something wrong? Any advice would be grateful.
2
0
144
Feb ’26
Reply to Xcode cloud
Thank you for your post. When Xcode crashes, it is advisable to file a bug report. Ensure that you are utilizing the latest version of Xcode. Updates to Xcode frequently incorporate bug fixes and enhancements to its integration with Xcode Cloud. Additionally, consider updating to the most recent stable release through the Mac App Store or the Developer Portal, as well as updating to the latest version of macOS. If you have any questions about filing a bug report, take a look at Bug Reporting: How and Why? Albert Pascual
  Worldwide Developer Relations.
Feb ’26
Xcode 26 is insanely slow
Hey there Just updated to Xcode 26 on mac OS Sequoia (MBP M1 Max 32GB, 2021, so you know, still pretty decent and capable). Xcode is super slow on building, but also on editing. There is a lag between what I type and what is displayed. Am I the only one experiencing this? Is there something I should look into?
1
0
192
Feb ’26
Support for trailing accessory views in Tab (sidebarAdaptable TabView)
In iOS 18, TabView with .tabViewStyle(.sidebarAdaptable) introduced a powerful adaptive pattern — tabs in compact, sidebar in regular. However, the current Tab API only supports a title and an image (icon). There is no way to provide a trailing accessory view (e.g., a secondary icon or indicator) for sidebar rows. This is a meaningful gap in the API, because trailing accessories are a well-established pattern throughout UIKit and SwiftUI. Precedent in Apple's own design language Apple already supports trailing accessories in many analogous contexts: UITableViewCell / UICollectionViewListCell — support accessories (disclosure indicators, checkmarks, custom views) via UICellAccessory. UIListContentConfiguration — allows leading and trailing content in list rows. SwiftUI List rows — support Label, HStack with trailing elements, .badge(), and swipeActions. NavigationLink — automatically renders a disclosure chevron as a trailing accessory. UITabSidebarItem (UIKit, iOS 18) — supports configurationUpdateHandler and
2
0
135
Feb ’26
Recent changes to the App Store Connect API has broken the ability to set the IN_APP_PASS_PROVISIONING capability type
We have been using this API call to set the In-App Provisioning capability for 2+ years and it just recently started returning errors. To set the In-App Provisioning capability we had been using the App Store Connect API directly: curl https://api.appstoreconnect.apple.com/v1/bundleIdCapabilities -X POST --header Authorization: Bearer #{appleApiToken} --header Content-Type: application/json -d '{data: {type: bundleIdCapabilities, attributes: {capabilityType: IN_APP_PASS_PROVISIONING}, relationships: {bundleId: {data: {id: #{appStoreBundleIdentifier}, type: bundleIds}}}}}' The IN_APP_PASS_PROVISIONING capability type is shown, by getting the bundle ID capabilities, when In-App Provisioning is set on a bundle ID: curl https://api.appstoreconnect.apple.com/v1/bundleIds/#{appStoreBundleIdentifier}/bundleIdCapabilities --header Authorization: Bearer #{appleApiToken} After manually setting the In-App Provisioning capability via the Apple Developer portal you will see the new capabilityType: { type : bundl
3
0
763
Feb ’26
How to avoid this thread priority inversions ?
Context: Xcode 16.4, Appkit In a windowController, I need to create and send a mouseDown event (newMouseDownEvent). I create the event with: let newMouseDownEvent = NSEvent.mouseEvent( with: .leftMouseDown, location: clickPoint, // all other fields I also need to make window key and front, otherwise the event is not handled. func simulateMouseDown() { self.window?.makeFirstResponder(self.window) self.calepinFullView.perform(#selector(NSResponder.self.mouseDown(with:)), with: newMouseDownEvent!) } As I have to delay the call( 0.5 s), I use asyncAfter: DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, qos: .userInteractive) { self.simulateMouseDown() } It works as intended, but that generates the following (purple) warning at runtime: [Internal] Thread running at User-interactive quality-of-service class waiting on a lower QoS thread running at Default quality-of-service class. Investigate ways to avoid priority inversions I have tried several solutions, change qos in await: DispatchQueue.main.asyn
2
0
228
Feb ’26
Reply to What should be enabled for Enhanced Security?
[quote='876600022, anosidium, /thread/815819?answerId=876600022#876600022, /profile/anosidium'] You advised that I should enable all the settings. [/quote] Well, yes, if you read that one sentence in isolation. However, I made it clear that one specific setting, Enable Soft Mode for Memory Tagging, reduces security, so if you goal is security then enabling that is probably not a good choice (-: [quote='876600022, anosidium, /thread/815819?answerId=876600022#876600022, /profile/anosidium'] I am therefore inclined not to enable it. [/quote] Or you could profile your app and see if it makes a difference in pratice. That’s generally the best way to approach performance trade-offs. [quote='876600022, anosidium, /thread/815819?answerId=876600022#876600022, /profile/anosidium'] I am not entirely sure what is meant by logging in [Soft Mode] [/quote] Quoting Enabling enhanced security for your app: This entitlement makes hardware memory tagging operate in soft mode, where the system produces a simulated crash instead
Topic: Privacy & Security SubTopic: General Tags:
Feb ’26
What should be enabled for Enhanced Security?
I am not very well versed in this area, so I would appreciate some guidance on what should be enabled or disabled. My app is an AppKit app. I have read the documentation and watched the video, but I find it hard to understand. When I added the Enhanced Security capability in Xcode, the following options were enabled automatically: Memory Safety Enable Enhanced Security Typed Allocator Runtime Protections Enable Additional Runtime Platform Restrictions Authenticate Pointers Enable Read-only Platform Memory The following options were disabled by default: Memory Safety Enable Hardware Memory Tagging Memory Tag Pure Data Prevent Receiving Tagged Memory Enable Soft Mode for Memory Tagging Should I enable these options? Is there anything I should consider disabling?
3
0
315
Feb ’26
Reply to How to renew "Developer ID Application" certificate?
There isn’t a specific affordance for renewing certificates. Rather, you simply create a new one. That’s the same for all our code-signing certificate types. For Developer ID I generally do this using the Developer website rather than Xcode. That’s because Developer ID certificates are precious, as I explain in The Care and Feeding of Developer ID. When you create a certificate using the website, you supply a certificate signing request (CSR). This includes the public key that’ll be embedded in the certificate, the one that matches your private key so that, when the website issues your certificate, the certificate and the private key form a code-signing identity. That gives you two choices: You can create a new CSR, containing the public key from a newly generated key pair. You can reuse the CSR you used previously. Note From a certain perspective, you could interpret the first option as ‘creating a new certificate’ and the second option as ‘renewing a certificate’, but that’s a bit of a stretch. I p
Feb ’26
SKTestSession.setSimulatedError() not working for .loadProducts API in iOS 26.2
Description SKTestSession.setSimulatedError() does not throw the configured error when testing StoreKit with the .loadProducts API in iOS 26.2. The simulated error is ignored, and products load successfully instead. Environment iOS: 26.2 (Simulator) Xcode: 26.2 beta 2 (Build 17C5038g) macOS: 15.6.1 Framework: StoreKitTest Testing Framework: Swift Testing base project: https://developer.apple.com/documentation/StoreKit/implementing-a-store-in-your-app-using-the-storekit-api Expected Behavior After calling session.setSimulatedError(.generic(.notAvailableInStorefront), forAPI: .loadProducts), the subsequent call to Product.products(for:) should throw StoreKitError.notAvailableInStorefront. Actual Behavior The error is not thrown. Products load successfully as if setSimulatedError() was never called. Steps to Reproduce Create an SKTestSession with a StoreKit configuration file Call session.setSimulatedError(.generic(.notAvailableInStorefront), forAPI: .loadProducts) Call Product.products(for:) with a val
Replies
2
Boosts
0
Views
238
Activity
Feb ’26
iMessage Extension: didSelect not called when tapping message bubbles on iPad
I'm developing a turn-based Messages game extension and experiencing a persistent issue on iPad where tapping on message bubbles does not reliably trigger lifecycle callbacks after the extension has been used once. The Problem: On iPad, after a player: Opens the extension by tapping a game message Takes their turn (plays a card) Sends the updated game state as a new message Extension collapses When the opponent sends their response and the player taps on the new message bubble, the extension often does not open. The didSelect(_:conversation:) method is not called. The user must refresh the conversation by scrolling away and back or reopening the Messages App before tapping works again. This works perfectly on iPhone - every tap on a message bubble reliably triggers didSelect and opens the extension. What I've Tried: I've implemented every lifecycle method and workaround I could find: swiftoverride func willBecomeActive(with conversation: MSConversation) { super.willBecomeActive(with: conversation) if let mess
Replies
2
Boosts
0
Views
80
Activity
Feb ’26
Reply to Why doesn’t Transaction.updates emit reliably?
I have some information. I downloaded Xcode 26.3 Release Candidate (17C519) from the Apple Developer website. I used the VirtualBuddy app and installed macOS Tahoe 26.3. I then opened the Xcode project and configured the StoreKit Configuration file (synchronised with App Store Connect), setting the subscription renewal rate to Any Renewal Every 10 Seconds. I ran the app, made a subscription purchase and observed that my in-app purchase handling code successfully completed the transaction. I also logged Transaction.updates and Product.SubscriptionInfo.Status.updates and everything worked as expected. However, I do not wish to upgrade to macOS Tahoe just yet.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Why doesn’t Transaction.updates emit reliably?
I'm on macOS Sequoia Version 15.7.3 (24G419) and using Xcode Version 26.2 (17C52). In my Xcode project, Transaction.updates and Product.SubscriptionInfo.Status.updates don’t seem to emit updates reliably. The code below works consistently in a fresh Xcode project using a minimal setup with a local StoreKit Configuration file containing a single auto-renewable subscription. class InAppPurchaseManager { static let shared = InAppPurchaseManager() var transactionTask: Task? var subscriptionTask: Task? init() { print(Launched InAppPurchaseManager...) transactionTask = Task(priority: .background) { for await result in Transaction.updates { print(nReceived transaction update...) try? await result.payloadValue.finish() } } subscriptionTask = Task(priority: .background) { for await result in Product.SubscriptionInfo.Status.updates { print(nReceived subscription update...) print(state:, result.state.localizedDescription) } } } } I initialise it in: func applicationDidFinishLaunching(_ aNotifi
Replies
9
Boosts
0
Views
369
Activity
Feb ’26
What is it so hard to develop on the Watch?
I am trying to develop a Watch and iOS app as companion. It is beyond stupid how I can not keep the watch connected to Xcode to develop. I have tried all the so-called tricks. Why is this so fragile? The phone is USB connected to my Mac I have tried turning off the wifi on my Mac and have the phone and watch on the same network. Nada I have tried just having everything on the same network. The watch is connected maybe 20% of the time. I have tried creating a hotspot network with my phone. The watch is connected maybe 50% of the time. This is truly an awful experience. Am I doing something wrong? Any advice would be grateful.
Replies
2
Boosts
0
Views
144
Activity
Feb ’26
Reply to Xcode cloud
Thank you for your post. When Xcode crashes, it is advisable to file a bug report. Ensure that you are utilizing the latest version of Xcode. Updates to Xcode frequently incorporate bug fixes and enhancements to its integration with Xcode Cloud. Additionally, consider updating to the most recent stable release through the Mac App Store or the Developer Portal, as well as updating to the latest version of macOS. If you have any questions about filing a bug report, take a look at Bug Reporting: How and Why? Albert Pascual
  Worldwide Developer Relations.
Replies
Boosts
Views
Activity
Feb ’26
Xcode 26 is insanely slow
Hey there Just updated to Xcode 26 on mac OS Sequoia (MBP M1 Max 32GB, 2021, so you know, still pretty decent and capable). Xcode is super slow on building, but also on editing. There is a lag between what I type and what is displayed. Am I the only one experiencing this? Is there something I should look into?
Replies
1
Boosts
0
Views
192
Activity
Feb ’26
Support for trailing accessory views in Tab (sidebarAdaptable TabView)
In iOS 18, TabView with .tabViewStyle(.sidebarAdaptable) introduced a powerful adaptive pattern — tabs in compact, sidebar in regular. However, the current Tab API only supports a title and an image (icon). There is no way to provide a trailing accessory view (e.g., a secondary icon or indicator) for sidebar rows. This is a meaningful gap in the API, because trailing accessories are a well-established pattern throughout UIKit and SwiftUI. Precedent in Apple's own design language Apple already supports trailing accessories in many analogous contexts: UITableViewCell / UICollectionViewListCell — support accessories (disclosure indicators, checkmarks, custom views) via UICellAccessory. UIListContentConfiguration — allows leading and trailing content in list rows. SwiftUI List rows — support Label, HStack with trailing elements, .badge(), and swipeActions. NavigationLink — automatically renders a disclosure chevron as a trailing accessory. UITabSidebarItem (UIKit, iOS 18) — supports configurationUpdateHandler and
Replies
2
Boosts
0
Views
135
Activity
Feb ’26
I cannot log in to Xcode.
Hello. I want to log in to my account on Xcode. It tells me there is an error in my Apple account or password. There is no problem with the password or account. I contacted support and they couldn't solve the problem. What should I do?
Replies
1
Boosts
0
Views
47
Activity
Feb ’26
Recent changes to the App Store Connect API has broken the ability to set the IN_APP_PASS_PROVISIONING capability type
We have been using this API call to set the In-App Provisioning capability for 2+ years and it just recently started returning errors. To set the In-App Provisioning capability we had been using the App Store Connect API directly: curl https://api.appstoreconnect.apple.com/v1/bundleIdCapabilities -X POST --header Authorization: Bearer #{appleApiToken} --header Content-Type: application/json -d '{data: {type: bundleIdCapabilities, attributes: {capabilityType: IN_APP_PASS_PROVISIONING}, relationships: {bundleId: {data: {id: #{appStoreBundleIdentifier}, type: bundleIds}}}}}' The IN_APP_PASS_PROVISIONING capability type is shown, by getting the bundle ID capabilities, when In-App Provisioning is set on a bundle ID: curl https://api.appstoreconnect.apple.com/v1/bundleIds/#{appStoreBundleIdentifier}/bundleIdCapabilities --header Authorization: Bearer #{appleApiToken} After manually setting the In-App Provisioning capability via the Apple Developer portal you will see the new capabilityType: { type : bundl
Replies
3
Boosts
0
Views
763
Activity
Feb ’26
Reply to SPM Failed to verified fingerprint for SSH url since Tahoe 26.3
Im running in to a similar issue. I can resolve my packages but when I run Update to Latest Package Versions from Xcode I get Failed to verify SSH fingerprint
Replies
Boosts
Views
Activity
Feb ’26
How to avoid this thread priority inversions ?
Context: Xcode 16.4, Appkit In a windowController, I need to create and send a mouseDown event (newMouseDownEvent). I create the event with: let newMouseDownEvent = NSEvent.mouseEvent( with: .leftMouseDown, location: clickPoint, // all other fields I also need to make window key and front, otherwise the event is not handled. func simulateMouseDown() { self.window?.makeFirstResponder(self.window) self.calepinFullView.perform(#selector(NSResponder.self.mouseDown(with:)), with: newMouseDownEvent!) } As I have to delay the call( 0.5 s), I use asyncAfter: DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, qos: .userInteractive) { self.simulateMouseDown() } It works as intended, but that generates the following (purple) warning at runtime: [Internal] Thread running at User-interactive quality-of-service class waiting on a lower QoS thread running at Default quality-of-service class. Investigate ways to avoid priority inversions I have tried several solutions, change qos in await: DispatchQueue.main.asyn
Replies
2
Boosts
0
Views
228
Activity
Feb ’26
Reply to What should be enabled for Enhanced Security?
[quote='876600022, anosidium, /thread/815819?answerId=876600022#876600022, /profile/anosidium'] You advised that I should enable all the settings. [/quote] Well, yes, if you read that one sentence in isolation. However, I made it clear that one specific setting, Enable Soft Mode for Memory Tagging, reduces security, so if you goal is security then enabling that is probably not a good choice (-: [quote='876600022, anosidium, /thread/815819?answerId=876600022#876600022, /profile/anosidium'] I am therefore inclined not to enable it. [/quote] Or you could profile your app and see if it makes a difference in pratice. That’s generally the best way to approach performance trade-offs. [quote='876600022, anosidium, /thread/815819?answerId=876600022#876600022, /profile/anosidium'] I am not entirely sure what is meant by logging in [Soft Mode] [/quote] Quoting Enabling enhanced security for your app: This entitlement makes hardware memory tagging operate in soft mode, where the system produces a simulated crash instead
Topic: Privacy & Security SubTopic: General Tags:
Replies
Boosts
Views
Activity
Feb ’26
What should be enabled for Enhanced Security?
I am not very well versed in this area, so I would appreciate some guidance on what should be enabled or disabled. My app is an AppKit app. I have read the documentation and watched the video, but I find it hard to understand. When I added the Enhanced Security capability in Xcode, the following options were enabled automatically: Memory Safety Enable Enhanced Security Typed Allocator Runtime Protections Enable Additional Runtime Platform Restrictions Authenticate Pointers Enable Read-only Platform Memory The following options were disabled by default: Memory Safety Enable Hardware Memory Tagging Memory Tag Pure Data Prevent Receiving Tagged Memory Enable Soft Mode for Memory Tagging Should I enable these options? Is there anything I should consider disabling?
Replies
3
Boosts
0
Views
315
Activity
Feb ’26
Reply to How to renew "Developer ID Application" certificate?
There isn’t a specific affordance for renewing certificates. Rather, you simply create a new one. That’s the same for all our code-signing certificate types. For Developer ID I generally do this using the Developer website rather than Xcode. That’s because Developer ID certificates are precious, as I explain in The Care and Feeding of Developer ID. When you create a certificate using the website, you supply a certificate signing request (CSR). This includes the public key that’ll be embedded in the certificate, the one that matches your private key so that, when the website issues your certificate, the certificate and the private key form a code-signing identity. That gives you two choices: You can create a new CSR, containing the public key from a newly generated key pair. You can reuse the CSR you used previously. Note From a certain perspective, you could interpret the first option as ‘creating a new certificate’ and the second option as ‘renewing a certificate’, but that’s a bit of a stretch. I p
Replies
Boosts
Views
Activity
Feb ’26