Overview

Post

Replies

Boosts

Views

Activity

Sharing IAPs between apps
I have had an App (AngelNav) available on the App Store since 2023 which was written for iOS v15.0 or later. I am working on a new version which has the same functionality, but a radically new interface as well as taking advantage of the latest features in SwiftUI. I am writing it from the bottom up for iOS26 to ensure a clean codebase to ease maintenance. As I understand it I have the following options: Issue an update to the existing app. This is easy to do but creates a problem for those users with iOS26 who prefer the old interface. In addition I can't see a way to implement bug fixes for previous versions Create a new app (AngelNavNeo). This would allow users with iOS26 who prefer the old interface to stick with it, and I can issue bug fixes on the old version. However, there is no way to share already purchased in-app purchases between versions without a server-side solution and the need for user accounts on my server (neither of which I want to do). Is my understanding is correct, and have I missed anything?
0
0
214
4w
Is this normal while developing an app on the watch?
I used to develop iPhone apps about a decade ago and am now back at it with an iPhone and companion Apple Watch app. Why does it suck so bad? I a must be doing something wrong, but what I am doing is out of the box. The majority of the time when I go to build on the watch I get: Previous preparation error: A connection to this device could not be established.; Timed out while attempting to establish tunnel using negotiated network parameters. Which I then first try to force quit the app on the watch and if that does not work, reboot the watch (which is pretty ridiculous). I tried Gemini and it gave me the following explanation: This is arguably the single most frustrating error in the entire watchOS development ecosystem. As an expert, I can tell you that you are not doing anything wrong; you are fighting a fragile architecture. Here is the technical breakdown of why this happens and a workflow to mitigate it without constant reboots. The Technical "Why" This error message reveals that the issue lies in the CoreDevice (and formerly usbmuxd) infrastructure, specifically in the secure transport layer. The "Tunnel" Failure: Xcode attempts to establish a secure, encrypted tunnel (DTXConnection) to the Apple Watch to push the debugger and the app binary. Unlike the iPhone, which can sustain a high-bandwidth connection easily, the Watch aggressively manages its radios (Bluetooth vs. WiFi vs. AWDL) to save battery. The "Handshake" Timeout: If the Watch is on Bluetooth (Low Energy) when Xcode initiates the tunnel, the bandwidth is insufficient. The system tries to escalate the connection to WiFi (or Apple Wireless Direct Link). If this negotiation takes even a few milliseconds too long—due to 2.4GHz interference, router mDNS configuration, or the Watch CPU being throttled—the handshake times out. The "Previous Preparation Error": This is the insidious part. Once the handshake fails once, Xcode’s device service caches that failure state for the device UUID. It marks the device as "unreachable" to prevent the IDE from hanging indefinitely on subsequent tries. Why you see it constantly: You aren't actually triggering a new connection attempt; you are hitting the cached "failed" state immediately. Unfortunately, the solutions it gives me are: The "Wired Proxy" Method (Most Reliable) This is the gold standard for watchOS debugging. Do not rely on "Connect via Network" for the Watch directly if you can avoid it. Disable WiFi on your Mac (temporarily) or ensure the Mac and iPhone are on the exact same SSID. Plug your iPhone into the Mac via USB. Ensure the Watch is paired to that iPhone. Result: Xcode will tunnel the instructions through the USB connection to the Phone, and the Phone acts as a high-bandwidth proxy to the Watch. This eliminates the "Mac-to-Watch" WiFi negotiation failure point. Do you hit this regularly? What do you do to make for a smooth development and deployment process? Or is it really this fragile? Thanks for any help! Bryan
6
1
502
4w
Team “57AWJ345M2” cannot enable iCloud Key-Value Storage for Bundle ID “com.marsgame.fg2”
When using Team “57AWJ345M2” and setting the project’s Bundle ID to “com.marsgame.fg2”, enabling the iCloud capability and checking Key-Value Storage results in the following error:"Provisioning profile "iOS Team Provisioning Profile: com.marsgame.fg2" doesn't match the entitlements file's value for the com.apple.developer.ubiquity-kvstore-identifier entitlement." This issue does not occur if we use a different Team or a different Bundle ID. The project was transferred from another Team to this new Team, and everything worked fine before the transfer. Additionally, we have tried creating a brand new project, but as long as we use this same Team and this same Bundle ID, the error still occurs when enabling Key-Value Storage.
4
0
214
4w
Signed app can't be verified
I've signed an app, zipped it, and uploaded it to github. When I download it on another Mac, I get "it can't be opened because it could not be verified for malware". But on that computer, I can verify it with codesign, and it appears to be correct (as far as I can tell). I can copy/paste the app from my other Mac, and that copy will run without problem. sys_policy, however, gives: Notary Ticket Missing File: ReView.app Severity: Fatal Full Error: A Notarization ticket is not stapled to this application. Type: Distribution Error This is the same for the copy that runs, and the copy that doesn't. The difference between them appears to be a quarantine xattr. I can delete this, and the app launches without incident. Is this expected? Why should a signed app be quarantined just because it's been downloaded? The whole point of paying the fee is to avoid the security obstacles...! ;-)
3
0
778
4w
Help, I'm New and Lot
Hello, I created a code in Xcode on my Mac. Once it was debugged I tried to run it on a simulator. Every time I run it on a simulator I get the white screen with the spinning red box. I'm very new at this and I am creating this app for my own child. As a teacher I couldn't stand the other math fact apps. You'll have to talk to me like an infant.
1
0
136
4w
NSLocationDefaultAccuracyReduced not taking effect after app update (YES -> NO) for first-time location authorization
Hello Apple Developer Technical Support / Core Location Team, I’m requesting clarification on the effective timing of the Info.plist key NSLocationDefaultAccuracyReduced. We shipped Version A with NSLocationDefaultAccuracyReduced = YES (reduced accuracy by default). In Version B we changed it to NO. After updating to Version B, on devices/users that have not previously granted location authorization for our app, the first authorization flow still behaves as if reduced accuracy is the default (i.e., the same behavior as Version A). Could you please confirm: When iOS evaluates/caches NSLocationDefaultAccuracyReduced (install time, app launch, or at first authorization prompt)? After an update changes this key from YES to NO, should the new value apply to users who have never authorized location for the app? Environment: Iphone 16 (IOS 26.0) I can provide a sysdiagnose and additional logs if needed. Thank you, Jack
0
1
172
4w
Apple Developer Program: Payment confirmed, account stuck on “Pending” / “Enroll Now”
Hi, On Jan 23 I purchased the Apple Developer Program membership via the Apple Developer app on iPhone. The payment went through successfully and I received the confirmation email and invoice. However, when I sign in to developer.apple.com, my account still shows “Pending” and redirects me to “Purchase your membership / Complete your purchase”, asking me to pay again. My Apple ID subscriptions page shows the Developer membership as active (with an end date), but: Developer portal: Pending, prompts to purchase again Apple Developer app (Account screen): still shows Enroll Now / membership not active The web flow displays an Enrollment ID (I can share masked) What I’ve tried: Confirmed I’m using the same Apple ID everywhere Signed out, cleared cookies, tried private/incognito browser Waited well beyond 48 hours (it’s been ~1 week) I do not want to pay twice. This looks like a duplicate/unfinished enrollment or the paid membership not being properly attached/activated for my Apple ID. Has anyone experienced this and found a workaround? Any advice on the fastest way to get Apple to attach/activate the paid membership and close the pending enrollment? Thanks.
1
0
117
4w
AlarmKit Volume and Volume Buttons
Excited for AlarmKit! I have found two concerns that I cannot find answers for though. The volume of my alarms seems to be very quite relative to the full volume capability of the device. For example, if I turn the volume all the way up and play the audio file, the sound is very loud. However then, if I set the alarm using alarm kit with the same audio, the track played during the alerting phase is not that loud. I am afraid that it will not be loud enough in real life. Will there be future support to set the volume level of the alarm to maximum settings? When I press the volume buttons (with the app open) during an active alarm, the audio stops, but the alarm manager does not clear these events. The alarm manager does clear the alarm event if the alarm is stopped through a live activity.
3
2
399
4w
How to properly localize AppIntent dialogs for Siri?
Hi! I have defined the following app intent. It returns a result with a dialog to confirm that the intent has been executed. Naturally, that dialog needs to be localized properly. But the String interpolation with the provided format doesn't do that. I specified wide for the width parameter and expect spelled-out unit names. However, in the textual output, Siri always uses the abbreviated unit (e.g. "min" or "s"), in all languages I tested. In the audio output, Siri says "minutes" in English where the textual representation is "min". In German, Siri says "min", so it basically reads the textual representation aloud and that's not quite understandable to the user. struct StartTimerIntent: AppIntent { static let title: LocalizedStringResource = "Start New Timer" static var description = IntentDescription("Starts a timer with a custom duration.") @Parameter(title: "Duration", description: "The duration of the timer.") var duration: Measurement<UnitDuration> func perform() async throws -> some IntentResult & ProvidesDialog { // [code to execute intent goes here] return .result( dialog: .init( full: "\(duration, format: .measurement(width: .wide, usage: .asProvided)) timer started.", systemImageName: "timer" ) ) } } As this SwiftUI-style formatter doesn't seem to work with localization, I tried a different approach with a MeasurementFormatter: extension Measurement where UnitType == UnitDuration { func localized() -> String { let formatter = MeasurementFormatter() formatter.locale = .autoupdatingCurrent formatter.unitOptions = .providedUnit formatter.unitStyle = .long return formatter.string(from: self) } } Usage with String interpolation: "\(duration.localized()) timer started." This works great as long as these two languages are set to the same language on the user's device: [UI language] Settings → General → Language & Region → Preferred Language [Siri langauge] Settings → Apple Intelligence & Siri → Language However, when they differ, even this method doesn't yield correct results. For example, I have my general (UI) language set to English, but my Siri language set to German. Then Siri replies in German, but the unit is formatted in English and Siri speaks it in English, so the result is a messed up sentence that's half German, half English. What is the proper way to localize parameters in dialogs for Siri? How can I make sure that parameters are localized to match Siri's language?
3
0
436
4w
Developer Account Confusion
Hi all, I just submitted my application to join the Developer Program. I went through the form, and got to the payment screen and filled out. I submitted and have received an "order acknowledgement" email, but I note that payment hasn't been taken, nor do I have any other emails regarding it. I understand my application can take a while to progress and it's still early days, but I'm concerned that it's stuck in limbo as payment hasn't been taken. With that and the notice on my account page that still reads: "Purchase your membership. To continue your enrollment, complete your purchase now Your purchase may take up to 48 hours to process." When I navigate to the payment screen again, I can see that there is no CVV field which my bank requires to accept payments. I'm wondering if anyone has had a similar issue and how they resolved or, even, if I have done something wrong during the application phase. Thanks!
1
1
195
4w
Stuck in Enrollment Loop: "Under Review" & Enrollment Button Grayed Out
Hi everyone, I’m seeking advice on an enrollment loop I’ve been stuck in for my Apple Developer Program account. I am based in Uruguay, and I’ve encountered a series of technical hurdles that Apple Support emails haven't been able to resolve. The Issue: Web Portal: When I log in to the portal, I see the message: "Your enrollment in the Apple Developer Program is under review. Please contact us." Apple Developer App: Support suggested using the app to finish enrollment, but the "Enroll Now" button is grayed out/disabled. It explicitly tells me to continue enrollment via the website, creating a circular dependency. Payment Failure: During my initial attempt, I noticed I was never asked for my card's CVV. Consequently, no charge was ever made to my bank, but the system seems to think a transaction is pending or "Under Review." The Barrier: As a user in Uruguay, I do not have a direct "Phone" option for support in my region—only email. The email responses I receive are automated or generic, telling me to either use the app (which is disabled) or call them (which isn't an option for my country). Has anyone from faced this "Under Review" stalemate? Is there a specific way to force the payment details to refresh or a known workaround for the disabled button in the app? Any help would be greatly appreciated.
0
0
80
4w
DSA compliance phone verification fails
Has anyone successfully completed DSA compliance phone number verification using the "receive a phone call" option? It seems that Apple first tries to send an SMS. You then have the option to resend another SMS, to receive a phone call, or to upload documents. When I choose to receive a phone call, it seems that the Apple system calls me but it hangs up without reading out a code. Has anyone got this to work?
5
0
1.6k
4w
iOS Screen Mirror device caching and discovery
iPhone 13 mini running iOS 26.2 I went to mirror a stream to a previously used Roku device. The Roku popped right up on the Screen Mirror list, but would not respond. Investigation showed it had lost its network connection - so what showed on the Screen Mirror list was still in cache, not from a current request - and sure enough, after repairing the Roku's LAN connection, it worked fine. That raised these questions: Does the iOS device (iPhone) cache a Screen Mirror list for each network? How does the iOS device build its list of Screen Mirror servers on a local network? I presume it broadcasts a request to the LAN, the first time it is invoked on a new LAN, asking "Does anyone provide this service?" - Is that correct? [Is that broadcast a Bonjour function?] If not, how does it acquire its list of Screen Mirror servers? To avoid the problem of false positives in the Screen Mirror list, how can I clear that cache (#1) and issue a new request (#2) for current Screen Mirror servers? How can iOS avoid showing servers that no longer exist on the network? Is there any limit to the number of networks cached by iOS, or the number of servers cached per network? More generally, is there a good resource to read how iOS manages this issue?
0
0
98
4w
Sign In With Apple not working with Xcode 12 beta on simulator ?
Running the sample "Juice" app, which demos the Sign In With Apple flow, doesn't seem to work with Xcode 12 beta and iOS 14 beta on the simulator (worked fine on the non-beta versions and on a real device with iOS 14 beta). Once the password for the device's Apple ID is entered, the wheel in the password field just keeps spinning. No error messages and nothing handed back over to the app from the ASAuthorizationController. Anyone else seeing this problem ? Are there any workarounds ?
207
5
104k
4w
Unable to use Live Wallpapers iPhone 16 Pro Max
Using iPhone 16 Pro Max. iOS 26.3-Public Beta. App using: MyScreen26 I have only been able to use 1 live wallpaper (black and white tyrannosaurus rex) about 2 weeks ago. I wanted to change it today, and have been unable to get any of the live wallpapers to work, even the same one I used the last couple of weeks. I find the live wallpaper I want, download it. I click on the upper left hand corner to put into 'Loop' mode. I have 'Low Power Mode' and 'Reduce Motion' turned off. I then click on the arrow on the lower left to open the menu to use the image as a locked screen wallpaper. The screen then shows 'add to album', 'airplay', 'export unmodified original' and 'add to new quick note'. There is no selection for add to wallpaper. Not sure what I'm doing wrong....any suggestions? Thanks!
0
0
100
4w
Migration to Organization Account pending for 3 weeks - Case ID: 102799400229
Hi everyone, I'm looking for some insight or advice regarding the timeline for migrating from an Individual to an Organizational developer account. My request was initiated on January 11th, making it over three weeks now. The last communication I received from the support team was on January 24th (8 days ago). Despite sending follow-up inquiries to check on the status or if additional documentation is required, I haven’t received any updates since then. Has anyone else experienced similar delays recently? Is there a specific channel or method to escalate this beyond the standard follow-up emails? Request Started: Jan 11, 2026 Last Contact: Jan 24, 2026 Case ID: 102799400229 Thanks in advance for any help!
2
0
85
4w
Live Activity – crashes on ActivityAuthorizationInfo() and Activity.activities
Hey! I'm working on enabling remotely started live activities. I'm running into 2 crashes: Upon initializing ActivityAuthorizationInfo Upon calling Activity<...>.activities array Both stack traces look like this: 0 libsystem_kernel.dylib +0xce0 _mach_msg2_trap 1 libsystem_kernel.dylib +0x4398 _mach_msg2_internal 2 libsystem_kernel.dylib +0x42b4 _mach_msg_overwrite 3 libsystem_kernel.dylib +0x40fc _mach_msg 4 libdispatch.dylib +0x1cc04 __dispatch_mach_send_and_wait_for_reply 5 libdispatch.dylib +0x1cfa4 _dispatch_mach_send_with_result_and_wait_for_reply 6 libxpc.dylib +0x107ec _xpc_connection_send_message_with_reply_sync 7 BoardServices +0xaea8 -[BSXPCServiceConnectionMessage _sendWithMode:] 8 BoardServices +0x17938 -[BSXPCServiceConnectionMessage sendSynchronouslyWithError:] 9 BoardServices +0xeef0 ___71+[BSXPCServiceConnectionProxy createImplementationOfProtocol:forClass:]_block_invoke They happen to a limited number of users, but not insignificant. Most are on iOS 18.6.2 and iOS 26.1, but there are others in the mix. I don't have a repro myself. It looks like the main thread gets blocked after we receive no response from these ActivityKit APIs. Both of these are called inside application:didFinishLaunchingWithOptions:. For ActivityAuthorizationInfo, we need the app to communicate with the server whether the user has live activities enabled; hence, calling this object's init as early as possible in the app. For activities array, I'd like to do some logging whenever the live activity is started or ended (for example, if activities array no longer contains any activities, we can log the activity as dismissed). For this logging to happen, as far as I understand, it has to happen inside didFinishLaunchingWithOptions since this is the only method being called upon the terminated app receiving background runtime when the live activity starts/ends remotely. After some research, one potential reason is ActivityKit APIs are just not ready to return values via xpc connection at app startup, so moving these methods to applicationDidBecomeActive could resolve the problem. That's fine for ActivityAuthorizationInfo init, but for accessing activities, there is no other place in the lifecycle to see if an activity has been dismissed (especially in the scenario where app is terminated, so we get only 30 seconds ish of background runtime). Curious if anyone has run into this or has any insights into ActivityKit API behavior.
3
1
418
4w
Developer Account Registration Still Processing After 2+ Weeks
I registered a developer corporate account and completed the payment on January 2. However, up to today, the status has not changed and still shows the message: “We’re processing your registration request. Your registration ID is ***.” I understand that the review process usually takes about 1–2 weeks. In this situation, is there any recommended way to move to the next step more quickly?
0
0
107
4w