Overview

Post

Replies

Boosts

Views

Activity

Apple Pay v2 (signedTransactionInfo) : how to verify new token format and migrate from legacy EC_v1?
I’m updating a legacy application that used Apple Pay v1 token format, and in my new revamped version I’m now receiving the newer Apple Pay v2 format. The old (v1) payload looked like this: php { "version": "EC_v1", "data": "...", "signature": "...", "header": { "ephemeralPublicKey": "...", "publicKeyHash": "...", "transactionId": "..." } } In the new revamp (v2), Apple Pay returns this instead: php { "signedTransactionInfo": "eyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlF..." } From what I understand: v1 tokens were elliptic-curve encrypted JSON objects containing a header and signature. v2 tokens seem to be JWS (JSON Web Signature) strings using the ES256 algorithm, possibly containing transaction and subscription details inside. Questions Is there any official Apple documentation or migration note explaining the move from EC_v1 → signedTransactionInfo? How should I verify or decode the new signedTransactionInfo payload? Should the verification now use Apple’s public keys instead of the legacy Merchant ID certificate? Are there any example implementations or SDKs that can handle both v1 and v2 formats during migration? Is there a recommended way to maintain backward compatibility while transitioning existing users? Goal Ensure that my revamped app can handle Apple Pay v2 tokens securely while keeping the legacy v1 integration functional until all users are migrated.
0
0
403
3w
How to place scrollable header content above a Table in SwiftUI?
Hi everyone, I’m trying to reproduce the layout Apple Music uses for playlists, where there is header content above the table (artwork, title, buttons), and when you scroll, everything scrolls together—the header and table rows move as a single scrollable region. Here’s an example of what I’m trying to achieve: I’m using SwiftUI’s Table view and I haven’t found a clean way to place custom content above the table while keeping everything inside the same scroll view. Is there currently a recommended way to achieve Apple Music–style scrollable header + table content using SwiftUI? Thanks!
1
0
148
4w
AVCapturePhotoOutput crashes at delegate callback on MacOS 13.7.5
A functioning Multiplatform app, which includes use of Continuity Camera on an M1MacMini running Sequoia 15.5, works correctly capturing photos with AVCapturePhoto. However, that app (and a test app just for Continuity Camera) crashes at delegate callback when run on a 2017 MacBookPro under MacOS 13.7.5. The app was created with Xcode 16 (various releases) and using Swift 6 (but tried with 5). Compiling and running the test app with Xcode 15.2 on the 13.7.5 machine also crashes at delegate callback. The iPhone 15 Continuity Camera gets detected and set up correctly, and preview video works correctly. It's when the CapturePhoto code is run that the crash occurs. The relevant capture code is: func capturePhoto() { let captureSettings = AVCapturePhotoSettings() captureSettings.flashMode = .auto photoOutput.maxPhotoQualityPrioritization = .quality photoOutput.capturePhoto(with: captureSettings, delegate: PhotoDelegate.shared) print("**** CameraManager: capturePhoto") } and the delegate callbacks are: class PhotoDelegate: NSObject, AVCapturePhotoCaptureDelegate { nonisolated(unsafe) static let shared = PhotoDelegate() // MARK: - Delegate callbacks func photoOutput( _ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: (any Error)? ) { print("**** CameraManager: didFinishProcessingPhoto") guard let pData = photo.fileDataRepresentation() else { print("**** photoOutput is empty") return } print("**** photoOutput data is \(pData.count) bytes") } func photoOutput( _ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings ) { print("**** CameraManager: willBeginCaptureFor") } func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) { print("**** CameraManager: willCaptureCapturePhotoFor") } } The crash report significant parts are..... Crashed Thread: 3 Dispatch queue: com.apple.cmio.CMIOExtensionProviderHostContext Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 Exception Codes: 0x0000000000000001, 0x0000000000000000 Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [30850] VM Region Info: 0 is not in any region. Bytes before following region: 4296495104 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> __TEXT 100175000-10017f000 [ 40K] r-x/r-x SM=COW ...tinuityCamera Thread 0:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x7ff803aed552 mach_msg2_trap + 10 1 libsystem_kernel.dylib 0x7ff803afb6cd mach_msg2_internal + 78 2 libsystem_kernel.dylib 0x7ff803af4584 mach_msg_overwrite + 692 3 libsystem_kernel.dylib 0x7ff803aed83a mach_msg + 19 4 CoreFoundation 0x7ff803c07f8f __CFRunLoopServiceMachPort + 145 5 CoreFoundation 0x7ff803c06a10 __CFRunLoopRun + 1365 6 CoreFoundation 0x7ff803c05e51 CFRunLoopRunSpecific + 560 7 HIToolbox 0x7ff80d694f3d RunCurrentEventLoopInMode + 292 8 HIToolbox 0x7ff80d694d4e ReceiveNextEventCommon + 657 9 HIToolbox 0x7ff80d694aa8 _BlockUntilNextEventMatchingListInModeWithFilter + 64 10 AppKit 0x7ff806ca59d8 _DPSNextEvent + 858 11 AppKit 0x7ff806ca4882 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1214 12 AppKit 0x7ff806c96ef7 -[NSApplication run] + 586 13 AppKit 0x7ff806c6b111 NSApplicationMain + 817 14 SwiftUI 0x7ff90e03a9fb 0x7ff90dfb4000 + 551419 15 SwiftUI 0x7ff90f0778b4 0x7ff90dfb4000 + 17578164 16 SwiftUI 0x7ff90e9906cf 0x7ff90dfb4000 + 10340047 17 ContinuityCamera 0x10017b49e 0x100175000 + 25758 18 dyld 0x7ff8037d1418 start + 1896 Thread 1: 0 libsystem_pthread.dylib 0x7ff803b27bb0 start_wqthread + 0 Thread 2: 0 libsystem_pthread.dylib 0x7ff803b27bb0 start_wqthread + 0 Thread 3 Crashed:: Dispatch queue: com.apple.cmio.CMIOExtensionProviderHostContext 0 ??? 0x0 ??? 1 AVFCapture 0x7ff82045996c StreamAsyncStillCaptureCallback + 61 2 CoreMediaIO 0x7ff813a4358f __94-[CMIOExtensionProviderHostContext captureAsyncStillImageWithStreamID:uniqueID:options:reply:]_block_invoke + 498 3 libxpc.dylib 0x7ff803875b33 _xpc_connection_reply_callout + 36 4 libxpc.dylib 0x7ff803875ab2 _xpc_connection_call_reply_async + 69 5 libdispatch.dylib 0x7ff80398b099 _dispatch_client_callout3 + 8 6 libdispatch.dylib 0x7ff8039a6795 _dispatch_mach_msg_async_reply_invoke + 387 7 libdispatch.dylib 0x7ff803991088 _dispatch_lane_serial_drain + 393 8 libdispatch.dylib 0x7ff803991d6c _dispatch_lane_invoke + 417 9 libdispatch.dylib 0x7ff80399c3fc _dispatch_workloop_worker_thread + 765 10 libsystem_pthread.dylib 0x7ff803b28c55 _pthread_wqthread + 327 11 libsystem_pthread.dylib 0x7ff803b27bbf start_wqthread + 15 Of course, the MacBookPro is an old device - but Continuity Camera works with the installed Photo Booth app, so it's possible. Any thoughts on solving this situation would be appreciated. Regards, Michaela
1
0
449
3w
UISplitViewController.showDetailViewController() not working in iPhone version.
Since updating to Tahoe and Xcode 26 I have found that the UISplitViewController.showDetailViewController() is not working in the iPhone version of my app (it is a universal app). I'm just trying to show a detail view after a tap on a UITableView item. The iPad versions are all working correctly. Has anyone else experienced this or have any advice about what may have changed? Thanks in advance.
1
0
153
3w
Getting CoreML to run inference on already allocated gpu buffers
I am running some experiments with WebGPU using the wgpu crate in rust. I have some Buffers already allocated in the GPU. Is it possible to use those already existing buffers directly as inputs to a predict call in CoreML? I want to prevent gpu to cpu download time as much as possible. Or are there any other ways to do something like this. Is this only possible using the latest Tensor object which came out with Metal 4 ?
0
0
433
3w
Read ppse and card info
i'm trying to understand which entitlements i need to ask for in order to be able to read the credit card via NFC. I work for the bank and i'd like the read our card in order to verify there are the bank's credit card. The goal is to be able to use the card as a physical token to verify the user identity. on android we manage to do this without limitation if (await NfcManager.isSupported()) { await NfcManager.requestTechnology(NfcTech.IsoDep) const tag = await NfcManager.getTag() if (tag) toast.success("NFC Tag read successfully", { cancel: undefined, description: tag.id, id }) else toast.error("No NFC Tag found", { cancel: undefined, id }) const ppse = await NfcManager.isoDepHandler.transceive([ 0x00, 0xa4, 0x04, 0x00, 0x0e, 0x32, 0x50, 0x41, 0x59, 0x2e, 0x53, 0x59, 0x53, 0x2e, 0x44, 0x44, 0x46, 0x30, 0x31, 0x00, ]) logger.info("PPSE", ppse.map((c) => fromBase10ToHex(c, 2)).join(" ")) const select = await NfcManager.isoDepHandler.transceive([ 0x00, 0xa4, 0x04, 0x00, 0x07, 0xa0, 0x00, 0x00, 0x00, 0x04, 0x10, 0x10, 0x00, ]) logger.info("Select AID", select.map((c) => fromBase10ToHex(c, 2)).join(" ")) const gpo = await NfcManager.isoDepHandler.transceive([0x80, 0xa8, 0x00, 0x00, 0x02, 0x83, 0x00, 0x00]) logger.info("GPO", gpo.map((c) => fromBase10ToHex(c, 2)).join(" ")) const record = await NfcManager.isoDepHandler.transceive([0x00, 0xb2, 0x01, 0x14, 0x00]) logger.info("record: ", record.map((c) => fromBase10ToHex(c, 2)).join(" ")) logger.info("PAN", findTag(record, [0x5a])) logger.info("expiry", findTag(record, [0x5f, 0x24])?.reverse()) } but on ios we have restricted access and the ppse doesn't work but i can't find which entitlement i need to ask for, since HCE is to make the iphone into a nfc tag himself and the tap to pay is to pay with the iphone, both of those doesn't match my needs and i wouldn't be able to valid the requirement to get them into production. So i am wondering which entitlement i needs to ask for in order to be able to scan the card inside the bank app. We only care about our card
1
0
154
3w
App Review Stuck for Months Even After Providing All Required Explanations
Hello, I’m seeking help regarding an App Review situation that has become increasingly difficult to resolve. Our app has been in review since July 29, and despite multiple rounds of communication, detailed explanations, updated builds, and full implementation of all required changes, the review process continues to stall without clear feedback. Most recently, we received new review questions regarding the External Purchase entitlement and the “Notify Me When Open” feature. We provided a detailed explanation addressing each point, including clarification that: All digital purchases, including Online Groups, use the StoreKit External Purchase API. The External Purchase Modal Sheet appears before every purchase flow. The “Notify Me When Open” feature does not initiate or bypass a payment flow; it only notifies users when a time-scheduled course becomes available, after which the user proceeds through the standard StoreKit External Purchase Modal Sheet. After submitting these explanations, our app returned to the “In Review” state. However, it has now remained there for five consecutive days, again with no further questions or updates. When combined with the previous review cycles, the total delay is approaching five months. This extended review period is causing significant challenges for our service, as users have been unable to access essential updates and continue facing issues in the outdated version of the app. Has anyone experienced a similar situation where the review remains stuck even after addressing all feedback and providing the required materials? Is there any additional way to escalate or request deeper assistance beyond the standard channels? Any guidance or shared experience would be greatly appreciated. Thank you.
2
0
231
3w
iOS 26 UI Components Not Rendering in TestFlight
Issue Summary: iOS 26 UI components are not visible in the Expo app when installed via TestFlight. All components render correctly in local builds or when running with expo run:ios. Details: The app is built using Expo managed workflow. iOS 26-specific UI components do not appear in TestFlight builds. The same components display correctly in local builds and simulators. Test device: iPhone running iOS 26.1. There are no crashes or runtime errors; only the components are missing. This issue occurs only in TestFlight/release builds. Expected Behavior: All iOS 26 UI components should render in TestFlight builds the same way they do in local builds. Actual Behavior: Components fail to render or are completely missing. Device Information: Device: iPhone iOS Version: 26.1 Distribution: TestFlight Local Build: Working correctly Additional Notes: This may be related to Expo release build optimization or iOS 26 SDK compatibility.
0
0
161
3w
Notification Tones of tonetype SystemSounds is Not Routing to Connected Bluetooth HFP Accessory (WM500)
When an iOS device is connected to a Bluetooth accessory that utilizes the Hands-Free Profile (HFP), we are encountering an incorrect audio routing behavior specifically for system notification tones. Accessory Connected: The iOS device is successfully connected to a Bluetooth accessory (specifically, a WM500 device) using the HFP profile for voice communication. Voice Audio: Audio streams related to phone calls or voice communication (using the HFP/SCO link) are correctly routed to the WM500. Notification Tones Issue: System notification tones, which are played using the tonetype.systemsounds API, are not being routed to the connected HFP accessory (WM500). Instead, they are incorrectly played through the iOS device's built-in speaker. This causes a poor user experience, as critical application alerts and system notifications are missed when the user is relying on the connected HFP accessory for all audio output.
0
0
24
3w
iCloud Database Errors and Limits
We are currently implementing a custom iCloud sync for our macOS and iOS apps using CloudKit. Syncing works fine as long as the number of record sends is relatively small. But when we test with a large number of changes ( 80,000+ CKRecords ) we start running into problems. Our sending strategy is very conservative to avoid rate limits: We send records sequentially in batches of 250 records With about 2 seconds pause between operations Records are small and contain no assets (assets are uploaded separately) At some point we start receiving: “Database commit size exceeds limit” After that, CloudKit begins returning rate-limit errors with retryAfter-Information in the error. We wait for the retry time and try again, but from this moment on, nothing progresses anymore. Every subsequent attempt fails. We could not find anything in the official documentation regarding such a “commit size” limit or what triggers this failure state. So my questions are: Are there undocumented limits on the total number of records that can exist in an iCloud database (private or shared)? Is there a maximum volume of record modifications a container can accept within a certain timeframe, even if operations are split into small batches with pauses? Is it possible that sending large numbers of records in a row can temporarily or permanently “stall” a CloudKit container? Any insights or experiences would be greatly appreciated. Thank you!
0
0
134
3w
macOS Simulator
Currently Xcode has iOS simulators that allow easily testing apps on older versions of iOS. It would be helpful if there was also a macOS simulator for testing apps on older versions of macOS. FB21229682 https://github.com/feedback-assistant/reports/issues/724
0
0
79
3w
In SwiftUI, how to animate from an arbitrary corner radius to the corner radius of the display?
I am trying to implement a common UX/UI pattern: one view with rounded corners transitioning to a view that fills the screen (N.B. having the display's corner radius). I got this to work if both corner radiuses are equal to that of the display (see first GIF). However, I cannot seem to get it to work for arbitrary corner radiuses of the smaller view (i.e., the one that does not fill the screen). I expected the be able to combine ContainerRelativeShape with .containerShape (see code), but this left me with a broken transition animation (see second GIF). import SwiftUI struct ContentView: View { @Namespace private var animation @State private var selectedIndex: Int? var body: some View { ZStack { if let selectedIndex = selectedIndex { ContainerRelativeShape() .fill(Color(uiColor: .systemGray3)) .matchedGeometryEffect(id: "square-\(selectedIndex)", in: animation) .ignoresSafeArea() .onTapGesture { withAnimation() { self.selectedIndex = nil } } .zIndex(1) } ScrollView { VStack(spacing: 16) { ForEach(0..<20, id: \.self) { index in if selectedIndex != index { ContainerRelativeShape() // But what if I want some other corner radius to start with? .fill(Color(uiColor: .systemGray5)) .matchedGeometryEffect(id: "square-\(index)", in: animation) .aspectRatio(1, contentMode: .fit) .padding(.horizontal, 12) .onTapGesture { withAnimation() { selectedIndex = index } } // .containerShape(RoundedRectangle(cornerRadius: 20)) // I can add this to change the corner radius, but this breaks the transition of the corners } else { Color.clear .aspectRatio(1, contentMode: .fit) .padding(.horizontal, 12) } } } .padding(.vertical, 16) } } } } #Preview { ContentView() } What am I missing here? How can I get this to work? And where is the mistake in my reasoning?
1
0
108
3w
Shortcut to wrap selected lines in a #if/#endif
I'm looking for a way to make the following possible in Xcode (26.0 or later): I select one or more lines of code. I then enter a hotkey (or select a menu item) that results in adding the line: #ifdef SOME_MACRO before the selection and adding the line: #endif after the selection. Example: Start with the following lines of code: BOOL x = NO; int y = 4; NSString *str = @"Hello"; If I then highlight the int y = 4; line and use the proper hotkey or menu, the result would be: BOOL x = NO; #ifdef SOME_MACRO int y = 4; #endif NSString *str = @"Hello"; Is something like this possible in Xcode? I looked at code snippets but that doesn't seem to support wrapping existing code. I looked at the Xcode Settings under Editor and Shortcuts and didn't see a way to add such a custom shortcut.
0
0
34
3w
Error in validating binary for the iPad multitasking
When I try to validate my app I get the following error: Invalid bundle. Because your app supports Multitasking on iPad, you need to include the LaunchScreen.storyboard launch storyboard file in your com.augmentedReality.virtualTags bundle. Use UlLaunchScreen instead if the app's MinimumOSVersion is 14 or higher and you prefer to configure the launch screen without storyboards. For details, see: https:// developer.apple.com/documentation/bundleresources/information_property_list/ uilaunchstoryboardname (ID: 236f630a-a014-48e8-910a-77d9c0ff6f51) What should I do to fix it? In the previous Xcode version and on another app it did not appear. MacBook Pro M5, Tahow 26.1, Xcode 26.1.1
1
0
56
3w
Multiple iOS App Store rejection due to revenue cat "purchase failure: there was a problem with the apple store"
​ My app has been rejected multiple times during the last few weeks because Apple reviewer is unable to complete the purchase on revenue cat paywall. They gave this error message: Guideline 2.1 - Performance - App Completeness We were still unable to purchase the subscription successfully. Review device details: Device type: iPad Air 11-inch (M2) OS version: iPadOS 26.1 Next Steps When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead. Resources Note that in-app purchases do not need to have been previously approved to confirm they function correctly in review. Note that the Account Holder must accept the Paid Apps Agreement in the Business section of App Store Connect before paid in-app purchases will function. Learn how to set up and test in-app purchase products in the sandbox environment. Learn more about validating receipts with the App Store.   The offerings are fetched correctly but they are unable to complete the purchase. I tested on my physical iPhone with real account (not sandbox) and get the same exact error. I have provided screenshot of the paywall screen and my App Store Connect pages below. I think issue might be because my subscriptions on App Store are not approved but I’m not sure. I heard you are supposed to submit them same time when you submit your build. I submitted both but Apple also rejected my subscriptions saying the images were duplicate. Now they say “developer action needed” First of all, it says the images are optional so why does it matter what they are? Second of all, what image am I supposed to provide there then?  Guideline 2.3.2 - Performance - Accurate Metadata We noticed that your promotional image to be displayed on the App Store does not sufficiently represent the associated promoted in-app purchase and/or win back offer. Specifically, we found the following issue with your promotional image: – You submitted duplicate or identical promotional images for different promoted in-app purchase products and/or win back offers. Next Steps To resolve this issue, please revise your promotional image to ensure it is unique and accurately represents the associated promoted in-app purchase and/or win back offer. If you have no future plans on promoting this in-app purchase product, you can delete the associated promotional image in App Store Connect. Resources Learn how to view and edit in-app purchase information in App Store Connect. Discover more best practices for promoting your in-app purchases on the App Store.   Support Reply to this message in your preferred language if you need assistance. If you need additional support, use the Contact Us module. Consult with fellow developers and Apple engineers on the Apple Developer Forums. Request an App Review Appointment at Meet with Apple to discuss your app's review. Appointments subject to availability during your local business hours on Tuesdays and Thursdays. Provide feedback on this message and your review experience by completing a short survey.     ​
1
0
166
3w
In-App Purchases "Waiting for Verification" - App rejected. How to break the loop?
Hi, I'm stuck in a loop with my app submission: Created auto-renewable subscriptions in App Store Connect Status: "Waiting for Verification" App gets rejected: "in-app purchases don't display" But they can't display because they're not approved yet Question: Do I need to attach the subscriptions to my app version BEFORE submitting? If so, where? I've done: Created subscription group with metadata Configured pricing and localizations Set up RevenueCat integration What am I missing to get out of "Waiting for Verification"? Thanks!
0
0
153
3w
域名《TL 9655. com》腾龙公司游戏联系网址公司
腾龙镜头注册流程--薇---1847933278--旨在确保用户能够享受到官方提供的保修、客户支持和专属优惠。以下是注册腾龙镜头的一般步骤,具体流程可能因地区而异。 注册准备 购买渠道: 确保从授权经销商处购买镜头。 所需信息: 准备好镜头的序列号、购买日期和购买凭证(如发票或收据)。 注册步骤 访问官方网站: 前往腾龙官方网站,通常有专门的镜头注册页面。根据您所在的地区选择相应的网站(例如,腾龙美国、腾龙欧洲等)。 创建账户 / 登录: 如果是首次注册,您可能需要创建一个用户账户。如果已有账户,直接登录即可。 填写注册信息: 在注册页面上,填写镜头的所有必要信息,包括序列号、购买日期、购买地点等。 上传购买凭证: 按照网站指示上传购买凭证的扫描件或照片。 提交注册: 仔细检查填写的信息,确认无误后提交注册。 等待审核: 提交后,您可能会收到一封确认邮件。腾龙可能会审核您的注册信息,并在几个工作日内通知您注册结果。 注册完成后的权益 延长保修期: 在某些地区,注册后可以享受额外的延长保修服务。 参与活动: 获得参与腾龙举办的促销活动、研讨会和新品发布会的资格。 接收资讯: 订阅腾龙的电子新闻,获取最新的产品信息和优惠。
0
0
230
3w