Problem Description Location-based notifications added with UNLocationNotificationTrigger and CLCircularRegion do not fire consistently when the user enters the monitored region. Sometimes they work, sometimes they do not. In tests where the user physically enters the region and waits several days, the notification often never triggers. What we’ve confirmed Notification permission is granted Location permission is set to “Always” The notification request is successfully added (no error from UNUserNotificationCenter.add) Pending notification requests are present when checked with getPendingNotificationRequests CLLocationManager didEnterRegion / didExitRegion work when we monitor the same region via startMonitoring(for:) UNLocationNotificationTrigger behavior is inconsistent and unreliable in our tests Reproduction Steps Launch the app and grant notification permission and “Always” location permission Add a region notification (either by current GPS location or by selecting a point from MKLocalSearch) Leave the
Search results for
missing package product
51,800 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Further, I archived this Asset Pack in the Test Flight section for App B, but the Asset Pack was in production for App A. If an Asset Pack is in production, it shouldn't have the option to be archived from the Test Flight section.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
Thanks for reporting the issue. I don't have an immediate answer yet, but for debugging purpose: Can a new customer successfully download the iOS app + watchOS app ? Or does the issue impact a new customer in any way? If everything goes well for a new customer, your new app should have the right configuration. For an existing customer, if they remove the existing watch-only app, is the App Store back to normal? Removing an installed app may lose data so this is just for debugging. Also, would you mind to share the impacted app name and ID? Best, —— Ziqiao Chen Worldwide Developer Relations.
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
Hi BenRiceM, I don't think you're missing anything... GKAccessPoint was not designed with the intent of sitting in or alongside a UINavigationBar, primarily because the vast majority of games do not make use of UIKit for the user interfaces, instead building their own user interfaces that match with their games. The Game Center Welcome Banner and GKAccessPoint are designed to be floating over the top of game content and user interface. Hopefully the screenshot at https://developer.apple.com/design/human-interface-guidelines/game-center#Integrating-the-access-point demonstrate this a little than I may have with words. Obviously this is not ideal for your case where you're using UIKit and you want the buttons to align. In this case the best recommendation I could give you right now is to build a custom UIBarButtonItem, which on tap calls one of the GKAccessPoint.trigger() APIs to present the dashboard. You could then populate this button either either the player avatar from func loadPhoto(for size: GKP
Topic:
Graphics & Games
SubTopic:
GameKit
Tags:
Thanks for the post, this is something I don’t think I have seen before unless I have a reference to some of the file. Definitely a head scratcher for me. Inviting other developers here to to provide there opinion of possible causes for this. One thought I have is that Xcode keeps a lot of build artifacts and project-related data in its derived data folder. This can often lead to stale or incorrect information being used by Interface Builder. Have you try to go to Product > Clean Build Folder (or Cmd+Shift+K). Do this for both projects/targets if they are in the same workspace. Even if your NIB files are separate, the custom classes (e.g., your AppDelegate subclasses, custom NSWindowControllers, or NSView subclasses) that are referenced in those NIBs might be accidentally included in the wrong target. If a class from App A is somehow included in App B's target (or vice-versa), Interface Builder for App B's NIB might try to instantiate or show properties from App A's version of that class? The Info
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Sorry it’s taken a while to get back to you here. I finally got a few hours to work on this on Friday, and then that all got eaten with setting up the test environment [1]. But then today was more relaxed than the usual Monday, so I’m back looking at your stuff again. Testing with dedicate hardware is a challenge, so I started by trying to reproduce the problem in a VM. I set up two VMs, matching your machine 1 and machine 2. Both virtual machines were set up with bridged networking, so they can see each other’s multicasts. The details of machine 1 aren’t really relevant, because all it needs to do is send multicasts. On machine 2 I installed macOS 26.2. My rationale here was that using VMs for this was much easier, and if I could reproduce the problem with them that’d be great. And if not, I would have to invest more the time in setting up real hardware. The results were… frankly… confusing. I left machine 1 running all the time, happily sending its multicasts. My test loop was: Clone machine 2 to run a test
Topic:
App & System Services
SubTopic:
Networking
Tags:
I'm developing a visionOS panorama viewer app where I need to implement an auto-hiding floating menu in immersive space. The menu should: Show for 3 seconds when entering immersive mode Auto-hide after 3 seconds, Reappear when user taps anywhere (using SpatialTapGesture). Buttons should respond to gaze + pinch interaction The Problem: When I add .windowStyle(.plain) to achieve transparent window background for the auto-hide effect, all buttons in the menu become completely unresponsive to gaze + pinch interaction. The buttons only respond to direct finger touch (poking). Without .windowStyle(.plain): Buttons work correctly with gaze + pinch, but I cannot achieve transparent window background for hiding. With .windowStyle(.plain): Window can be transparent, but buttons lose gaze + pinch interaction. Code: App.swift: @main struct MyApp: App { @StateObject private var model = AppModel() var body: some Scene { WindowGroup(id: MainWindow) { ContentView() .environmentObject(model) } .defaultSize(width: 900
As GKGameCenterViewController has been deprecated, it seems that GKAccessPoint is now the correct way to present the GameCentre leaderboard. But the placement options for the GKAccessPoint are very limited and lead to misaligned UI that looks clunky, as the GKAccessPoint does not align with the system navigation toolbar. Am I missing something here or am I just stuck with a lopsided UI now? I much preferred how this previously worked, where I could present the GKGameCenterViewController in a sheet from my own button
Hello, I’m facing an issue installing my app from TestFlight on a physical iPhone device. App & Environment App: Desi Charades Framework: Flutter Distribution: TestFlight Build status: Upload completed (with warnings) Device: iPhone 7+ iOS version: 15.6 Tester type: Internal Apple Developer Program: Paid account Issue Description After uploading a build successfully to App Store Connect and adding it to TestFlight, the app appears in TestFlight with the Install button. However, when I tap Install, I receive the following error on the device: “Could not install Desi Charades App. The requested app is not available or doesn’t exist.” The build is visible in TestFlight, but installation fails immediately. Upload Warnings During archive upload, App Store Connect shows the following warnings: Upload Symbols Failed The archive did not include a dSYM for: ffmpegkit.framework libavcodec.framework libavdevice.framework The app uses ffmpeg-kit (Flutter plugin), which ships precompiled frameworks. Steps Already Chec
Topic:
App Store Distribution & Marketing
SubTopic:
TestFlight
Thank you for verifying the AASA on Apple's CDN, Albert. Let me clarify the points you raised: 1. URL-Encoded Paths in AASA The URL-encoded characters in the paths are intentional and correct. These represent Japanese text in URL paths: URL-Encoded Decoded (Japanese) Meaning %E3%81%AE%E4%BB%95%E4%BA%8B の仕事 jobs %E9%9A%9C%E3%81%8C%E3%81%84%E8%80%85%E6%8E%A1%E7%94%A8 障がい者採用 disability employment Per RFC 3986, non-ASCII characters in URL paths must be percent-encoded. This is the standard approach for internationalized URLs and should not cause issues with AASA parsing. 2. Relationship Between 求人ボックス.com and xn--pckua2a7gp15o89zb.com These are the same domain: 求人ボックス.com — Unicode/display form (IDN) xn--pckua2a7gp15o89zb.com — Punycode/wire form The AASA is correctly hosted at the Punycode domain (https://xn--pckua2a7gp15o89zb.com/.well-known/apple-app-site-association), and as you confirmed, it is successfully synced to Apple's CDN. 3. The Core Issue Based on swcutil_show.txt, the problem appears to be: swcd st
Topic:
App & System Services
SubTopic:
General
Tags:
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 show
Topic:
Community
SubTopic:
Apple Developers
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
So I've been bugging Apple (and anyone who will listen) for years, about the hassles that come with having one ID for iCloud+ (primary) and one ID for purchases (secondary). I forget why the split, but there was a reason, that's long since gone. Since discovering last year that finally, Apple have provided a way to transfer purchases from secondary to primary, I have lost so... much... time... trying to make this work. Following checklists many times... upgrading, downgrading, removing profiles... deregistering from TestFlight etc etc. After escalating within Apple support, the solution came back as It's because you're a developer - you can't. Now, I've been around the block in 'puters enough times to know that, that solution is - even if correct, the cause. A solution, it ain't. But in any case, surely Apple wouldn't do that to us, right? Everyone else affected by the two-account hassles is now cured... but for those of us who live on our Macs and iPhones making software for Apple and its communitie
Topic:
Community
SubTopic:
Apple Developers
Hi Ziqiao, thanks for the reply. Let me explain the situation I'm facing with my CloudKit-powered app. Device A and B are both fully synced with the cloud. On Device A, the user deletes a bunch of records and continues to use the app, letting the app sync in the background. The user waits a few weeks before opening the app on Device B. When they open the app, it attempts to sync. The change token is expired, so it retrieves all of the records on the server. My app is designed to treat this as if this is the user's first sync (a unify sync), so it compares all records on the server with all local records, then uploads any local records missing from the cloud and downloads any cloud records missing from the local database. At this point, all of the items deleted in step 2 have been re-downloaded onto Device B. Currently, my app never checks deletedRecordIDs on a unify sync. An easy fix would be to start processing this array even on unify syncs. But from your reply, it sounds like this will be
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags:
Environment iOS 17.2, Xcode 16.2, physical iPhone (12 Pro) Main app in Flutter WidgetKit extension written in Swift (Swift‑PM package) Shared App Group: group.cool.glance.shared Widget uses an AppIntent (FeedSelectionIntent) + custom entity (FeedAppEntity) Flutter bridge writes JSON snapshots for the widget Observed behaviour Flutter prints the snapshot payload and writes /…/AppGroup//Library/Caches/feed_snapshots.json. Widget gallery only shows the plain grey system placeholder (my sample placeholder never appears). Console log every time WidgetKit runs: chronod: Unable to resolve default intent (appintent:FeedSelectionIntent) for extension cool.glance.app.widget Error Domain=LNMetadataProviderErrorDomain Code=9000 LinkMetadata.BundleMetadataExtractionError.aggregateMetadataIsEmpty Added os_log in the widget + bridge (WidgetsBridgePlugin, FeedSnapshotStore, FeedEntityQuery, FeedSummaryTimeline), but none of them ever appear. That suggests the widget bundle can’t see the compiled AppIntent metadata o