Posts under App & System Services topic

Post

Replies

Boosts

Views

Activity

https://apps.apple.com/app/id6815765181
A Shortcuts automation with the "When I get a notification" trigger does not run for every delivered notification. There is no error or indication that a run was skipped. Repro (iPhone 16 Pro, iOS 27.0.1 (24A446)) : Create a shortcut with the "When I get a notification" trigger for Instagram and turn on its automation. Add a single "Append to Note" action that appends the notification's Title, Body, and Date. From another device, send 10 numbered DMs within about 15 seconds. Result all 10 notifications appeared in Notification Center, but only 7 entries were appended to the note (#2, #4, #6 missing). My app relies on this trigger to save notification history, and users report missing notifications. Is this trigger expected to run for every delivered notification, or is it best-effort? If anyone else sees this, filing a duplicate referencing FB25255777 would help.
1
1
330
2d
Supported dashboard layouts for a CarPlay Driving Task app
LifeNavio has the CarPlay Driving Task entitlement and currently uses CPGridTemplate and CPListTemplate. We want a dashboard with a branded header, Ask Navio button, four category tiles, side-by-side reminder and nearby-stop panels, and bottom navigation, as shown in the attached design. Is there a supported CarPlay template combination or eligible integration that permits this layout? If not, what is the closest supported approach? We understand that CPWindow custom rendering is reserved for navigation maps. We are seeking a supported solution using public APIs.
0
0
16
2d
Managed asset pack download fails with `PipelineNotFound` at 100 % after the app is backgrounded (iOS 27)
We ship a ~6.2 GB Apple-hosted managed asset pack and request it with AssetPackManager.ensureLocalAvailability(of:). If the app goes to the background even once while the download runs, the transfer continues to the end and then fails with ManagedBackgroundAssetsProcessingPipeline.Dispatcher.PipelineNotFound. The system discards the resume data, and the next attempt starts again from byte 0. What the sysdiagnose shows: On backgrounding, backgroundassets.user logs allows BG activity, pausing any foreground downloads for background demotion and hands the download to nsurlsessiond. On return it logs re-promoted 1 previously-demoted foreground downloads. Each handoff moves the stream to another STExtractionService.privileged instance, which logs No processing pipeline with the ID "…" was found; defaulting to an extraction memory footprint of 50 MB. When the HTTP response ends: [Relay] No endpoint was found for the key "…" (fault) → The stream couldn't be finished: No processing pipeline with the ID "…" was found → Removing the resumption info → the download fails. This happened on every app-requested download that was backgrounded at least once. One run reached 100 % in the foreground and still failed. The only download that ever completed was the system's own prefetch download, which ran entirely in the background with the app never launched. Over one afternoon about 46 GB were downloaded for a single 6.2 GB pack. Questions: Is this a known issue with the demotion/promotion of foreground asset-pack downloads? Is AssetPack.download(for: nil) plus BADownloadManager.scheduleDownload(_:) a supported way to request a managed pack from the app, so the download never gets foreground priority? We're testing it now. Is there any other way to keep a download requested from a foreground app from being demoted? Filed as FB24888599.
3
1
194
2d
watchOS 27: third-party NWListener application service advertisement is denied by NECP policy, so DeviceDiscoveryUI pairing from tvOS never completes
On watchOS 27, a third-party watch app that advertises an application service with NWListener (default NWParameters.applicationService, service declared in NSApplicationServices → Advertises) is never advertised: the advertiser path is denied by NECP policy. As a result, when a tvOS app presents DDDevicePickerViewController and the user selects the watch and taps Connect on the watch, sharingd finds no listener (listenerID (null)), the pairing times out after ~30 s, and the tvOS picker's endpoint never returns — neither an endpoint nor an error. Raw lines: watchOS 26.6 (success, pid 267) 16:00:55.891 AppleWatch[267] -[_NWAdvertiser start] [L1] Starting advertiser 16:00:55.891 AppleWatch[267] -[_NWAdvertiser updateFlows:]_block_invoke [L1] Added listener flow ID 667B9945-… 16:00:55.926 rapportd[48] Found registered listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=0A1149F2-… : ageOut=179s agentClient=0x0 { 'kebike' } 16:00:55.927 rapportd[48] Updated RPNWAgentClient[0x176cc550] (LSTNR): < appSvc=com.fitonapp.fiton.FitOnWorkout PID:267 entitled=0 … browseToken=[pid:267,id:667B9945] … > 16:00:55.930 rapportd[48] [pid:267,id:A20E8919] createListenerFramer calling assign with local endpoint=::.51714 16:01:09.956 rapportd[48] [pid:267,id:F7883D0D] ADVERTISE: Start advertise 'FitOnWorkout' request QUIC=NO isTCP=YES params:[tcp, pid: 267, local: ::.51714, …] 16:01:29.352 rapportd[48] Created incoming RPNWConnection[CONN[5BCD2213-…] (IN): … appSvc=com.fitonapp.fiton.FitOnWorkout … EP={kebike:…}] 16:01:29.399 rapportd[48] [pid:267,id:3346E704] assigning connection ::.51714 <-> app_svc: com.fitonapp.fiton.FitOnWorkout, service_id: D2D4D049-… 16:01:29.404 AppleWatch[267] nw_connection_report_state_with_handler_on_nw_queue [C2] reporting state ready Raw lines: watchOS 27 (failure, 10-21) 16:00:48.761 AppleWatch[556] -[_NWAdvertiser start] [L1] Starting advertiser with descriptor: FitOnWorkout scope:3f … 16:00:48.761 AppleWatch[556] -[_NWAdvertiser updateFlows:] [L1] Listener skipping advertise flows due to unsatisfied path with policy drop 16:00:48.760 rapportd[98] [pid:556,id:C1D4B82D] createListenerFramer: incorrect agent type ← never upgraded to LSTNR afterwards … 16:05:37.919 sharingd[458] setupDDUIListenerIfNeeded, incoming pairing session … ← TV's pairing request did arrive 16:05:40.538 sharingd[458] Attempting to launch application com.fitonapp.fiton.watchkitapp 16:05:40.688 rapportd[98] Searching for listener agent client with appSvc='com.fitonapp.fiton.FitOnWorkout' 16:05:40.688 rapportd[98] Created new listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=F625EFB1-… : ageOut=180s agentClient=0x0 { } ← no FitOnWorkout ADVERTISE afterwards; the listener never gets the app's agent client
4
0
172
2d
Requests + suggestions for Live Activity UI limitations
Live Activities: API gaps for ProgressView, Text(timerInterval:), and compact/minimal icons Thanks for organizing a session on Live Activities — looking forward to it. We're shipping a Live Activity for train departures (a countdown to departure, plus a custom indicator for the platform the train leaves from), and we've run into a handful of limitations where the public API doesn't seem to expose behavior that first-party experiences appear to have. We'd love either guidance on how to achieve these today, or confirmation that they're on the roadmap. Grouping them by API below. ProgressView 1. Height isn't adjustable. (FB23091027) A linear ProgressView renders at a fixed height. The only lever we've found is scaleEffect, but scaling the whole view also scales the corner radius, so the rounded caps end up distorted (stretched ovals instead of clean pills). We'd like a supported way to set the bar's height — or at least a fixed-radius style that survives scaling. 2. Only the fill is stylable, not the track. (FB23091058) .tint(...) and progress view styles let us color the progress portion, but we can't find a way to style the background/remaining track (color, opacity, etc.). First-party progress bars clearly have a styled track, so we assume there's a path we're missing. 3. No separator/border between filled and remaining. (FB23091078) We'd like a visible border or divider at the boundary between the active (filled) and remaining segments. There's currently no hook for this without abandoning ProgressView entirely and hand-rolling the bar. 4. ProgressView(value:) carries extra vertical padding that ProgressView(timerInterval:) doesn't. (FB23091242) The value-based initializer renders with an additional ~3 pt of top/bottom padding that the timerInterval: initializer doesn't apply. When the two are placed together — or swapped for one another — their bars don't line up vertically, since one has extra vertical inset and the other doesn't. We'd like the vertical insets to be consistent across the two initializers (or a supported way to control them) so progress bars can be aligned reliably. Collectively, points 1–4 push us toward reimplementing the progress bar with Canvas/Shape, which feels like it shouldn't be necessary for something the system already draws. Text(timerInterval:) 5. No minute-granularity ("3 min.") countdown. (FB23091094) We want a self-updating timer that ticks down in whole minutes — "3 min." → "2 min." → "1 min." — rather than MM:SS. Apple already does this: in the Dynamic Island compact trailing region, the system Timer renders a coarse, minute-granularity countdown that updates itself (it shows e.g. "3 m"). We'd love exactly that, but with a localizable, slightly longer unit such as "3 min.". Today Text(timerInterval:countsDown:) only gives us the full digit-ticking format, and we can't find a supported way to drive a minute-granularity self-updating timer. 6. It always reserves full horizontal width. (FB23091111) A Text(timerInterval:) claims the maximum horizontal space its widest value would need (presumably to avoid layout jitter as digits change). Concretely: placing a Text(timerInterval:countsDown:) in compactTrailing stretches the Live Activity to fill that direction. Apple's own Timer doesn't do this — its countdown in the same compact trailing region hugs its content. We'd like a supported way to opt into that content-hugging layout, accepting the jitter trade-off ourselves. Compact Dynamic Island 7. Animating between two icons while the timer stays visible. (FB23091159) In the compact presentation we want to transition between two graphics on a state change — in our case, cross-fading between a vehicle/line glyph and our custom platform indicator (showing which platform the train departs from) in the compact leading slot, while the departure countdown stays visible in the trailing slot. Today the swap hard-cuts. First-party activities show smooth content transitions in these regions, so we assume there's a supported approach we're missing. Guidance on supported transitions for the compact slots would be very welcome. If any of these are already achievable, we'd genuinely appreciate pointers — we may simply be holding the API wrong. And if they aren't, consider this a consolidated feature request. We've filed each as an individual Feedback item (FB numbers inline above) and are happy to attach sample projects and screen recordings.
6
2
698
2d
How can I disable sharing age range with an app
I am still in development phase of an app, I integrated AgeRangeAPI and shared age range with my app. When I go to system settings > profile > personal information > Age Range for Apps , I see the app and it says "Shared", but I can't unshare anymore. I can unshare globally but now per app. I know the AgeRangeAPI can be tested from the Developer > Account > Manage, but that kind of testing skips the native UI I want to test again full scenario to see what real users will experience, I want to see the real UI of sharing again.
5
0
136
2d
Does the macOS 27 disk image release guidance also apply to USB mass storage?
Thanks for your answer about disk images after guest shutdown. You mentioned that on macOS 27 and later, the host should be able to use the image once guestDidStop(_:) fires. Does that also apply to a writable RAW image opened by URL with VZDiskImageStorageDeviceAttachment and presented to the guest as a VZUSBMassStorageDevice? I’m testing with UTM 5.0.8 on an Apple silicon Mac running macOS 27.0.1 (build 26A434). In my test, lsof showed an Apple Virtualization process holding the image open for read/write while the guest was running. After a graceful shutdown, ejecting the image in UTM, and quitting UTM, lsof showed no match. I’m trying to work out when a separate host process can safely read the file. For this kind of attachment, is guestDidStop(_:) enough, or does the app also need to wait for VZUSBController.detach to complete? Can a separate process running without elevated privileges verify that the framework is done with that file, or does it need the app hosting the VM to report that the relevant callback fired?
1
0
263
2d
URL parse strategy default scheme not working?
I'm trying to parse URLs that may not have a scheme specified. In that case, I want it to assume http, so I set the scheme strategy to .defaultValue("http"). However, when parsing a URL without a scheme, it fails with the following error: error: Error Domain=NSCocoaErrorDomain Code=2048 "Cannot parse example.com. String should adhere to the preferred format of the locale, such as https://user:password@www.example.com/path?color=red#name."If I prefix the URL string with "http://", it works fine. I also tried setting the default value to "http:" and "http://" with the same result. Here is the code I'm using to test this: import Foundation do { let url = try URL( "example.com", // this fails but "http://example.com" works strategy: .url .scheme(.defaultValue("http")) .port(.defaultValue(8080)) .path(.defaultValue("/")) ) print("parsed: \(url)") } catch let error { print("error: \(error)") }Is this a bug, or have I misunderstood the default value strategy? Thanks!
1
0
302
2d
NEURLFilter configuration still "Queued" six weeks after submission
Our Network Extension URL Filter configurations in CloudKit Identity & Trust are not moving through onboarding. STG: configuration 6e17673d-dbaa-4b35-98c5-ff9e7a357577, bundle ca.itellyou.stg. Submitted 2026-09-25, status Approved, Onboarding Status "Queued". PRD: configuration 06fa2558-281b-4b55-b59f-402ecf359d18, bundle ca.itellyou. Submitted 2026-10-20, status In Review. Evidence (iPhone 17 Pro Max, 2026-11-06, same commit, same server, same user token): Development-signed build: the filter reaches "running" and blocks our test domains. Ad-hoc (distribution-signed) build: it cycles starting -> stopped with NEURLFilterManager.Error 9. The PIR server, Privacy Pass issuer and OHTTP gateway are live, and the test entry www.apple.com/url-filter-test is present. An Apple engineer confirmed on GitHub (apple/pir-service-example#185) that nothing is pending on our side. We also opened support case 30000007408474. Has anyone seen how long onboarding takes these days, or found a way to get it moving?
1
0
80
2d
launchctl bootout fails for my own LaunchAgent: “caller is not allowed to signal target process”
I maintain a per-user LaunchAgent on my own Mac. Its plist is in ~/Library/LaunchAgents, and the service is registered in gui/501. When my development tool invoked launchctl bootout, it exited with status 1. The macOS log said: “caller (PID 14105) is not allowed to signal target process.” I verified that the service label, domain, and plist matched the running agent. The agent is still running. What requirements must the calling process meet to stop and re-register a LaunchAgent in the logged-in user’s GUI domain? Is there a read-only way to identify which restriction caused this denial before attempting to stop the service again?
1
0
57
2d
Wallet Orders updates arrive hours late even though the push reaches the device
I'm implementing Wallet order tracking for a shop and have run into an update problem that I haven't been able to explain. This is the Wallet Orders web service and signed .order packages, not .pkpass passes or orders found in Mail. I've filed FB25380857 with a detailed timeline and a redacted sender example. I'm posting here because I would also like someone to check whether there's a mistake or unsupported assumption in our integration. If there is a parameter or response we should change, I'd much rather find it now than blame the OS. The short version: the phone receives our APNs message almost immediately, but sometimes doesn't ask our server for the updated order for hours. Once it finally makes the request, the package downloads, applies and produces the expected notification normally. How the service is set up Orders are added from Safari using the Wallet button. There is no separate native app. Registration succeeds, and the phone initially downloads and displays the order. We send to the production APNs endpoint over HTTP/2, using the Order Type certificate and key. The topic matches the Order Type ID. The request body is exactly {}. Our normal sender leaves the priority at its default of 10, and for the tests below I explicitly set it to 10. The push-type header is omitted. TLS verification is enabled, and apns-expiration is set to the current time plus one hour. The effective request is: POST https://api.push.apple.com/3/device/<registeredPushToken> apns-topic: <orderTypeIdentifier> apns-priority: 10 apns-expiration: <currentEpochPlus3600> content-type: application/json {}Each update keeps the same order ID, authentication token, webServiceURL and createdAt. updatedAt is an RFC 3339 timestamp and strictly increases. The device registration endpoint returns 201/200. The changed-orders endpoint returns lastModified and the registered orderIdentifiers, or 204 if nothing has changed. The package endpoint returns the signed .order with the finance.order MIME type, Last-Modified and conditional 304 support. The changed-orders response is no-store, and the package response is private, max-age=0, must-revalidate. One detail I'm unsure about: our isolated test orders share one Order Type ID, but each test has its own stable webServiceURL. Is that supported, or should all orders under an Order Type use the same service URL? The affected phone's diagnostic build is 24B119, listed in Feedback Assistant as iOS 27.2. The Wallet logging profile was already installed before these tests, and the phone had been restarted. These are synthetic orders, with no real purchase or carrier operation. The longest delay we captured Times below are local, Europe/Budapest, UTC+01:00, on October 30–31, 2026. October 30, 18:43:56: the screen is off. 18:44:16: we change the order from ready for pickup to picked up/completed and send the update signal. APNs returns 200. 18:44:16.903: apsd receives the message. At .905, financed logs receipt in both its Push and Orders handlers for our exact Order Type. No immediate Orders task or changed-orders request follows. Normal confirmation retries go out at 18:55:02 and 19:05:02. October 31, 10:53:22–23: Wallet enters the foreground and becomes active. 10:53:25.884: pending Orders work starts. 10:53:26: the phone asks for changed orders and downloads the pending package with HTTP 200. 10:53:27: the phone logs that it applies the update and schedules the notification. The picked-up notification appears. That is 16 hours, 9 minutes from the first signal to the package response. There was no new signal from our server that morning. I had opened Wallet, but did not deliberately pull to refresh; I can't completely rule out an accidental gesture. I therefore don't want to claim that opening Wallet alone is a reliable workaround. We have also captured a shipping update that took about 41 minutes, and another completion update that took almost two hours despite the phone being locked before the send. In that second case, the logs show a previously scheduled Orders task running just before the successful fetch, rather than a new push arriving then. An explicit manual pull can fetch the same pending package promptly. For comparison, a new order on another iPhone made its changed-orders request and downloaded an update within three seconds. We have not yet confirmed the visible result on that phone, and it was only a processing-description change, so it isn't an equivalent fulfillment-notification test. We tried explicit priority 10, an alert push-type control, and one background/priority-5 control. They did not produce an immediate fetch in the captured windows. A separate content-available payload experiment also reached the handler without starting a fetch; that is not our normal payload and hasn't been deployed as a fix. The full report keeps these controls and normal retries separate. What I'd like to understand Is the APNs request above correct for Wallet Orders? Are we missing a required header, payload detail or registration step? Could the shared Order Type with different webServiceURLs cause this, even though the same order updates successfully after a manual pull or later task? Is there a supported way to recover when a received update signal leaves the changed-orders request pending for hours? What conditions should we check before sending more signals or asking users to re-add an order? What further diagnostic would be useful? We have retained the original phone's sysdiagnose and separate log archives for these events and can provide them privately through the Feedback report. A 15–30 minute delay would be acceptable for our parcel-status use case. An order still showing ready for pickup the next morning is a different problem. I'm not suggesting Apple promises a particular delivery time; I'm trying to find out whether we can make this integration reasonably dependable, and what we need to correct on our side. No keys, device/push tokens, customer information or full device logs are included in this post.
7
0
290
2d
Dynamic Island content jitters during updates on iPhone Duo running iOS 27.1
We are experiencing a Dynamic Island rendering issue on a physical iPhone Duo. When the Dynamic Island content updates, the view visibly jitters during rendering. We expect the content to update smoothly without unintended movement or layout shifts. The issue persists even when we use @Environment(.isDynamicIslandLimitedInWidth) to adapt the layout for a width-constrained Dynamic Island. It also occurs with a minimal layout containing only a basic view. Environment iPhone Duo iOS 27.1 Xcode 27.1 Is this a known issue with Dynamic Island on iPhone Duo? Is there a recommended workaround to prevent the content from jittering during updates? Thank you for your help
0
0
86
2d
Sending a user-approved summary derived from HealthKit data to a third-party AI service (Guideline 5.1.3(i), DPLA 3.3.3(H))?
An optional coaching feature in my planned app would, after explicit opt-in, send a short text summary (for example sleep duration or heart rate variability over the last week) to a third-party AI service to generate advice for that same user. The data is not used for advertising, marketing or data mining. Guideline 5.1.3(i) allows disclosure of HealthKit-derived data only "for improving health management, or for the purpose of health research, and then only with permission", and DPLA 3.3.3(H) allows disclosure to a third party only with prior express consent and only to provide health, motion or fitness services. Is a per-user coaching feature like this within what 5.1.3(i) and 3.3.3(H) permit? Does it matter whether the summarised values were entered manually (and stored in HealthKit) or measured by a device? I understand this is not a pre-approval; I would like to know how the rule is meant to be read. Thank you.
0
0
257
2d
Guideline 5.1.3(ii) and DPLA 3.3.3(D): private CloudKit for meal logs and workout logs (no HealthKit values)?
I am planning an iOS app for strength training, nutrition and sleep. Before I build the data layer I would like to understand how Apple reads the following rules. Planned design: Body measurements and sleep values live in HealthKit only and are never written to iCloud or CloudKit. Training sessions and meal entries (food, calories, macronutrients, entered manually or by barcode scan) are stored on the device and in the user's private CloudKit database. Nothing is stored on our own servers. The app also caches packaged food products the user has scanned (name, ingredients, allergens, nutrition facts from the public Open Food Facts database) in the same private CloudKit database. Guideline 5.1.3(ii) says apps "may not store personal health information in iCloud", and DPLA 3.3.3(D) restricts using iCloud or CloudKit for "sensitive, individually-identifiable health information" unless Apple permits it in writing. Questions: Does a meal log or a product cache in the user's private CloudKit database count as "personal health information" in this sense, as long as no HealthKit values are stored there? Is the answer different if the private CloudKit data is end-to-end encrypted (encryptedValues)? I understand that App Review cannot pre-approve an app. I am only asking how the rule is meant to be read. Thank you.
0
0
242
2d
DockKit: switching the Insta360 Flow 2 Pro between portrait and landscape from an app
I'm controlling an Insta360 Flow 2 Pro (firmware 5.50.80) from my own app with DockKit (iPhone 15 Pro, iOS 26.6.1). Pan and tilt work fine.   I need my app to switch the phone between portrait and landscape automatically, the way the gimbal's Switch button and the Insta360 app do. Is there a DockKit API for this? Is there also a way to read which orientation the gimbal is in?   I tried turning the roll motor myself, and it doesn't work:   // roll by speed (±45°/s), and by position (±90°, relative and absolute) try await accessory.setAngularVelocity(Vector3D(x: 0, y: 0, z: rollSpeed)) try await accessory.setOrientation(Vector3D(x: 0, y: 0, z: -.pi / 2),                                    duration: .seconds(1.5), relative: true)  Both calls return no error, but the phone doesn't turn. The same calls move pan as expected. The accessory's limits have no roll axis, and motionStates reports a roll of 0 even after the Switch button has turned the phone to landscape.   Is portrait/landscape switching supported in DockKit, and if not, is it planned?   Thanks!
0
0
51
2d
Egress addresses of the URL filter OHTTP relay
Hello, I am wondering about the egress addresses of the Oblivious HTTP relay that Apple runs for Network Extension URL filters. I am building an iOS app that uses NEURLFilterManager. The app builds a Bloom filter from the block lists a user picks. The system only asks our server about a site when that filter has a hit. Each lookup is encrypted with keyword PIR and carries a Privacy Pass token instead of anything tied to the user. It reaches our server through your relay, which strips the device's address. We run our own PIR server, Privacy Pass issuer and OHTTP gateway instead of a hosted service. The gateway is the one part of the setup that should only ever hear from your relay. Since every real lookup comes through the relay, I would really like to drop all other traffic to it at the firewall. Right now I can't do that. I also can't rate limit by address because every legitimate request shares the relay's addresses. As a result the gateway just has to stay open to everyone and rely on global limits, which is a far cry from what I'd want for a service that only one client is meant to reach. I have three questions about this. 1) Are the relay's egress address ranges published somewhere, or can they be shared with developers who have been onboarded? 2) If they are shared, how would we find out when they change and how much notice there is? 3) If the addresses can't be shared, is there another way to tell that a request came from the relay, such as a header or a client certificate? Please let me know if any of this is unclear or if there is a better place to ask. Thank you in advance, Alexander
0
0
62
3d
Recurring kernel panic: m_copym_with_hdrs copy overflow @uipc_mbuf.c:3268 — reproduced via 3 independent, unrelated producer paths (FB24343421, FB24333740)
Filing this as a public thread to try to get DTS attention, similar to how thread 821372 (skmem_slab_free_locked double-free) got resolved - accumulated cross-referenced reports there are what got that one fixed in 26.5/26.6. Panic signature (identical every time): panic(cpu N caller 0x...): m_copym_with_hdrs n 0x... copy overflow @uipc_mbuf.c:3268 My own occurrences: 5 panics over 2 days on a MacBook Pro (Mac16,7 / M4 Pro), macOS 26.5.2 build 25F84, kernel Darwin 25.5.0 (xnu-12377.121.10~1/RELEASE_ARM64_T6041). Filed as Feedback Assistant report FB24343421 (5 panic logs + a full sysdiagnose attached). Why this looks like a generic kernel bug, not app-specific: I initially suspected a third-party VPN NetworkExtension (Tailscale) since it appeared in the full stackshot of every one of my panics. Ruled that out: That NE is a userspace-only component - cannot execute kernel code. Two other reporters have hit the identical panic string via completely different, unrelated paths: One reproduced it with no VPN/tunnel software running at all (engine stopped, sysext idle) - see FB24333740, cross-referenced at https://github.com/tailscale/tailscale/issues/20864 Another hit the same panic string on an Intel Mac via a third-party Ethernet kext, no VPN/utun involved at all - https://github.com/SongXiaoXi/AppleIGC/issues/34 So this reproduces through at least 3 independent producer paths (a NetworkExtension, no tunnel software at all, and a third-party Ethernet driver), which points to something generic in the TCP send path (tcp_output -> m_copym_with_hdrs) rather than anything specific to one app or extension. Known non-workarounds: net.inet.tcp.tso=0 does not avoid the code path (checked against the last public xnu source drop). No sysctl or config change has stopped recurrence for anyone who's tried. Related public reports: https://github.com/tailscale/tailscale/issues/20864 https://github.com/tailscale/tailscale/issues/20612 https://github.com/SongXiaoXi/AppleIGC/issues/34 FB24333740 (independent Feedback Assistant report, same signature) FB24343421 (mine, this thread) Still reproducing on the latest public release (26.6.1 / 25G76) per the other reporters. Happy to provide more diagnostics - this is easy to reproduce on my end, roughly every few hours to once a day under normal use.
3
1
641
3d
All App Store Server Notifications V2 TIMED_OUT at creation time (Sandbox + Production), even to webhook.site - app transferred on 2 Oct
Since we configured App Store Server Notifications V2 on 15 October 2026, every notification for our app is recorded as TIMED_OUT, with the attemptDate equal to the signedDate (same second), and no HTTP request ever reaches our server. 35 Sandbox notifications (TEST, SUBSCRIBED, DID_RENEW, EXPIRED): one attempt each, TIMED_OUT. 2 Production TEST notifications: retried 5–6 times over a week, all TIMED_OUT. Our endpoint is public, TLS 1.3, valid certificate, answers in < 400 ms, and processes the signedPayload correctly when we POST it ourselves. Today we pointed the Sandbox URL to a webhook.site URL and requested a test notification: TIMED_OUT within 10 s, nothing received on webhook.site either. The app (com.virginactive.revolution, appAppleId 1620160868) was transferred to our current developer account on 2 October 2026; notifications have never been delivered under the new team, so we suspect a server-side state issue after the transfer. Latest test tokens: Sandbox: be12b40b-19a7-4723-aebf-764db83b4690_1793289992274 (29 Oct 2026 16:06 UTC) Production: 80597167-2939-4cc9-a43c-2c3c29c6a161_1792741270174 (23 Oct 2026 07:41 UTC) Feedback Assistant: FB25363489 Is there anything on our side that could make the App Store server fail before attempting the connection, or does this need to be fixed on Apple's side?
1
0
100
3d
https://apps.apple.com/app/id6815765181
A Shortcuts automation with the "When I get a notification" trigger does not run for every delivered notification. There is no error or indication that a run was skipped. Repro (iPhone 16 Pro, iOS 27.0.1 (24A446)) : Create a shortcut with the "When I get a notification" trigger for Instagram and turn on its automation. Add a single "Append to Note" action that appends the notification's Title, Body, and Date. From another device, send 10 numbered DMs within about 15 seconds. Result all 10 notifications appeared in Notification Center, but only 7 entries were appended to the note (#2, #4, #6 missing). My app relies on this trigger to save notification history, and users report missing notifications. Is this trigger expected to run for every delivered notification, or is it best-effort? If anyone else sees this, filing a duplicate referencing FB25255777 would help.
Replies
1
Boosts
1
Views
330
Activity
2d
Supported dashboard layouts for a CarPlay Driving Task app
LifeNavio has the CarPlay Driving Task entitlement and currently uses CPGridTemplate and CPListTemplate. We want a dashboard with a branded header, Ask Navio button, four category tiles, side-by-side reminder and nearby-stop panels, and bottom navigation, as shown in the attached design. Is there a supported CarPlay template combination or eligible integration that permits this layout? If not, what is the closest supported approach? We understand that CPWindow custom rendering is reserved for navigation maps. We are seeking a supported solution using public APIs.
Replies
0
Boosts
0
Views
16
Activity
2d
Managed asset pack download fails with `PipelineNotFound` at 100 % after the app is backgrounded (iOS 27)
We ship a ~6.2 GB Apple-hosted managed asset pack and request it with AssetPackManager.ensureLocalAvailability(of:). If the app goes to the background even once while the download runs, the transfer continues to the end and then fails with ManagedBackgroundAssetsProcessingPipeline.Dispatcher.PipelineNotFound. The system discards the resume data, and the next attempt starts again from byte 0. What the sysdiagnose shows: On backgrounding, backgroundassets.user logs allows BG activity, pausing any foreground downloads for background demotion and hands the download to nsurlsessiond. On return it logs re-promoted 1 previously-demoted foreground downloads. Each handoff moves the stream to another STExtractionService.privileged instance, which logs No processing pipeline with the ID "…" was found; defaulting to an extraction memory footprint of 50 MB. When the HTTP response ends: [Relay] No endpoint was found for the key "…" (fault) → The stream couldn't be finished: No processing pipeline with the ID "…" was found → Removing the resumption info → the download fails. This happened on every app-requested download that was backgrounded at least once. One run reached 100 % in the foreground and still failed. The only download that ever completed was the system's own prefetch download, which ran entirely in the background with the app never launched. Over one afternoon about 46 GB were downloaded for a single 6.2 GB pack. Questions: Is this a known issue with the demotion/promotion of foreground asset-pack downloads? Is AssetPack.download(for: nil) plus BADownloadManager.scheduleDownload(_:) a supported way to request a managed pack from the app, so the download never gets foreground priority? We're testing it now. Is there any other way to keep a download requested from a foreground app from being demoted? Filed as FB24888599.
Replies
3
Boosts
1
Views
194
Activity
2d
watchOS 27: third-party NWListener application service advertisement is denied by NECP policy, so DeviceDiscoveryUI pairing from tvOS never completes
On watchOS 27, a third-party watch app that advertises an application service with NWListener (default NWParameters.applicationService, service declared in NSApplicationServices → Advertises) is never advertised: the advertiser path is denied by NECP policy. As a result, when a tvOS app presents DDDevicePickerViewController and the user selects the watch and taps Connect on the watch, sharingd finds no listener (listenerID (null)), the pairing times out after ~30 s, and the tvOS picker's endpoint never returns — neither an endpoint nor an error. Raw lines: watchOS 26.6 (success, pid 267) 16:00:55.891 AppleWatch[267] -[_NWAdvertiser start] [L1] Starting advertiser 16:00:55.891 AppleWatch[267] -[_NWAdvertiser updateFlows:]_block_invoke [L1] Added listener flow ID 667B9945-… 16:00:55.926 rapportd[48] Found registered listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=0A1149F2-… : ageOut=179s agentClient=0x0 { 'kebike' } 16:00:55.927 rapportd[48] Updated RPNWAgentClient[0x176cc550] (LSTNR): < appSvc=com.fitonapp.fiton.FitOnWorkout PID:267 entitled=0 … browseToken=[pid:267,id:667B9945] … > 16:00:55.930 rapportd[48] [pid:267,id:A20E8919] createListenerFramer calling assign with local endpoint=::.51714 16:01:09.956 rapportd[48] [pid:267,id:F7883D0D] ADVERTISE: Start advertise 'FitOnWorkout' request QUIC=NO isTCP=YES params:[tcp, pid: 267, local: ::.51714, …] 16:01:29.352 rapportd[48] Created incoming RPNWConnection[CONN[5BCD2213-…] (IN): … appSvc=com.fitonapp.fiton.FitOnWorkout … EP={kebike:…}] 16:01:29.399 rapportd[48] [pid:267,id:3346E704] assigning connection ::.51714 <-> app_svc: com.fitonapp.fiton.FitOnWorkout, service_id: D2D4D049-… 16:01:29.404 AppleWatch[267] nw_connection_report_state_with_handler_on_nw_queue [C2] reporting state ready Raw lines: watchOS 27 (failure, 10-21) 16:00:48.761 AppleWatch[556] -[_NWAdvertiser start] [L1] Starting advertiser with descriptor: FitOnWorkout scope:3f … 16:00:48.761 AppleWatch[556] -[_NWAdvertiser updateFlows:] [L1] Listener skipping advertise flows due to unsatisfied path with policy drop 16:00:48.760 rapportd[98] [pid:556,id:C1D4B82D] createListenerFramer: incorrect agent type ← never upgraded to LSTNR afterwards … 16:05:37.919 sharingd[458] setupDDUIListenerIfNeeded, incoming pairing session … ← TV's pairing request did arrive 16:05:40.538 sharingd[458] Attempting to launch application com.fitonapp.fiton.watchkitapp 16:05:40.688 rapportd[98] Searching for listener agent client with appSvc='com.fitonapp.fiton.FitOnWorkout' 16:05:40.688 rapportd[98] Created new listener RPNWListener[…][com.fitonapp.fiton.FitOnWorkout]=F625EFB1-… : ageOut=180s agentClient=0x0 { } ← no FitOnWorkout ADVERTISE afterwards; the listener never gets the app's agent client
Replies
4
Boosts
0
Views
172
Activity
2d
Requests + suggestions for Live Activity UI limitations
Live Activities: API gaps for ProgressView, Text(timerInterval:), and compact/minimal icons Thanks for organizing a session on Live Activities — looking forward to it. We're shipping a Live Activity for train departures (a countdown to departure, plus a custom indicator for the platform the train leaves from), and we've run into a handful of limitations where the public API doesn't seem to expose behavior that first-party experiences appear to have. We'd love either guidance on how to achieve these today, or confirmation that they're on the roadmap. Grouping them by API below. ProgressView 1. Height isn't adjustable. (FB23091027) A linear ProgressView renders at a fixed height. The only lever we've found is scaleEffect, but scaling the whole view also scales the corner radius, so the rounded caps end up distorted (stretched ovals instead of clean pills). We'd like a supported way to set the bar's height — or at least a fixed-radius style that survives scaling. 2. Only the fill is stylable, not the track. (FB23091058) .tint(...) and progress view styles let us color the progress portion, but we can't find a way to style the background/remaining track (color, opacity, etc.). First-party progress bars clearly have a styled track, so we assume there's a path we're missing. 3. No separator/border between filled and remaining. (FB23091078) We'd like a visible border or divider at the boundary between the active (filled) and remaining segments. There's currently no hook for this without abandoning ProgressView entirely and hand-rolling the bar. 4. ProgressView(value:) carries extra vertical padding that ProgressView(timerInterval:) doesn't. (FB23091242) The value-based initializer renders with an additional ~3 pt of top/bottom padding that the timerInterval: initializer doesn't apply. When the two are placed together — or swapped for one another — their bars don't line up vertically, since one has extra vertical inset and the other doesn't. We'd like the vertical insets to be consistent across the two initializers (or a supported way to control them) so progress bars can be aligned reliably. Collectively, points 1–4 push us toward reimplementing the progress bar with Canvas/Shape, which feels like it shouldn't be necessary for something the system already draws. Text(timerInterval:) 5. No minute-granularity ("3 min.") countdown. (FB23091094) We want a self-updating timer that ticks down in whole minutes — "3 min." → "2 min." → "1 min." — rather than MM:SS. Apple already does this: in the Dynamic Island compact trailing region, the system Timer renders a coarse, minute-granularity countdown that updates itself (it shows e.g. "3 m"). We'd love exactly that, but with a localizable, slightly longer unit such as "3 min.". Today Text(timerInterval:countsDown:) only gives us the full digit-ticking format, and we can't find a supported way to drive a minute-granularity self-updating timer. 6. It always reserves full horizontal width. (FB23091111) A Text(timerInterval:) claims the maximum horizontal space its widest value would need (presumably to avoid layout jitter as digits change). Concretely: placing a Text(timerInterval:countsDown:) in compactTrailing stretches the Live Activity to fill that direction. Apple's own Timer doesn't do this — its countdown in the same compact trailing region hugs its content. We'd like a supported way to opt into that content-hugging layout, accepting the jitter trade-off ourselves. Compact Dynamic Island 7. Animating between two icons while the timer stays visible. (FB23091159) In the compact presentation we want to transition between two graphics on a state change — in our case, cross-fading between a vehicle/line glyph and our custom platform indicator (showing which platform the train departs from) in the compact leading slot, while the departure countdown stays visible in the trailing slot. Today the swap hard-cuts. First-party activities show smooth content transitions in these regions, so we assume there's a supported approach we're missing. Guidance on supported transitions for the compact slots would be very welcome. If any of these are already achievable, we'd genuinely appreciate pointers — we may simply be holding the API wrong. And if they aren't, consider this a consolidated feature request. We've filed each as an individual Feedback item (FB numbers inline above) and are happy to attach sample projects and screen recordings.
Replies
6
Boosts
2
Views
698
Activity
2d
How can I disable sharing age range with an app
I am still in development phase of an app, I integrated AgeRangeAPI and shared age range with my app. When I go to system settings > profile > personal information > Age Range for Apps , I see the app and it says "Shared", but I can't unshare anymore. I can unshare globally but now per app. I know the AgeRangeAPI can be tested from the Developer > Account > Manage, but that kind of testing skips the native UI I want to test again full scenario to see what real users will experience, I want to see the real UI of sharing again.
Replies
5
Boosts
0
Views
136
Activity
2d
Does the macOS 27 disk image release guidance also apply to USB mass storage?
Thanks for your answer about disk images after guest shutdown. You mentioned that on macOS 27 and later, the host should be able to use the image once guestDidStop(_:) fires. Does that also apply to a writable RAW image opened by URL with VZDiskImageStorageDeviceAttachment and presented to the guest as a VZUSBMassStorageDevice? I’m testing with UTM 5.0.8 on an Apple silicon Mac running macOS 27.0.1 (build 26A434). In my test, lsof showed an Apple Virtualization process holding the image open for read/write while the guest was running. After a graceful shutdown, ejecting the image in UTM, and quitting UTM, lsof showed no match. I’m trying to work out when a separate host process can safely read the file. For this kind of attachment, is guestDidStop(_:) enough, or does the app also need to wait for VZUSBController.detach to complete? Can a separate process running without elevated privileges verify that the framework is done with that file, or does it need the app hosting the VM to report that the relevant callback fired?
Replies
1
Boosts
0
Views
263
Activity
2d
URL parse strategy default scheme not working?
I'm trying to parse URLs that may not have a scheme specified. In that case, I want it to assume http, so I set the scheme strategy to .defaultValue("http"). However, when parsing a URL without a scheme, it fails with the following error: error: Error Domain=NSCocoaErrorDomain Code=2048 "Cannot parse example.com. String should adhere to the preferred format of the locale, such as https://user:password@www.example.com/path?color=red#name."If I prefix the URL string with "http://", it works fine. I also tried setting the default value to "http:" and "http://" with the same result. Here is the code I'm using to test this: import Foundation do { let url = try URL( "example.com", // this fails but "http://example.com" works strategy: .url .scheme(.defaultValue("http")) .port(.defaultValue(8080)) .path(.defaultValue("/")) ) print("parsed: \(url)") } catch let error { print("error: \(error)") }Is this a bug, or have I misunderstood the default value strategy? Thanks!
Replies
1
Boosts
0
Views
302
Activity
2d
NEURLFilter configuration still "Queued" six weeks after submission
Our Network Extension URL Filter configurations in CloudKit Identity & Trust are not moving through onboarding. STG: configuration 6e17673d-dbaa-4b35-98c5-ff9e7a357577, bundle ca.itellyou.stg. Submitted 2026-09-25, status Approved, Onboarding Status "Queued". PRD: configuration 06fa2558-281b-4b55-b59f-402ecf359d18, bundle ca.itellyou. Submitted 2026-10-20, status In Review. Evidence (iPhone 17 Pro Max, 2026-11-06, same commit, same server, same user token): Development-signed build: the filter reaches "running" and blocks our test domains. Ad-hoc (distribution-signed) build: it cycles starting -> stopped with NEURLFilterManager.Error 9. The PIR server, Privacy Pass issuer and OHTTP gateway are live, and the test entry www.apple.com/url-filter-test is present. An Apple engineer confirmed on GitHub (apple/pir-service-example#185) that nothing is pending on our side. We also opened support case 30000007408474. Has anyone seen how long onboarding takes these days, or found a way to get it moving?
Replies
1
Boosts
0
Views
80
Activity
2d
launchctl bootout fails for my own LaunchAgent: “caller is not allowed to signal target process”
I maintain a per-user LaunchAgent on my own Mac. Its plist is in ~/Library/LaunchAgents, and the service is registered in gui/501. When my development tool invoked launchctl bootout, it exited with status 1. The macOS log said: “caller (PID 14105) is not allowed to signal target process.” I verified that the service label, domain, and plist matched the running agent. The agent is still running. What requirements must the calling process meet to stop and re-register a LaunchAgent in the logged-in user’s GUI domain? Is there a read-only way to identify which restriction caused this denial before attempting to stop the service again?
Replies
1
Boosts
0
Views
57
Activity
2d
Wallet Orders updates arrive hours late even though the push reaches the device
I'm implementing Wallet order tracking for a shop and have run into an update problem that I haven't been able to explain. This is the Wallet Orders web service and signed .order packages, not .pkpass passes or orders found in Mail. I've filed FB25380857 with a detailed timeline and a redacted sender example. I'm posting here because I would also like someone to check whether there's a mistake or unsupported assumption in our integration. If there is a parameter or response we should change, I'd much rather find it now than blame the OS. The short version: the phone receives our APNs message almost immediately, but sometimes doesn't ask our server for the updated order for hours. Once it finally makes the request, the package downloads, applies and produces the expected notification normally. How the service is set up Orders are added from Safari using the Wallet button. There is no separate native app. Registration succeeds, and the phone initially downloads and displays the order. We send to the production APNs endpoint over HTTP/2, using the Order Type certificate and key. The topic matches the Order Type ID. The request body is exactly {}. Our normal sender leaves the priority at its default of 10, and for the tests below I explicitly set it to 10. The push-type header is omitted. TLS verification is enabled, and apns-expiration is set to the current time plus one hour. The effective request is: POST https://api.push.apple.com/3/device/<registeredPushToken> apns-topic: <orderTypeIdentifier> apns-priority: 10 apns-expiration: <currentEpochPlus3600> content-type: application/json {}Each update keeps the same order ID, authentication token, webServiceURL and createdAt. updatedAt is an RFC 3339 timestamp and strictly increases. The device registration endpoint returns 201/200. The changed-orders endpoint returns lastModified and the registered orderIdentifiers, or 204 if nothing has changed. The package endpoint returns the signed .order with the finance.order MIME type, Last-Modified and conditional 304 support. The changed-orders response is no-store, and the package response is private, max-age=0, must-revalidate. One detail I'm unsure about: our isolated test orders share one Order Type ID, but each test has its own stable webServiceURL. Is that supported, or should all orders under an Order Type use the same service URL? The affected phone's diagnostic build is 24B119, listed in Feedback Assistant as iOS 27.2. The Wallet logging profile was already installed before these tests, and the phone had been restarted. These are synthetic orders, with no real purchase or carrier operation. The longest delay we captured Times below are local, Europe/Budapest, UTC+01:00, on October 30–31, 2026. October 30, 18:43:56: the screen is off. 18:44:16: we change the order from ready for pickup to picked up/completed and send the update signal. APNs returns 200. 18:44:16.903: apsd receives the message. At .905, financed logs receipt in both its Push and Orders handlers for our exact Order Type. No immediate Orders task or changed-orders request follows. Normal confirmation retries go out at 18:55:02 and 19:05:02. October 31, 10:53:22–23: Wallet enters the foreground and becomes active. 10:53:25.884: pending Orders work starts. 10:53:26: the phone asks for changed orders and downloads the pending package with HTTP 200. 10:53:27: the phone logs that it applies the update and schedules the notification. The picked-up notification appears. That is 16 hours, 9 minutes from the first signal to the package response. There was no new signal from our server that morning. I had opened Wallet, but did not deliberately pull to refresh; I can't completely rule out an accidental gesture. I therefore don't want to claim that opening Wallet alone is a reliable workaround. We have also captured a shipping update that took about 41 minutes, and another completion update that took almost two hours despite the phone being locked before the send. In that second case, the logs show a previously scheduled Orders task running just before the successful fetch, rather than a new push arriving then. An explicit manual pull can fetch the same pending package promptly. For comparison, a new order on another iPhone made its changed-orders request and downloaded an update within three seconds. We have not yet confirmed the visible result on that phone, and it was only a processing-description change, so it isn't an equivalent fulfillment-notification test. We tried explicit priority 10, an alert push-type control, and one background/priority-5 control. They did not produce an immediate fetch in the captured windows. A separate content-available payload experiment also reached the handler without starting a fetch; that is not our normal payload and hasn't been deployed as a fix. The full report keeps these controls and normal retries separate. What I'd like to understand Is the APNs request above correct for Wallet Orders? Are we missing a required header, payload detail or registration step? Could the shared Order Type with different webServiceURLs cause this, even though the same order updates successfully after a manual pull or later task? Is there a supported way to recover when a received update signal leaves the changed-orders request pending for hours? What conditions should we check before sending more signals or asking users to re-add an order? What further diagnostic would be useful? We have retained the original phone's sysdiagnose and separate log archives for these events and can provide them privately through the Feedback report. A 15–30 minute delay would be acceptable for our parcel-status use case. An order still showing ready for pickup the next morning is a different problem. I'm not suggesting Apple promises a particular delivery time; I'm trying to find out whether we can make this integration reasonably dependable, and what we need to correct on our side. No keys, device/push tokens, customer information or full device logs are included in this post.
Replies
7
Boosts
0
Views
290
Activity
2d
Dynamic Island content jitters during updates on iPhone Duo running iOS 27.1
We are experiencing a Dynamic Island rendering issue on a physical iPhone Duo. When the Dynamic Island content updates, the view visibly jitters during rendering. We expect the content to update smoothly without unintended movement or layout shifts. The issue persists even when we use @Environment(.isDynamicIslandLimitedInWidth) to adapt the layout for a width-constrained Dynamic Island. It also occurs with a minimal layout containing only a basic view. Environment iPhone Duo iOS 27.1 Xcode 27.1 Is this a known issue with Dynamic Island on iPhone Duo? Is there a recommended workaround to prevent the content from jittering during updates? Thank you for your help
Replies
0
Boosts
0
Views
86
Activity
2d
Sending a user-approved summary derived from HealthKit data to a third-party AI service (Guideline 5.1.3(i), DPLA 3.3.3(H))?
An optional coaching feature in my planned app would, after explicit opt-in, send a short text summary (for example sleep duration or heart rate variability over the last week) to a third-party AI service to generate advice for that same user. The data is not used for advertising, marketing or data mining. Guideline 5.1.3(i) allows disclosure of HealthKit-derived data only "for improving health management, or for the purpose of health research, and then only with permission", and DPLA 3.3.3(H) allows disclosure to a third party only with prior express consent and only to provide health, motion or fitness services. Is a per-user coaching feature like this within what 5.1.3(i) and 3.3.3(H) permit? Does it matter whether the summarised values were entered manually (and stored in HealthKit) or measured by a device? I understand this is not a pre-approval; I would like to know how the rule is meant to be read. Thank you.
Replies
0
Boosts
0
Views
257
Activity
2d
Guideline 5.1.3(ii) and DPLA 3.3.3(D): private CloudKit for meal logs and workout logs (no HealthKit values)?
I am planning an iOS app for strength training, nutrition and sleep. Before I build the data layer I would like to understand how Apple reads the following rules. Planned design: Body measurements and sleep values live in HealthKit only and are never written to iCloud or CloudKit. Training sessions and meal entries (food, calories, macronutrients, entered manually or by barcode scan) are stored on the device and in the user's private CloudKit database. Nothing is stored on our own servers. The app also caches packaged food products the user has scanned (name, ingredients, allergens, nutrition facts from the public Open Food Facts database) in the same private CloudKit database. Guideline 5.1.3(ii) says apps "may not store personal health information in iCloud", and DPLA 3.3.3(D) restricts using iCloud or CloudKit for "sensitive, individually-identifiable health information" unless Apple permits it in writing. Questions: Does a meal log or a product cache in the user's private CloudKit database count as "personal health information" in this sense, as long as no HealthKit values are stored there? Is the answer different if the private CloudKit data is end-to-end encrypted (encryptedValues)? I understand that App Review cannot pre-approve an app. I am only asking how the rule is meant to be read. Thank you.
Replies
0
Boosts
0
Views
242
Activity
2d
DockKit: switching the Insta360 Flow 2 Pro between portrait and landscape from an app
I'm controlling an Insta360 Flow 2 Pro (firmware 5.50.80) from my own app with DockKit (iPhone 15 Pro, iOS 26.6.1). Pan and tilt work fine.   I need my app to switch the phone between portrait and landscape automatically, the way the gimbal's Switch button and the Insta360 app do. Is there a DockKit API for this? Is there also a way to read which orientation the gimbal is in?   I tried turning the roll motor myself, and it doesn't work:   // roll by speed (±45°/s), and by position (±90°, relative and absolute) try await accessory.setAngularVelocity(Vector3D(x: 0, y: 0, z: rollSpeed)) try await accessory.setOrientation(Vector3D(x: 0, y: 0, z: -.pi / 2),                                    duration: .seconds(1.5), relative: true)  Both calls return no error, but the phone doesn't turn. The same calls move pan as expected. The accessory's limits have no roll axis, and motionStates reports a roll of 0 even after the Switch button has turned the phone to landscape.   Is portrait/landscape switching supported in DockKit, and if not, is it planned?   Thanks!
Replies
0
Boosts
0
Views
51
Activity
2d
Egress addresses of the URL filter OHTTP relay
Hello, I am wondering about the egress addresses of the Oblivious HTTP relay that Apple runs for Network Extension URL filters. I am building an iOS app that uses NEURLFilterManager. The app builds a Bloom filter from the block lists a user picks. The system only asks our server about a site when that filter has a hit. Each lookup is encrypted with keyword PIR and carries a Privacy Pass token instead of anything tied to the user. It reaches our server through your relay, which strips the device's address. We run our own PIR server, Privacy Pass issuer and OHTTP gateway instead of a hosted service. The gateway is the one part of the setup that should only ever hear from your relay. Since every real lookup comes through the relay, I would really like to drop all other traffic to it at the firewall. Right now I can't do that. I also can't rate limit by address because every legitimate request shares the relay's addresses. As a result the gateway just has to stay open to everyone and rely on global limits, which is a far cry from what I'd want for a service that only one client is meant to reach. I have three questions about this. 1) Are the relay's egress address ranges published somewhere, or can they be shared with developers who have been onboarded? 2) If they are shared, how would we find out when they change and how much notice there is? 3) If the addresses can't be shared, is there another way to tell that a request came from the relay, such as a header or a client certificate? Please let me know if any of this is unclear or if there is a better place to ask. Thank you in advance, Alexander
Replies
0
Boosts
0
Views
62
Activity
3d
Recurring kernel panic: m_copym_with_hdrs copy overflow @uipc_mbuf.c:3268 — reproduced via 3 independent, unrelated producer paths (FB24343421, FB24333740)
Filing this as a public thread to try to get DTS attention, similar to how thread 821372 (skmem_slab_free_locked double-free) got resolved - accumulated cross-referenced reports there are what got that one fixed in 26.5/26.6. Panic signature (identical every time): panic(cpu N caller 0x...): m_copym_with_hdrs n 0x... copy overflow @uipc_mbuf.c:3268 My own occurrences: 5 panics over 2 days on a MacBook Pro (Mac16,7 / M4 Pro), macOS 26.5.2 build 25F84, kernel Darwin 25.5.0 (xnu-12377.121.10~1/RELEASE_ARM64_T6041). Filed as Feedback Assistant report FB24343421 (5 panic logs + a full sysdiagnose attached). Why this looks like a generic kernel bug, not app-specific: I initially suspected a third-party VPN NetworkExtension (Tailscale) since it appeared in the full stackshot of every one of my panics. Ruled that out: That NE is a userspace-only component - cannot execute kernel code. Two other reporters have hit the identical panic string via completely different, unrelated paths: One reproduced it with no VPN/tunnel software running at all (engine stopped, sysext idle) - see FB24333740, cross-referenced at https://github.com/tailscale/tailscale/issues/20864 Another hit the same panic string on an Intel Mac via a third-party Ethernet kext, no VPN/utun involved at all - https://github.com/SongXiaoXi/AppleIGC/issues/34 So this reproduces through at least 3 independent producer paths (a NetworkExtension, no tunnel software at all, and a third-party Ethernet driver), which points to something generic in the TCP send path (tcp_output -> m_copym_with_hdrs) rather than anything specific to one app or extension. Known non-workarounds: net.inet.tcp.tso=0 does not avoid the code path (checked against the last public xnu source drop). No sysctl or config change has stopped recurrence for anyone who's tried. Related public reports: https://github.com/tailscale/tailscale/issues/20864 https://github.com/tailscale/tailscale/issues/20612 https://github.com/SongXiaoXi/AppleIGC/issues/34 FB24333740 (independent Feedback Assistant report, same signature) FB24343421 (mine, this thread) Still reproducing on the latest public release (26.6.1 / 25G76) per the other reporters. Happy to provide more diagnostics - this is easy to reproduce on my end, roughly every few hours to once a day under normal use.
Replies
3
Boosts
1
Views
641
Activity
3d
All App Store Server Notifications V2 TIMED_OUT at creation time (Sandbox + Production), even to webhook.site - app transferred on 2 Oct
Since we configured App Store Server Notifications V2 on 15 October 2026, every notification for our app is recorded as TIMED_OUT, with the attemptDate equal to the signedDate (same second), and no HTTP request ever reaches our server. 35 Sandbox notifications (TEST, SUBSCRIBED, DID_RENEW, EXPIRED): one attempt each, TIMED_OUT. 2 Production TEST notifications: retried 5–6 times over a week, all TIMED_OUT. Our endpoint is public, TLS 1.3, valid certificate, answers in < 400 ms, and processes the signedPayload correctly when we POST it ourselves. Today we pointed the Sandbox URL to a webhook.site URL and requested a test notification: TIMED_OUT within 10 s, nothing received on webhook.site either. The app (com.virginactive.revolution, appAppleId 1620160868) was transferred to our current developer account on 2 October 2026; notifications have never been delivered under the new team, so we suspect a server-side state issue after the transfer. Latest test tokens: Sandbox: be12b40b-19a7-4723-aebf-764db83b4690_1793289992274 (29 Oct 2026 16:06 UTC) Production: 80597167-2939-4cc9-a43c-2c3c29c6a161_1792741270174 (23 Oct 2026 07:41 UTC) Feedback Assistant: FB25363489 Is there anything on our side that could make the App Store server fail before attempting the connection, or does this need to be fixed on Apple's side?
Replies
1
Boosts
0
Views
100
Activity
3d