Overview

Post

Replies

Boosts

Views

Activity

Guidance on Migrating Active Subscriptions from Apple Server Notifications v1 to v2
I’m reaching out regarding our existing in-app subscription implementation that currently uses App Store Server Notifications version 1 (v1). Our live application has a significant number of active recurring subscriptions that are being managed through the v1 webhook integration. We have now developed a revamped version of our application, which uses the same Apple Developer Account and App Store Connect setup, but in this new app version, we’ve implemented App Store Server Notifications version 2 (v2). Before moving forward with the migration, I would like to clarify the following points to ensure a smooth transition and avoid any disruptions to ongoing subscriptions: Backward Compatibility: Will existing active subscriptions (originally created and managed via v1 notifications) continue to work seamlessly once we switch to v2, or do we need to maintain both v1 and v2 endpoints during the transition? Notification Delivery: If both webhook versions are configured simultaneously, will Apple send notifications to both endpoints, or only the one currently configured in App Store Connect? Migration Strategy: What is Apple’s recommended best practice for migrating from v1 to v2 in a scenario where the live app still has active subscriptions tied to the v1 webhook? Potential Risks or Considerations: Are there any known limitations, delays, or issues that we should prepare for during this migration (for example, differences in payload structure or event types between v1 and v2 that could affect subscription lifecycle management)? I would greatly appreciate your guidance or documentation links that outline the correct migration steps and recommended approach for ensuring continuity of service for all existing subscribers.
0
0
39
3w
Subject: Call Directory Extension Enable Failure for Individual User
Subject: Call Directory Extension Enable Failure for Individual User Dear Apple Developer Support, We are experiencing an issue with our Call Directory Extension where one specific user cannot enable it, while thousands of other users on the same iOS version can enable it successfully. Issue Details: App: 美信 (Midea Connect) Problem: Extension fails to enable with error: "请求'美信'的数据时失败" (Failed to request data from app) Affected: 1 user out of thousands iOS Version: 26.0.1 What Works: All other users can enable the extension normally Same iOS version, no issues App Group and Extension identifier are correctly configured User Has Tried: Reinstall app - No effect Toggle extension off/on - Still fails Restart device - No improvement
0
0
42
3w
Apps won't upload after XCode update.
Hello. I work on Windows with Visual Studio 2026 Insider , .Net 10 rc1, MAUI , wifi connected to Mac Mini , XCode 16 and upload to App Store to the public. This was all working fine. Yesterday Apple forced me to update XCode to 26.0.1. Now I cannot publish to the Store like I used to. I do not get any errors , instead I get "Publishing project 'Referee' completed." , but the app never shows up in App Store Connect like it usually does. I tried this many times with two different apps that were fine last week. After the XCode update, do I need to reconnect something to somewhere? . . (I shortened paths here for character limit) Validating Mac operating system version compatibility... Checking Xcode version compatibility... Validating Xcode license state... Verifying installed Xcode tools... Initializing Build agent... Checking Build 26.0.10970-net10-rc.2 installation... Starting Build 26.0.10970-net10-rc.2 in port 59237... Agent Build 26.0.10970-net10-rc.2 is running Build 26.0.10970-net10-rc.2 started successfully Checking installed iOS runtimes... Checking for compatible simulators... Performing server validations against 'Ray’s Mac mini'... Connection to 'Ray’s Mac mini' completed successfully Build properties for C:\TCR\TCR Referee\Referee.csproj: VisualStudioProcessId: 17564, SolutionPath: C:\TCR\TCR MAUI Mar 24.sln, SolutionName: TCR MAUI Mar 24, RunConfiguration: Default, ArchiveOnBuild: False, ArchivePath: , IsAppDistribution: False, DeviceSpecificBuild: false, TargetiOSDevice: , _iOSRuntimeIdentifier: ios-arm64, KeepLocalOutputUpToDate: False, MessagingVersion: 26.0.10970-net10-rc.2, _DotNetRootRemoteDirectory: /Users/Library/Caches/maui/PairToMac/SDKs/dotnet/, LocalBasePath: C:\Users\maui\iOS\PairToMac, BasePath: /Users/raybrennan/Library/Caches/maui/PairToMac, LogsPath: /Users/Library/Logs, DotNetRuntimePath: /Users/maui/PairToMac/Runtimes/dotnet/dotnet, ServerSshPort: 22, ServerTcpPort: 59237, ServerUser: RB, ContinueOnDisconnected: False, ServerAddress: 10.101.101.101 Archiving App Bundle 'Referee'... Build properties for C:\TCR\TCR Referee\Referee.csproj: VisualStudioProcessId: 17564, SolutionPath: C:\TCR\TCR MAUI Mar 24.sln, SolutionName: TCR MAUI Mar 24, RunConfiguration: Default, ArchiveOnBuild: False, ArchivePath: , IsAppDistribution: False, DeviceSpecificBuild: false, TargetiOSDevice: , _iOSRuntimeIdentifier: ios-arm64, KeepLocalOutputUpToDate: False, MessagingVersion: 26.0.10970-net10-rc.2, _DotNetRootRemoteDirectory: /Users/raybrennan/Library/Caches/maui/PairToMac/SDKs/dotnet/, LocalBasePath: C:\Users\mrray\AppData\Local\maui\iOS\PairToMac, BasePath: /Users/raybrennan/Library/Caches/maui/PairToMac, LogsPath: /Users/raybrennan/Library/Logs, DotNetRuntimePath: /Users/raybrennan/Library/Caches/maui/PairToMac/Runtimes/dotnet/dotnet, ServerSshPort: 22, ServerTcpPort: 59237, ServerUser: Ray Brennan, ContinueOnDisconnected: False, ServerAddress: 10.101.101.101 App archive 'Referee' completed successfully. Begining distribution, 23/10/2025 15:36:09 Channel: App Store App Bundle Id: com.theclubreferee.referee, Version: 0.3 Publishing to 'C:\Users\mrray\AppData\Local\maui\iOS\Archives\2025-10-23\Referee 10-23-25 3.33 PM.xcarchive\Published\Referee0.3.ipa' Build properties for C:\TCR\TCR Referee\Referee.csproj: VisualStudioProcessId: 17564, SolutionPath: C:\TCR\TCR MAUI Mar 24.sln, SolutionName: TCR MAUI Mar 24, RunConfiguration: Default, ArchiveOnBuild: False, ArchivePath: , IsAppDistribution: False, DeviceSpecificBuild: false, TargetiOSDevice: , _iOSRuntimeIdentifier: ios-arm64, KeepLocalOutputUpToDate: False, MessagingVersion: 26.0.10970-net10-rc.2, _DotNetRootRemoteDirectory: /Users/raybrennan/Library/Caches/maui/PairToMac/SDKs/dotnet/, LocalBasePath: C:\Users\mrray\AppData\Local\maui\iOS\PairToMac, BasePath: /Users/raybrennan/Library/Caches/maui/PairToMac, LogsPath: /Users/raybrennan/Library/Logs, DotNetRuntimePath: /Users/raybrennan/Library/Caches/maui/PairToMac/Runtimes/dotnet/dotnet, ServerSshPort: 22, ServerTcpPort: 59237, ServerUser: Ray Brennan, ContinueOnDisconnected: False, ServerAddress: 10.101.101.101 Build properties for C:\TCR\TCR Referee\Referee.csproj: VisualStudioProcessId: 17564, SolutionPath: C:\TCR\TCR MAUI Mar 24.sln, SolutionName: TCR MAUI Mar 24, RunConfiguration: Default, ArchiveOnBuild: False, ArchivePath: , IsAppDistribution: False, DeviceSpecificBuild: false, TargetiOSDevice: , _iOSRuntimeIdentifier: ios-arm64, KeepLocalOutputUpToDate: False, MessagingVersion: 26.0.10970-net10-rc.2, _DotNetRootRemoteDirectory: /Users/raybrennan/Library/Caches/maui/PairToMac/SDKs/dotnet/, LocalBasePath: C:\Users\mrray\AppData\Local\maui\iOS\PairToMac, BasePath: /Users/raybrennan/Library/Caches/maui/PairToMac, LogsPath: /Users/raybrennan/Library/Logs, DotNetRuntimePath: /Users/raybrennan/Library/Caches/maui/PairToMac/Runtimes/dotnet/dotnet, ServerSshPort: 22, ServerTcpPort: 59237, ServerUser: Ray Brennan, ContinueOnDisconnected: False, ServerAddress: 10.101.101.101 Validating bundle... Build properties for C:\TCR.csproj: VisualStudioProcessId: 17564, SolutionPath: C:\TCR.sln, SolutionName: TCR , RunConfiguration: Default, ArchiveOnBuild: False, ArchivePath: , IsAppDistribution: False, DeviceSpecificBuild: false, TargetiOSDevice: , _iOSRuntimeIdentifier: ios-arm64, KeepLocalOutputUpToDate: False, MessagingVersion: 26.0.10970-net10-rc.2, _DotNetRootRemoteDirectory: /Users/raybrennan/Library/Caches/maui/PairToMac/SDKs/dotnet/, LocalBasePath: C:\Users\maui\iOS\PairToMac, BasePath: /Users//maui/PairToMac, LogsPath: /Users/Logs, DotNetRuntimePath: /Users/maui/PairToMac/Runtimes/dotnet/dotnet, ServerSshPort: 22, ServerTcpPort: 59237, ServerUser: Ray Brennan, ContinueOnDisconnected: False, ServerAddress: 10.101.101.101 Uploading 'C:\Users\maui\iOS\Archives\2025-10-23\Referee 10-23-25 3.33 PM.xcarchive\Published\Referee0.3.ipa' Build properties for C:\TCR.csproj: VisualStudioProcessId: 17564, SolutionPath: C:\TCR.sln, SolutionName: TCR, RunConfiguration: Default, ArchiveOnBuild: False, ArchivePath: , IsAppDistribution: False, DeviceSpecificBuild: false, TargetiOSDevice: , _iOSRuntimeIdentifier: ios-arm64, KeepLocalOutputUpToDate: False, MessagingVersion: 26.0.10970-net10-rc.2, _DotNetRootRemoteDirectory: /Users/maui/PairToMac/SDKs/dotnet/, LocalBasePath: C:\Users\iOS\PairToMac, BasePath: /Users/raybrennan/Library/Caches/maui/PairToMac, LogsPath: /Users/raybrennan/Library/Logs, DotNetRuntimePath: /Users/maui/PairToMac/Runtimes/dotnet/dotnet, ServerSshPort: 22, ServerTcpPort: 59237, ServerUser: Ray Brennan, ContinueOnDisconnected: False, ServerAddress: 10.101.101.101 Publishing project 'Referee' completed.
2
0
75
3w
App installs on iPhone and simulator, but fails on iPad (iOS 18.7) — “Unable to install app. Please try again later.”
Hi everyone, We had developed an iOS Application in Flutter and built it using XCode 26.0.1. We're unable to install this application in iOS 18.7. Below are the details, ➡️ Development Environment: 🔹 Flutter: 3.32.2 ➡️ Build Environment: 🔹 Xcode: 26.0.1 🔹 Build system: Flutter → flutter build ios --release, then opened in Xcode for signing ➡️ Device models tested: 🔹 iPhone (iOS 15.8.3 / 15.8.5) → ✅ installs and launches fine 🔹 iOS Simulator (iOS 18.6 / 26) → ✅ works fine 🔹 iPad (iOS 18.7) → ❌ fails to install ➡️ Error message on iPad (iOS 18.7): 🔹 “Unable to install ‘’. Please try again later.” ➡️ What we’ve tried: 🔹 Cleaned and rebuilt the project (flutter clean, DerivedData removed) 🔹 Deployment Target is set to iOS 18.7 or lower. 🔹 Built the app using an Enterprise distribution profile, not a Development profile. 🔹 Works fine on older iPhones (iOS 15.8.3 / 15.8.5), so signing seems valid 🔹 Device has enough storage, and trust is granted under Settings › VPN & Device Management ➡️ Questions: 🔹 Could this be related to iOS 18.7’s signing or compatibility change? 🔹 Are there any known issues with enterprise installs on iOS 18.7? 🔹 Any insight from Apple engineers or others who faced this with iOS 18.7 would be extremely helpful. Thanks in advance!
0
0
43
4w
AppStoreConnect - Target device list showing wrong devices
hey everyone, recently we noticed an issue on AppStoreConnect here is brief , understandable, short description. when we upgraded our app from 2.1.8 to 2.4.9 we noticed something is not adding up, then we find out that the number of devices have been increased in AppStoreConnect - iPad/ Apple watch have been added. we checked the source code - the supported devices were just iPhone (which is what we want) -pls check XCODE.png we doubt something is not correct. in AppStoreConnect we checked previous release which was 2.1.8 - it was showing correct device just iPhone. pls check AppStoreConnect-previous.png in the most recent submission which was ready to submit 2.4.9 - the number of devices have been increased to 3. pls check AppStoreConnect-latest.png here is the screenshot: screenshot from XCODE.png screenshot from AppStoreConnect-latest.png (we believe its wrong) screenshot from AppStoreConnect-previous.png (correct one) it turns out that App Review team came with idea that our app is not correctly working on iPad (obviously appreciate their effort they found 2 more issues on the app besides with that) , but our App is not intended to work on iPad.
0
0
182
3w
iOS app marketing and ASO can be really challenging and frustrating.
I’ve been working on marketing my iOS app, but it’s been quite frustrating so far. ASO hasn’t brought the results I expected, and I’m not sure what to try next. I’d like to learn more about indie app marketing beyond keyword tweaks-any blogs, courses, books, or communities you’d recommend for understanding effective strategies and improving app visibility?
1
0
85
4w
[Bug/Doc Discrepancy] App Store Server API "price" field does not include quantity as documentation states
According to the App Store Server API documentation , https://developer.apple.com/documentation/appstoreserverapi/price the price field "shows the total amount of the transaction for the quantity the customer purchased." However, in actual transaction notifications and responses from App Store Server API, the price field appears to represent the unit price, not the total price. For consumable in-app purchases with quantity > 1, the price field equals the unit price of a single item. The total user payment is only correct after multiplying by the quantity. When quantity > 1, the actual amount paid by the user only matches price × quantity, which contradicts the documentation. Please confirm whether the price field is intended to be: The unit price of a single item (requiring multiplication by quantity), or The total price including all quantities (as currently documented). If the former is correct, please update the documentation to clarify that the value represents the unit price, not the total amount.
0
0
26
3w
AlarmKit - Alarm triggers twice at 00:00 and second fullscreen alarm view becomes unresponsive
When an alarm is scheduled for 00:00, the system displays the fullscreen alarm interface twice. After the second fullscreen view appears, both the “Stop” and “Snooze” buttons become unresponsive, but using the physical button (volume or power button) can dismiss the alarm and correctly trigger the StopIntent. This behavior occurs consistently (100%), whether the system time is set normally or manually adjusted before the alarm triggers. Environment: Device: iPhone 14 Pro Max iOS Version: 26.0 Reproducibility: 100%
1
0
119
3w
Account Holder LOCKED OUT - NO SUPPORT
Hello Apple Developer Community, I’m hoping someone can advise me on a serious issue. Our organization’s Apple Developer Program account has been effectively locked because our Account Holder’s Apple ID is inaccessible. We think it may have been an invalid password entered that triggered this. I need to either unlock that Apple ID or transfer the Account Holder role so we can manage our company's business apps. I have reached out to Apple Developer Support, but they only sent the link to the reset link that I told them I already tried. The unlock page just tells me it's locked. No other recourse. Our company requires the app to operate. We have another admin access through another Apple ID. but to transfer the Account Holder role, it can only be initiated by the current Account Holder, which is impossible at this point. If anyone has encountered a similar issue or knows a more efficient route to escalate, I’d be extremely grateful for your insights.
1
0
297
3w
mediaDevices.getUserMedia ignores channelCount with echoCancellation off.
I understand that you want echoCancellation and noiseSuppression in most cases, but I would like to be able to turn off all the filter processes for this particular use case. When I set echoCancellation: false in navigator.mediaDevices.getUserMedia, Safari 26 on MacOS produces stereo recording even if I set channelCount: 1. When I set echoCancellation: true, it produces mono recording as expected. How can I get mono recording with echoCancellation: false and channelCount: 1? Thanks!
Topic: Safari & Web SubTopic: General
0
0
81
4w
Automating pickerWheels in VisionOS
Hi! I am learning Swift and UIKit for work. I am trying to automate using a pickerWheel in VisionOS, but since .adjust(toValue: ) was removed in VisionOS's API, I am absolutely struggling to find a way to set a pickerWheel to a specific value. Currently, my solution is to calculate the amount of times I would need to increment/decrement the wheel to get from the current value to the desired value, then do so one at a time. However, this currently does not work, as .accessibilityIncrement() and .accessibilityDecrement() do not work, and .swipeUp() and .swipeDown() go too far. What can I do? Note: I am not a frontend engineer, so while solutions may exist that involve changes to the frontend, I would much rather try and get the frontend we do have to work as is.
1
0
67
3w
Guideline 2.1 - Performance - App Completeness
Apple review says , my app displayed an error when we attempted to purchase subscriptions. Please review the details and resources below and complete the next steps. Device type: iPad Air (5th generation) OS version: iPadOS 26.0.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. Question: Is it due to Device being used by reviewer or is it really from my code. As my code relies on Apple infrastructure for purchases and all things. Initially i did had subscription reporting api for receipt handling and all.When i went through with ChatGPT it did say that issue is due to half baked subscription module on my server. So i decided not to send any Subscription related things to backend, now it's Apple only and on App side. Is it correct fix ? Or do i need to fix backend even though i have no use for it ? My team did test in sandbox env via internal testing that time we had no issues. And all was tested using Mobile devices, that's why i still have question just to be sure these errors are due to devices or not? Screenshot shared by Apple team did show they got a error popup saying Something went wrong : Unable to complete request. I am trying to reproduce in development but can't. Anyone had got same issue before and has information on how to resolve and test for it will be helpful. Thanks Shikhar Sahu
0
0
46
4w
Material showing only half?
Hi, I'm currently implementing 180° / 360° property for immersive video in my app. I was able to implement 360° easily by just giving VideoMaterial to flipped sphere. However, I'm bit stuck at 180°. I want to implement by setting VideoMaterial to hemisphere mesh. But since RealityKit doesn't provide default function such like MeshResource.generateHemisphere yet, I just want to apply VideoMaterial half front visible, and half back transparent. I thought this would make my sphere looks like hemisphere. But I can't find my way to implement this method.. I would appreciate any advice / idea / information that might help.
0
0
53
3w
Siri AppIntent phrasing
When my AppShortcut phrase is: "Go (.$direction) with (.applicationName)" Then everything works correctly, the AppIntent correctly receives the parameter. But when my phrase is: "What is my game (.$direction) with (.applicationName)" The an alert dialog pops up saying: "Hey siri what is my game tomorrow with {app name} Do you want me to use ChatGPT to answer that?" The phrase is obviously heard correctly, and it's exactly what I've specified in the AppShortcut. Why isn't it being sent to my AppIntent? import Foundation import AppIntents @available(iOS 17.0, *) enum Direction: String, CaseIterable, AppEnum { case today, yesterday, tomorrow, next static var typeDisplayRepresentation: TypeDisplayRepresentation { TypeDisplayRepresentation(name: "Direction") } static var caseDisplayRepresentations: [Direction: DisplayRepresentation] = [ .today: DisplayRepresentation(title: "today", synonyms: []), .yesterday: DisplayRepresentation(title: "yesterday", synonyms: []), .tomorrow: DisplayRepresentation(title: "tomorrow", synonyms: []), .next: DisplayRepresentation(title: "next", synonyms: []) ] } @available(iOS 17.0, *) struct MoveItemIntent: AppIntent { static var title: LocalizedStringResource = "Move Item" @Parameter(title: "Direction") var direction: Direction func perform() async throws -> some IntentResult { // Logic to move item in the specified direction print("Moving item \(direction)") return .result() } } @available(iOS 17.0, *) final class MyShortcuts: AppShortcutsProvider { static let shortcutTileColor = ShortcutTileColor.navy static var appShortcuts: [AppShortcut] { AppShortcut( intent: MoveItemIntent() , phrases: [ "Go \(\.$direction) with \(.applicationName)" // "What is my game \(\.$direction) with \(.applicationName)" ] , shortTitle: "Test of direction parameter" , systemImageName: "soccerball" ) } }
3
0
242
3w
Missing Apple-Hosted Background Assets info
After combing the forums and release nodes, here are some extra notes to help other developers using Apple-Hosted Background Assets. I don't promise I got this perfect, but it may help direct you. AssetPack.Status is an OptionSet (not an enum!) - Critical API detail missing from guide It's a bitmask where values can be combined 2⁰ (1) = available to download 2¹ (2) = update available 2² (4) = up to date 2⁶ (64) = downloaded Example: status value 69 = 0b1000101 = available + up to date + downloaded Use .contains() method to check specific flags AssetPack.version property - Undocumented feature Auto-assigned by App Store Connect for Apple-hosted packs Increments with each upload of same asset pack ID No file deduplication across asset packs Same file in two packs = counts twice toward 200GB limit Best practice: create separate pack for shared files Shared namespace path requirements Asset pack ID is NOT part of file path Each file must have unique relative path across ALL app's asset packs Example: Foo/10/239/414.png and Bar/10/239/414.png are distinct and won't collide Additional url(for:) bugs beyond iOS 26.1 fix iOS 26 Beta 5: "item with same name already exists" error Workaround: Request URL for directory, then manually append filename TestFlight-only availability - Major limitation not mentioned! Apple-hosted packs currently ONLY work for internal testers on TestFlight or from App Store. Won't work from Xcode until "later this year" HTTP 400 errors expected for non-TestFlight installs ba-serve port workaround URL override port bug exists on multiple device types Use ba-serve -p 443 instead of custom ports
1
0
259
3w
Crash on "Dispatch queue: NEFlow queue" when __88-[NEExtensionAppProxyProviderContext setInitialFlowDivertControlSocket:extraValidation:]_block_invoke.90
I observed the following crash: Code Type: ARM-64 (Native) Parent Process: launchd [1] User ID: 0 Date/Time: 2025-10-07 13:48:29.082 OS Version: macOS 15.6 (24G84) Report Version: 12 Anonymous UUID: 8B651788-4B2E-7869-516B-1DA0D60F3744 Crashed Thread: 3 Dispatch queue: NEFlow queue Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000054 ... Thread 3 Crashed: Dispatch queue: NEFlow queue 0 libdispatch.dylib 0x000000019af6da34 dispatch_async + 192 1 libnetworkextension.dylib 0x00000001b0cf8580 __flow_startup_block_invoke.216 + 124 2 com.apple.NetworkExtension 0x00000001adf97da8 __88-[NEExtensionAppProxyProviderContext setInitialFlowDivertControlSocket:extraValidation:]_block_invoke.90 + 860 3 libnetworkextension.dylib 0x00000001b0cf8140 __flow_startup_block_invoke.214 + 172 4 libdispatch.dylib 0x000000019af67b2c _dispatch_call_block_and_release + 32 5 libdispatch.dylib 0x000000019af8185c _dispatch_client_callout + 16 6 libdispatch.dylib 0x000000019af70350 _dispatch_lane_serial_drain + 740 7 libdispatch.dylib 0x000000019af70e2c _dispatch_lane_invoke + 388 8 libdispatch.dylib 0x000000019af7b264 _dispatch_root_queue_drain_deferred_wlh + 292 9 libdispatch.dylib 0x000000019af7aae8 _dispatch_workloop_worker_thread + 540 10 libsystem_pthread.dylib 0x000000019b11be64 _pthread_wqthread + 292 11 libsystem_pthread.dylib 0x000000019b11ab74 start_wqthread + 8 ... It appears that the crash is caused by the flow director queue becoming NULL when dispatch_async is called (accessing address 0x0000000000000054). Meanwhile, my transparent proxy was still running. I'm wondering if this is a known issue or if anyone else has encountered the same problem. @eskimo
2
0
362
4w