During our Apple Pay integration testing, we encountered an issue that we're unsure how to resolve. Below are the steps we followed:
Created an Apple Pay sandbox test account for Raul and added a test card, following the documentation here: https://developer.apple.com/apple-pay/sandbox-testing/
Opened the Golfmanager platform and initiated a booking.
For payment, selected Apple Pay as the method.
Raul clicked the Apple Pay button on the Golfmanager UI.
He scanned the QR code using his iPhone, logged in with the test account.
Apple Pay began validating our merchant identity and retrieved the wallet token to proceed with payment.
The Apple Pay payment sheet appeared on Raul's iPhone, showing the card details and the amount requested by Golfmanager.
Suddenly, the Apple Pay sheet closed unexpectedly, and we have no insight into what went wrong or what might be missing on our end.
Here is the video: https://drive.google.com/file/d/1r-73edQ9eBZzXi6HoSYYGjKO8LbxBrZi/view?usp=drive_web
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Created
Hi,
We've noticed that this issue occurs more frequently after upgrading to iOS 18.4.1 and can result in one-way audio.
Our app uses CallKit with WebRTC to establish VoIP connections.
However, on iOS 18.4.1, CallKit no longer triggers:
func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession)
We're currently comparing the occurrence rate across different iOS versions to better understand the impact.
Could you please help analyze the root cause of this issue?
Hi,
macOS (latest macOS, latest HW, but doesn't matter) seems to prevent CoreMIDI driver logging with standard logging procedures (syslog, unified logging).
The only chance to log something is writing to a file at one of the rare write-accessible locations for CoreMIDI.
How is this supposed to work? Any hint is highly appreciated. Thanks!
I'm implementing the 'new' QLThumbnailProvider for our macOS app...
So I just created the skeleton from Xcode, added our QLSupportedContentTypes in Info.plist, and have the skeleton code like below:
import QuickLookThumbnailing
class ThumbnailProvider: QLThumbnailProvider {
override func provideThumbnail(for request: QLFileThumbnailRequest, _ handler: @escaping (QLThumbnailReply?, Error?) -> Void) {
// cannot trigger break point here!
}
I understand I should test the Thumbnail Extension by using:
$ qlmanage -t my_file.ext
Testing Quick Look thumbnails with files:
my_file.ext
But I don't know what process to attach to in the Xcode debugger... a bit clueless...
I've skimmed relevant parts of https://developer.apple.com/videos/play/wwdc2019/719, but there is no real debug tips...
Does anyone know if it is possible to debug with Xcode or not? And if possible, then how? 😅
Would anyone help why my account got terminated. I checked my app & it had simple text pricing typo should not be grounds for account termination. Even i made a typo in iap price the price of product on apple server was correct & when user try to buy item the correct price is loaded from apple sever. If this was the reason for the decision, I would like the opportunity to correct the issue rather than face such a severe penalty.
"This letter serves as notice of termination of the Apple Developer Program License Agreement (the “ADP Agreement”) and the Apple Developer Agreement (the “Developer Agreement”) between you and Apple effective immediately.
Pursuant to Section 3.2(f) of the ADP Agreement, you agreed that you would not “commit any act intended to interfere with any of the Apple Software or Services, the intent of this Agreement, or Apple’s business practices including, but not limited to, taking actions that may hinder the performance or intended use of the App Store, Custom App Distribution, TestFlight, Xcode Cloud, Ad Hoc distribution, or the Program …” Apple has good reason to believe that you violated this Section due to documented indications of fraudulent conduct associated with your account.
Apple is exercising its right to terminate your status as an Apple developer pursuant to the Apple Developer Agreement and is terminating you under the ADP Agreement for dishonest and fraudulent acts relating to that agreement. We would like to remind you of your obligations with regard to all software and other confidential information that you obtained from Apple as an Apple developer and under the ADP Agreement. You must promptly cease all use of and destroy such materials and comply with all the other termination obligations set forth in Section 11.3 of the ADP Agreement and Section 10 of the Apple Developer Agreement.
If applicable, no further payments will be made to you pursuant to Section 7.1 of the Paid Applications agreement (Schedules 2 and 3 to the ADP Agreement).
This letter is not intended to be a complete statement of the facts regarding this matter, and nothing in this letter should be construed as a waiver of any rights or remedies Apple may have, all of which are hereby reserved. Finally, please note that we will deny your reapplication to the Apple Developer Program for at least a year considering the nature of your acts. If you want to file an official complaint pursuant to an applicable Platform Regulation in your country or region you may Contact Us."
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
I am noticing an issue that when .popoverTip() is presented, any tap gesture will only dismiss the tip and will not be passed down.
This means that if tip is applied to a button, tapping the button will only dismiss the tip but will not trigger the action.
Which logically breaks user expectation and defeats the whole point of a popover tip, as user will need to tap twice on the button to activate intended functionality.
Button("Settings", systemImage: "gear") {
// Will not trigger until tip is dismissed and button is tapped again.
showSettings.toggle()
}
.popoverTip(SettingsTip())
Hi Apple Developer Community,
We have carefully reviewed the documentation on App Transfer and User Migration, but we still have a few unresolved questions regarding Apple Sign-In token behavior and testing strategies. Would appreciate any guidance!
Token Behavior for Pre-Transfer App Versions
After the app transfer: If a user logs in via an existing pre-transfer version of the app (published under Team A before transfer), will the Apple Sign-In token’s sub (or private email) switch to new value tie to Team B, or unchanged?
This is critical for our user migration plan.
Preserving sub Across Transfers (Internal Team Transfer)
Since our app-transfer is an internal transfer (no change in app ownership outside our organization), is there a way to retain the original sub value(or private email) for users after the transfer?
We are concerned that Apple Sign-In errors during the app transfer process may negatively impact user experience.
Testing the Transfer Process Safely
We’d like to simulate the app transfer and user migration process in a sandbox/test environment before executing it in production. Is there a way to test app transfers without affecting live users? (e.g., a staging mode for transfers)
Thank you for your expertise! Any insights would be invaluable.
Topic:
Privacy & Security
SubTopic:
Sign in with Apple
Tags:
Sign in with Apple REST API
Sign in with Apple
Hi everyone,
I’m a student developer currently building a watchOS app that uses HealthKit and HKWorkoutSession to estimate core body temperature from real-time heart rate data. The app runs well in the simulator, but testing on a physical Apple Watch has been extremely difficult.
Each time I try to run the app from Xcode (Version 16.3), the build gets stuck on:
“Copying shared cache symbols from MyWatchName (0% completed)”
Sometimes it just stops stating connection failure. However, more often no errors are shown, but the sync never finishes. I’ve tried the following without success:
Restarting the watch, iPhone, and Xcode
Switching networks (Wi-Fi and hotspot)
USB wired pairing
Resetting developer settings and trust prompts
Deleting derived data
Rebuilding the project
This is especially limiting for a real-time health tracking app where I need to monitor HKLiveWorkoutBuilder data while the screen sleeps — which can’t be tested effectively in the simulator.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Watch Connectivity
WatchKit
watchOS
HealthKit
We are an issuer attempting to implement In-App Provisioning of Payment Cards leveraging Mastercard MDES and have successfully obtained our entitlement from Apple, but have not received the documentation titled "Getting Started with Apple Pay In-App Provisioning, Verification & Security".
The latest copy I have found has been via Scribd for a version 3.0 from June 2020. I've tried contacting Apple Support and the In-App Provisioning Entitlements group but have had no luck.
Thank you!
Topic:
App & System Services
SubTopic:
Apple Pay
Using the example code posted here:
https://developer.apple.com/documentation/visionOS/tracking-images-in-3d-space
I can register multiple ReferenceImage s with a ImageTrackingProvider, but only one updates at a time - to have realtime updating, I can only have one ImageAnchor in my field of view at a time.
Is it possible to track multiple imageAnchors at the same time in the same field of view? As in having several ImageAnchor's tracked and entities updated to the transforms of the anchor in the same frame/moment from the Apple Vision Pro?
Topic:
Spatial Computing
SubTopic:
ARKit
Hi all,
I'm trying to add Spotlight support to a macOS app that handles custom virtual machine bundles with the .vpvm extension. I’ve followed the current documentation and used the modern CSImportExtension approach with a Spotlight Importer extension target.
Here’s what I’ve done:
App Info.plist:
Declared com.makeprog.vpvm as a UTI conforming to com.apple.package.
Registered it under UTExportedTypeDeclarations and CFBundleDocumentTypes.
Spotlight Importer Extension:
Added a new macOS target using the Spotlight Import Extension template.
Set the NSExtensionPointIdentifier to com.apple.spotlight.import.
Used CSSupportedContentTypes = com.makeprog.vpvm.
Implemented a minimal update(_ attributes:forFileAt:) method that sets displayName, title, and contentDescription.
Other steps:
Verified that the .appex is embedded under Contents/PlugIns/.
Confirmed it appears in mdimport -e output with correct UTI.
Used mdimport -m -d2 -t /path/to/file.vpvm, but I still get:
Imported '/path/to/file.vpvm' of type 'com.makeprog.vpvm' with no plugIn.
The extension is never invoked. I’ve also tried:
Ensuring the .vpvm file is a valid directory bundle.
Restarting Spotlight / rebuilding index.
Ensuring the app and extension are properly signed.
Tried installing the app in test virtual machine
Question:
Has anyone successfully used CSImportExtension for custom UTIs?
Is there something additional I need to do for the extension to be recognized and triggered?
Any advice or examples would be greatly appreciated!
Thanks in advance.
I have a Core Image filter in my app that uses Metal. I cannot compile it because it complains that the executable tool metal is not available, but I have installed it in Xcode.
If I go to the "Components" section of Xcode Settings, it shows it as downloaded. And if I run the suggested command, it also shows it as installed. Any advice?
Xcode Version
Version 26.0 beta (17A5241e)
Build Output
Showing All Errors Only
Build target Lessons of project StudyJapanese with configuration Light
RuleScriptExecution /Users/chris/Library/Developer/Xcode/DerivedData/StudyJapanese-glbneyedpsgxhscqueifpekwaofk/Build/Intermediates.noindex/StudyJapanese.build/Light-iphonesimulator/Lessons.build/DerivedSources/OtsuThresholdKernel.ci.air /Users/chris/Code/SerpentiSei/Shared/iOS/CoreImage/OtsuThresholdKernel.ci.metal normal undefined_arch (in target 'Lessons' from project 'StudyJapanese')
cd /Users/chris/Code/SerpentiSei/StudyJapanese
/bin/sh -c xcrun\ metal\ -w\ -c\ -fcikernel\ \"\$\{INPUT_FILE_PATH\}\"\ -o\ \"\$\{SCRIPT_OUTPUT_FILE_0\}\"'
'
error: error: cannot execute tool 'metal' due to missing Metal Toolchain; use: xcodebuild -downloadComponent MetalToolchain
/Users/chris/Code/SerpentiSei/StudyJapanese/error:1:1: cannot execute tool 'metal' due to missing Metal Toolchain; use: xcodebuild -downloadComponent MetalToolchain
Build failed 6/9/25, 8:31 PM 27.1 seconds
Result of xcodebuild -downloadComponent MetalToolchain (after switching Xcode-beta.app with xcode-select)
xcodebuild -downloadComponent MetalToolchain
Beginning asset download...
Downloaded asset to: /System/Library/AssetsV2/com_apple_MobileAsset_MetalToolchain/4d77809b60771042e514cfcf39662c6d1c195f7d.asset/AssetData/Restore/022-19457-035.dmg
Done downloading: Metal Toolchain (17A5241c).
Screenshots from Xcode
Result of "Copy Information"
Metal Toolchain 26.0 [com.apple.MobileAsset.MetalToolchain: 17.0 (17A5241c)] (Installed)
We are looking for sample payload for merchant registration API.
We have tried to test the api and getting an error.
Request:
curl --location 'https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant'
--header 'Content-Type: application/json'
--data '{
"domainNames": "https://checkout.dev.sandbox-netvalve.com",
"encryptTo": "platformintegrator.com.netvalve.uat",
"partnerInternalMerchantIdentifier": "merchant.test.netvalve",
"partnerMerchantName": "Test"
}'
Response:
{
"statusMessage": "Payment Services Exception invalid or Malformed Json Received",
"statusCode": "400" }
Topic:
App & System Services
SubTopic:
Apple Pay
In previous versions of the simulator, it was possible to import files into the Files app by dragging them from the Finder into the Simulator. It appears that in the iOS 26 Simulator, this opens the file in Safari.
I've only tried it with .json files so far.
The documentation at https://developer.apple.com/documentation/xcode/sharing-data-with-simulator says that the original behaviour should happen:
To add files to Simulator, select one or more files in Finder on your Mac, then click the Share button. Select Simulator from the share destination list. Choose the simulated device from the drop-down list. Simulator opens the Files app, and lets you select where to save the files.
I'd love to learn if this is intentional behaviour, and if so, what workarounds there might be. I use this pattern quite a lot, as I have a HealthKit app, and I've built a system that allows me to export workouts as JSON files from a real device, that I can then import into a simulator for testing.
Edit: I found a workaround. Make a folder in Files.app, then search for it within ~/Library/Developer/CoreSimulator/Devices. Open the folder in Finder, then add any files you want to be available in the Simulator.
Noticing a few issues with Screen Savers in macOS Tahoe developer beta 1 :
The command
open x-apple.systempreferences:com.apple.ScreenSaver-Settings.extension
no longer works to open the Screen Savers preference pane. The reason? There is no longer a Screen Saver preference pane - it still exists, but it's now a Modal dialog (that can not be resized) that is opened from within the Wallpaper preference pane, by clicking a button.
Something funny is happening with legacyScreensaver - I think that
ScreenSaverView.Init(frame:isPreview)
may be passing wrong values, e.g. the isPreview boolean is false in Preview mode?
I've submitted Feedback # FB17895600 about some of these, and will report back more as I figure things out.
Please feel free to add to this thread, thanks!
I'm trying to setup a macOS 26 build environment in a VM (using UTM and the virtualization framework Apple provides).
I have Xcode 26 installed and have logged into my Apple ID and verified that the team and other configuration looks fine in Xcode settings.
When trying to build the macOS app, I see errors saying the VM's device ID has not been registered. I have confirmed that the device ID is registered both in the Provisioning portal AND the downloaded .provisionprofiles (in Library > Developer > Xcode > UserData).
This problem appears on multiple targets (e.g. the main app and extensions).
If I try to manually provision the app, using the Provisioning portal, I can build the product, but it will not launch because of Gatekeeper issues.
Finally, signing to run locally doesn't work either. As the app launches, frameworks refuse to load because Team IDs don't match. With ad hoc provisioning, there are no Team IDs.
I've come to the conclusion that this just isn't possible.
Which is a shame because I need to support products with a build environment on macOS 15 and cannot move over to macOS 26 yet. I suspect many developers outside of Apple are in a similar position.
please fix!
I couldn't find any mention in the Wi-Fi Aware documentation https://developer.apple.com/documentation/WiFiAware about the possibilities of the Wi-Fi Aware connection during the app working in the background execution mode (background state).
Does the framework keep the connection alive when the app goes to the background state?
Is there anything similar concept to CoreBluetooth state restoration available in the case of the Wi-Fi Aware framework?
Topic:
App & System Services
SubTopic:
Networking
I'm experimenting with using the Foundation Models framework to do news summarization in an RSS app but I'm finding that a lot of articles are getting kicked back with a vague message about guardrails.
This seems really common with political news but we're talking mainstream stuff, i.e. Politico, etc.
If the models are this restrictive, this will be tough to use. Is this intended?
FB17904424
Topic:
Machine Learning & AI
SubTopic:
Foundation Models
I have been spending countless amounts of time making sure my application abides by the rules laid out by Apple App Guidelines.
Most recently I got this rejection from App Review:
_**Guideline 3.1.1 - Business - Payments - In-App Purchase
**
The app includes an account registration feature for businesses and organizations, which is considered access to external mechanisms for purchases or subscriptions to be used in the app.
**Next Steps
**
Remove the account registration features for business and organizations._
After asking for the review to clarify what they mean they said:
_"Regarding guideline 3.1.1, users were still able to create an entirely independent business account, when they create a new account without the invite code.
To resolve this issue, it would be appropriate to remove the account registration features for business and organizations."_
But the problem is that There are no different account types in our app. ALL users create company accounts - there is no individual vs business distinction. Users either join existing companies (with invite codes) or create new companies (without invite codes), but the account type is identical in both cases.
I think the App Review has a problem that I am using the word "Company" during registration but users do not sign up business accounts. they are all the same. there are MANAGER users and MEMBER users. Managers can upgrade and they MUST use Apple's IAP to upgrade (I have it set up so there's no other way they can upgrade without using Apple's IAP). Members are just assigned to Manager teams/company/organization (what ever you want to call the group).
I think they are getting completely hung up on the word when in reality it's fine. Any help here? Please this has been going on for weeks. I am happy to meet with Support too.