Hello all,
I'm developing a Mac app and need to read the content of incoming SMS, I am able to implement in android just the user has to consent and it does not read her contacts messages, so I am wondering if apple can allow 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
How can experimentation and testing calling the AgeRangeService.shared.requestAgeRange() functionality be recreated easily?
The very first time I ran this the OS popped up a dialog, however it won't do so again, even after the app is deleted and the device re-started.
If one navigates to Settings/User/Personal Information/Age Range for Apps/Apps that have requested your age range appear here.
Then the names of apps appear here even after the app has been deleted. Therefore how can it be removed from this section?
Erasing and resetting the phone will presumably reset things back to a state such that the dialog can be presented again. But doing that and having to wait for that to complete each development or test run is impractical.
Is there an alternative?
Topic:
App & System Services
SubTopic:
General
I am building a screen time management app. It has the main app target, and then three extensions - those are the four targets in Xcode. The three extensions are:
Shield
Device Activity Monitor
Device Activity Report Extension
I requested "Family Controls (Distribution)" capability from Apple for the main app target / bundle ID, and it got approved.
Do I need it for the extensions too? Because previously I had "Family Controls (Development)" for the extensions...
I'm developing a parental control app that needs to block adult/18+ websites using the Screen Time API. I've run into scaling issues with 'ManagedSettings.webContent.blockedByFilter`.
Environment:
iOS 18.x, real device (iPhone)
ManagedSettings framework
Screen Time permissions granted
Current Behavior:
The Question:
Commercial parental control apps successfully block tens of thousands of domains. What API or architecture should I be using to scale beyond 30-50 domains?
Approaches I'm considering:
Safari Content Blockers (limited to Safari only)
Multiple ManagedSettingsStore instances
Network Extension / DNS filtering
A different Screen Time API approach
What's the recommended way to block large domain lists (1000-60000+) across all apps and browsers?
Any guidance appreciated!
//33 domains - Works perfectly
let blockedSites: Set<WebDomain> = [
WebDomain(domain: "example1.com"),
WebDomain(domain: "example2.com"),
// ... 31 more domains
]
store.webContent.blockedByFilter = .specific(blockedSites)
// All 33 domains blocked successfully
// 101 domains - Complete failure (no domains blocked at all)
let blockedSites: Set<WebDomain> = [
WebDomain(domain: "example1.com"),
// ... 100 more domains
]
store.webContent.blockedByFilter = .specific(blockedSites)
// No errors thrown, but ZERO domains are blocked
Hi,
I am just wondering if there is any option to protect my endpoints that will be used by Message Filtering Extension?
According to the documentation our API has 2 endpoints:
/.well-known/apple-app-site-association
/[endpoint setup in the ILMessageFilterExtensionNetworkURL value of the Info.plist file] that the deferQueryRequestToNetwork will request on every message
Since all requests to these 2 endpoints are made by iOS itself (deferQueryRequestToNetwork), I don't understand how I can protect these endpoints on my side, like API key, or maybe mTLS.
The only way that I found is white list for Apple IP range.
Is there other methods for it?
find my在添加配件是,持续一直卡在“即将完成设置”这一步.这是由于什么原因呢?而且一直保持很长时间,也不会退出,也不会提示任何错误信息。
Hi,
I’m trying to open a GPX file (route.gpx) from the Files app on my iPhone using my app (e.g., Aqua Map).
Since the latest iOS update (iOS 26), when I long-press the file and tap “Open with…”, my app does not appear in the list anymore.
I’ve checked that my app has the correct permissions for Files and Folders. I’m wondering:
Is this a user-side issue (Settings on iPhone)?
Or does it require developer-side changes in the app (Info.plist / UTI declarations) to make .gpx files appear in “Open with…” or “Share” menus?
What is the proper way to make my app appear as an option to open GPX files in Files.app on iOS 26?
Thanks in advance!
Hi,
As a company, we have several apps in the AppStore that contain AppClips.
With the latest iOS18 it works without any problems.
With all iOS26 betas so far, however, there is always the problem “ASDErrorDomain- Error 507” and the AppClip cannot be opened.
You can easily test this by scanning the following QR code with the system camera:
You only ever get this error instead of the option to open the AppClip.
As the iOS26 beta phase is already at an advanced stage, we are naturally concerned as to whether the problem will be solved.
We are planning on renaming our app. The new name is not like the current name. It will be renamed in the App Store as well as the App display name. Yet, we still want new and existing users to be able to find the app by using the old name in search/spotlight under iOS. A great example of this is entering Twitter to find the X app and it shows up in the App section in the Spotlight search.
Are there any guidelines, settings, or tricks for doing this? Some have suggested adding a Spotlight search term but that will not have it show up in the App section I fear.
It looks like Apple has added some new API(s) to SFSpeechRecognition
My app, which is currently listed on App Store does feature speech recognition.
Yet, trying to use it under iOS 18.0 throws errors:
-[SFSpeechRecognitionTask localSpeechRecognitionClient:speechRecordingDidFail:]_block_invoke Ignoring subsequent local speech recording error: Error Domain=kAFAssistantErrorDomain Code=1101 "(null)"
What happens is that after several words are transcribed and displayed, the next sentence results in previous words disappearance.
That's probably what that portion of the error text - "Ignoring subsequent local speech recording error: Error Domain=kAFAssistantErrorDomain Code=1101 "(null)" means.
The problem occurs ONLY when the app is running under iOS 18.0
Even when it's compiled in Xcode 16.0 using iOS 17.5 everything works fine.
Any suggestions?
I have an iOS app with ExtensionFoundation. It runs well on my local device, but when I upload on the AppStore it gets rejected with:
Validation failed
Invalid Info.plist value. The value of the EXExtensionPointIdentifier key, AsheKube.app.a-Shell.localWebServer, in the Info.plist of “a-Shell.app/Extensions/localWebServer.appex” is invalid. Please refer to the App Extension Programming Guide at https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Action.html#/apple_ref/doc/uid/TP40014214-CH13-SW1. (ID: ae8dd1dd-8caf-4a48-9651-7a225faed4eb)
The Info.plist in my Extension is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EXAppExtensionAttributes</key>
<dict>
<key>EXExtensionPointIdentifier</key>
<string>com.example.example-extension</string>
</dict>
</dict>
</plist>
so the Info.plist that causes the issue has been automatically generated by Xcode. I can access it as well, and it says:
{
"BuildMachineOSBuild" => "25A354"
"CFBundleDevelopmentRegion" => "en"
"CFBundleDisplayName" => "localWebServerExtension"
"CFBundleExecutable" => "localWebServer"
"CFBundleIdentifier" => "AsheKube.app.a-Shell.localWebServerExtension"
"CFBundleInfoDictionaryVersion" => "6.0"
"CFBundleName" => "localWebServer"
"CFBundlePackageType" => "XPC!"
"CFBundleShortVersionString" => "1.0"
"CFBundleSupportedPlatforms" => [
0 => "iPhoneOS"
]
"CFBundleVersion" => "1"
"DTCompiler" => "com.apple.compilers.llvm.clang.1_0"
"DTPlatformBuild" => "23A339"
"DTPlatformName" => "iphoneos"
"DTPlatformVersion" => "26.0"
"DTSDKBuild" => "23A339"
"DTSDKName" => "iphoneos26.0"
"DTXcode" => "2601"
"DTXcodeBuild" => "17A400"
"EXAppExtensionAttributes" => {
"EXExtensionPointIdentifier" => "AsheKube.app.a-Shell.localWebServer"
}
"MinimumOSVersion" => "26.0"
"NSHumanReadableCopyright" => "Copyright © 2025 AsheKube. All rights reserved."
"UIDeviceFamily" => [
0 => 1
1 => 2
]
"UIRequiredDeviceCapabilities" => [
0 => "arm64"
]
}
What should I do to be able to upload on the AppStore?
crash.txt
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?
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 ?
Hello,
I think it is quite a common use-case to open the parent app that owns the ShieldActionDelegate when the user selects an action in the Shield.
There are only three options available that we can do in response to an action:
ShieldActionResponse.none
ShieldActionResponse.close
ShieldActionResponse.defer
It would be great if this new one would be added as well:
ShieldActionResponse.openParentApp
While finding a workaround for now, the problem is that the ShieldActionDelegate is not a normal app extension. That means, normal tricks do not work to open the parent app from here.
For example, UIApplication.shared.open(url) does not work because we can’t access UIApplication from the ShieldActionDelegate unfortunately.
NSExtensionContext is also not available in the ShieldActionDelegate unfortunately, so that’s also not possible.
There are apps however, that managed to find a workaround, in my research I stumbled across these two:
https://apps.apple.com/de/app/applocker-passcode-lock-apps/id1132845904?l=en-GB
https://apps.apple.com/us/app/app-lock/id6448239603
Please find a screen recording (gif) attached.
Their workaround is 100% what I’m looking for, so there MUST be a way to do so that is compliant with the App Store guidelines (after all, the apps are available on the App Store!).
I had documented my feature request more than 2 years ago in this radar as well: FB10393561
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