On macOS, one can set the "Open With ..." application in the information panel of a file without changing the default for this file type. However, doing this for a number of files is very tedious. A simple case is to change all .txt files in a directory to a special editor, but leave the system wide default (usually TextEdit). I have tried AppleScript, command line tools as well as a minimal GUI app (using LSSetItemAttribute), but all fail because of a lack of permission. Is there any way to achieve this?
General
RSS for tagDelve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
In recent versions, the increase in background abnormal exits is significant. According to monitoring data, it is closely related to the iOS 26 system. Could you please look into the reasons or provide some suggestions for troubleshooting the issue?
We use SCK to screen share, however [SCShareableContent getShareableContentWithCompletionHandler:] takes over 5+ seconds before returning the response. Is it normal? What we can do to reduce the time consumption?
Hello,
In production, a large number of users experience outgoing call reporting fails with the following error:
com.apple.CallKit.error.requesttransaction Code=2
The iOS version doesn't matter, errors are present in v15-26
Details
My CXProvider held as a global singleton, so it’s unlikely to be deinited.
There is no explicit call to CXProvider.invalidate() in the app.
If I manually invalidate the CXProvider, I observe the expected failure when trying to create an outgoing call (com.apple.CallKit.error.requesttransaction error 2).
However, If I recreate the CXProvider after the error, outgoing calls are reported correctly.
Many users trigger the providerDidReset delegate method (CXProviderDelegate) before this error.
According to the documentation, providerDidReset can be called by the system, and we are supposed to end all active calls, but the documentation doesn't suggest recreating the CXProvider.
Question
Should I recreate CXProvider after providerDidReset and forget about that, or could this error be caused by something else?
Hello, we are experiencing an issue that is not systematic regarding universal links on our application. In some cases, after the application is installed, the universal links do not open the application but instead open in Safari.
We have conducted tests on several devices and with the same link. In some cases, the links open the application after installation, and in other cases, they open in Safari.
I should mention that in all test cases, we did not force the opening via the menu accessible through a long press on the link.
We performed sysdiagnose in the different cases and we observed the same configuration for the universal links in the swcutil_show.txt file:
User Approval: unspecified
Site/Fmwk Approval: approved
At this stage, I do not think the problem comes from our application or the configuration of the apple-app-site-association file. Is this a known issue? Is there anything we can do on our side to work around it ?
I have a question regarding CarKeyErrorCode in the CarKey framework.
testtestestestestest
I have a question regarding CarKeyErrorCode in the CarKey framework.
I plan to use the following methods in the CarKey framework:
If methods 1-4 do not return CarKeyErrorCode, what kind of Error do they return?
Thank you in advance.
Topic:
App & System Services
SubTopic:
General
I have a question regarding CarKeyErrorCode in the CarKey framework.
I plan to use the following methods in the CarKey framework:
CarKeyRemoteControl.start
CarKeyRemoteControlSession.vehicleReports
CarKeyRemoteControlSession.perform
RemoteKeylessEntryAction.ExecutionRequest.results
Each of the above methods throws an Error. Are these different from CarKeyErrorCode?
Is CarKeyErrorCode only used in CarKeyRemoteControlSessionDelegate.remoteControlSession(_:didInvalidateWithError:)?
If methods 1-4 do not return CarKeyErrorCode, what kind of Error do they return?
Thank you in advance.
Hello everyone, I am trying to implement ScreenCaptureKit into my project, I am using MacOs 26 for the target version and followed this official project from apple regarding the screencapture kit. https://developer.apple.com/documentation/ScreenCaptureKit/capturing-screen-content-in-macos
I used the official exact code and implemented in my app, but the results are not good. The video look blurry, unclear, lost colors and its like 720p honestly.
The 1st video frame t is result when I integrate it in my app.
After that, I used another app ( which was built in electron, they were using screencapturekit as well ) and there results were a lot better. The 2nd video frame is when I recorded using their application. It appears as close to as system display
I tried multiple things, but no impressive results. For my purpose, I want to the final recorded video to be as good as the display quality of the system. I also applied .hdr local display and coronolicial, but no help with that as well. Changed codecs to .mov, .hevc, but still no help
Why is not the recoded video as high quality as the display
I'm working on adding MetricKit to our iPad application that we distribute internally via Enterprise distribution. I've set up the didReceive functions for both MXMetricPayload and MXDiagnosticPayload.
When I build onto a device via Xcode and use the Simulate MetricKit Payloads command, everything works as expected. The issue I'm having is when testing on a device via our enterprise distribution.
When I simulate a crash, I am receiving the MXDiagnosticPayload so that part is working correctly. However, I am never receiving a MXMetricPayload. I've been using the app and waiting up to 3 days in some tests and not receiving any payload over that time frame.
Some information I found suggested the issue might be MetricKit not working fully on enterprise apps but I haven't been able to find a definitive source on that question. Hoping someone here can guide me on that. Thanks!
Call Screening has serious issues right now leading to missing calls from genuine callers because the system does not acknowledge them with missed call notifications or badges in a lot of cases. I'm posting this in the hope of catching an engineer who can bring this to the attention of the teams working on this.
Filed as FB20678829
—
I ran the following tests with iOS 26.1 beta 3, but the issues have been occurring on iOS 26.0 as well.
I used an iPhone, Apple Watch, iPad, and Mac for this.
The iPhone has Call Screening enabled with the option „Ask Reason for Calling“
The iPhone has call forwarding enabled to all devices.
Test 1: Active Focus
Turn on a focus like Do not Disturb on all devices.
Lock all devices.
Make a phone call to the iPhone with an unknown number.
Behavior:
iPhone: displays Call Screening UI on the Lock Screen, but it will not light up the screen. You don’t know Call Screening is happening unless you activate the display just in that moment on devices without Always On Display.
Watch: does nothing.
Mac: does nothing.
iPad: displays Call Screening UI on the Lock Screen, but it will not light up the screen. You don’t know Call Screening is happening unless you activate the display just in that moment.
In this test the caller does not answer any of the Call Screening questions and just hangs up. The result is that only the Mac displays a missed call notification. iPhone, iPad, and Watch do not acknowledge the missed call (no phone app icon badge, no notification, no badge inside the Phone app itself), you can only see the call inside the Calls list when manually looking for it.
Test 2: No Focus
Turn off any focus like Do not Disturb on all devices.
Lock all devices.
Make a phone call to the iPhone with an unknown number.
Behavior:
iPhone: displays Call Screening UI on the Lock Screen, but it will not light up the screen. You don’t know Call Screening is happening unless you activate the display just in that moment on devices without Always On Display.
Watch: does nothing.
Mac: displays Call Screening UI when unlocked.
iPad: displays Call Screening UI on the Lock Screen, but it will not light up the screen. You don’t know Call Screening is happening unless you activate the display just in that moment.
In this test the caller does not answer any of the Call Screening questions and just hangs up. The result is that only the Mac displays a missed call notification. iPhone, iPad, and Watch do not acknowledge the missed call (no phone app icon badge, no notification, no badge inside the Phone app itself), you can only see the call inside the Calls list when manually looking for it. The only improvement here is that the Mac now shows the Call Screening UI.
Test 3: Caller answers Call Screening questions
An active focus does not matter.
Lock all devices.
Make a phone call to the iPhone with an unknown number.
Once the caller answered the Call Screening questions, the following happens:
All devices ring like expected
When the caller hangs up or I don’t answer:
Mac: Shows Missed Call notification without details
iPhone: Shows Missed Call notification with transcript of Call Screening (also badges phone app icon)
iPad: does nothing.
Watch: Shows the mirrored iPhone notification.
Things to note:
When turning off call forwarding on iPhone to other Apple devices like iPad and Mac, the phone app icon is always badged for missed calls when Call Screening was active, but no notification is displayed regardless.
What are guidelines for apps being released in the US App Store in order to comply with The Texas App Store Accountability Act?
I mean there's no way to differentiate an app downloaded in Texas from the other states and it would be ridiculous to add location awareness to an app to comply with this, so effectively it means any developer of any app for release in the US must comply with this in case it might be being used in Texas?
This new Apple API has zero background, zero context, zero example of usage, zero guidelines about how to use it in practice:
https://developer.apple.com/documentation/declaredagerange/
Hey guys! I've recently noticed a number of PaaS'es and CPaaS'es offering bulk outgoing messaging using the iMessage the same way it's done with the SMS.
I always thought that iMessage sort of only allowed businesses to send outgoings subject to user contacting their account first (to avoid being spammed). But then there's those I mentioned above.
Have you faced anything like this? Did Apple make changes to the model so that businesses can now initiate conversations with users? If so, how does it work?
I have a question regarding CarKeyErrorCode in the CarKey framework.
I plan to use the following methods in the CarKey framework:
CarKeyRemoteControl.start(delegate: )
RemoteKeylessEntryAction)
Each of the above methods throws an Error. Are these different from CarKeyErrorCode?
Is CarKeyErrorCode only used in CarKeyRemoteControlSessionDelegate.remoteControlSession(_:didInvalidateWithError:)?
If methods 1-4 do not return CarKeyErrorCode, what kind of Error do they return?
Thank you in advance.
Topic:
App & System Services
SubTopic:
General
Hi!
For some reason my DeviceActivityReport sometimes fails to load. I've tried setting up a very simple mock views and displaying a report with a simple "Hello world" but even that won't work. It prints the following error message in the terminal but doesn't show anything else or any context as to what has gone wrong.
Failed to update the client's configuration: Error Domain=DeviceActivityReportService.ReportViewController.ClientError Code=2 "(null)"
It seems like the "makeConfiguration" method for the report isn't even being invoked. That may though just be an issue with printing messages in the extension.
Any help on what could be the issue, or even just a message that you're being the same thing would be greatly appreciated!
I see many anti-theft apps already released in the App Store that have a feature to immediately play a loud sound when the charger gets unplugged.
I can't find an API to make it work if the app is backgrounded, which is the main point.
How can I achieve this?
Topic:
App & System Services
SubTopic:
General
I'm trying to fade in the sound used in my alarm app but currently there's no way to achieve this since the alarm sound loops and if i add a fade-in at the beginning of my audio, every time the audio loops the fadein happens.
Topic:
App & System Services
SubTopic:
General
Could someone please explain how to use a custom sound when setting up an alarm using AlarmKit? It keeps playing a default sound.
Also, I keep having an issue where the alarm sound plays but doesn’t show the alarm interface buttons unless the screen is locked.
Topic:
App & System Services
SubTopic:
General
Hi everyone,
I’m currently developing a parental control app that uses the Screen Time API (FamilyControls, ManagedSettings, DeviceActivity). I have a question regarding the customization limits of the Shield UI in ManagedSettingsUI.
From the documentation, I understand that we can customize the ShieldConfiguration (background color, blur style, icon, title, subtitle, button labels, etc.). However, I’d like to clarify a few points before finalizing the design:
1. Is it allowed (or technically possible) to display custom media content, such as videos, animations, or interactive elements, inside a custom Shield?
2. Are there limitations on the text length for the title and subtitle fields (e.g. maximum number of characters, multiline support, truncation behavior)?
3. Can the Shield be personalized per user (for example, showing a different title or color scheme based on user preferences or device state)?
4. Are there App Store Review restrictions or UI guidelines that define what a Shield should or should not contain (for instance, whether the Shield can resemble a mini-app experience)?
I want to ensure that the implementation fully complies with Apple’s technical and design expectations before submission.
Thanks in advance for any official clarification or best practices on how far we can go with Shield customization!
Best regards,
Ferdinand
[Question] Inconsistent Call Directory number matching across regions (Japan, Taiwan, U.S.)
We’re developing a Call Directory extension and observed inconsistent number matching depending on carrier region and number format.
Environment
Device: iPhone (iOS 26.0)
Call Directory Extension: Custom implementation
Carrier A: Japan carrier SIM
Carrier B: Taiwan carrier SIM
Numbers added to Call Directory patterns:
+81 120 580 2XXX
+81 704 336 2XXX
Observed Behavior (Japan Carrier SIM)
Incoming call from +81 120 580 2XXX →
Caller name not displayed (Call Directory match failed).
Entering 0120 580 2XXX in the Phone app dialer → Name displayed correctly.
Incoming call from +81 704 336 2XXX →
Caller name displayed correctly.
Entering 070 4336 2XXX in the Phone app dialer → Name displayed correctly.
Observed Behavior (Taiwan Carrier SIM)
Entering +81 120 580 2XXX in the dialer →
Name not displayed until the call button is pressed.
Entering +81 704 336 2XXX in the dialer →
Name displayed immediately, before the call is placed.
Steps to Reproduce
For Japan carrier:
Use a device running iOS 26 with a Japanese SIM card.
Add the following numbers to the Call Directory extension:
+81 120 580 2XXX and +81 704 336 2XXX
Receive an incoming call from +81 120 580 2XXX → ❌ Caller name not displayed.
Open the Phone app and enter 0120 580 2XXX → ✅ Caller name displayed.
Receive an incoming call from +81 704 336 2XXX → ✅ Caller name displayed.
Open the Phone app and enter 070 4336 2XXX → ✅ Caller name displayed.
For Taiwan carrier:
7. Insert a Taiwan SIM card (keep the same Call Directory patterns).
8. Enter +81 120 580 2XXX → ❌ Name not shown until the call button is pressed.
9. Enter +81 704 336 2XXX → ✅ Name shown immediately.
Expected Result
For both numbers:
Caller name from Call Directory should display consistently:
a) On incoming calls.
b) When entering the full number in the dialer (before pressing call).
Behavior should be consistent across regions (Japan, Taiwan, United States).
Actual Result
Region / Carrier
Number Pattern
Incoming Call
Dialer (Local Format)
Japan
+81 120 580 2XXX
❌ Not shown
✅ Shown (0120 580 2XXX)
Japan
+81 704 336 2XXX
✅ Shown
✅ Shown (070 4336 2XXX)
Taiwan
+81 120 580 2XXX
N/A
❌ Not shown until call
Taiwan
+81 704 336 2XXX
N/A
✅ Shown immediately
Questions
How should numbers be formatted or stored in the Call Directory patterns so that they match both incoming calls and dialer input consistently across regions?
Are there region-specific number normalization rules (e.g., Japan’s 0-prefixed local dialing or Taiwan’s international format handling)?
Is there an official guideline or recommendation for formatting phone numbers in Call Directory extensions (e.g., E.164 vs local format) to ensure consistent matching?
Notes
The inconsistent behavior appears to be related to how iOS normalizes numbers per carrier region and local dialing conventions.
In Japan, incoming calls from mobile numbers starting with 070 match correctly, while 0120 (toll-free) fails unless entered in local format.