I am constantly running out of storage on my iPhone 16 Pro. I keep having to move my photos and videos to my laptop and delete them from my phone, and I’m constantly needing to offload apps and manually clear caches in some apps to free up storage. I finally got sick of having this cycle every two weeks so looked into it more closely. I’m finding that iOS consumes 32 GB, and then another system reserve category is consuming an additional 23 GB. Meaning the system reserved files are consuming half of the storage on this phone and effectively making it a 64 GB model. I understand the system will need to consume some capacity for itself and that iOS is getting larger, but nearly 50% of the capacity of the phone is insane.
Looking closer into the categories, I’m seeing that iOS has taken it upon itself to also permanently provision 10% of the storage capacity for reserve update space.
Already another instance of “why am I having to lose so much of my functional capacity to an occasional process?” but I can understand the utility of this — if I didn’t still have to offload basically all my apps every single time I run a software update, because I’m still some not-insignificant amount short. I seem to recall it being between 6-20 GB across the different updates I’ve had to do since iOS 26 rolled around. I’d also like to be clear that preprovisioning the storage space for updates isn’t a bad idea, just give us an off switch if we’d rather be able to take a few hundred more photos, have another few apps, etc. than have the space sit mostly unused.
The biggest culprit is this “system data” category which is somehow consuming as much space as the entire operating system and its extensions.
There’s no clear way to request iOS to clear this down if some of it is temporary data, which we should have a button for even if Apple thinks it should “just work.” Windows usually trims down on its temp files, but on the occasion you go look and see 67 GB of temporary files, being able to manually run the disk cleanup tool is very helpful. I’m hesitant to try any third party app because I shouldn’t need to, and knowing Apple, it wouldn’t have access to anything it would actually have to touch anyway. Which is neither here nor there, but give us a button to clear cache or maybe run the cleanup when the phone reboots?
I am running the developer beta right now so maybe that’s part of it. However I’m not sure… I had switched to mainline release for a while when it released, and it didn’t seem any different with storage consumption and battery drain. I jumped back to beta to see some of the new features and am waiting for another mainline release to switch back to as the recent betas have been much more unstable/buggy than the entire prerelease beta period.
Just wondering if anyone has any kind of input on this storage issue in particular as it’s not really been talked about as much as the battery drain issue from what I can see.
Delve 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
Hello, in the bundle ID (Com.mycompany....) the C is capital which is wrong it should be small, I tried to delete it but it says theres an app connect to it even though I checked and there's no app, I tried to create another with small C but can because there's one already
Please tell me there's a solution for this
Topic:
App & System Services
SubTopic:
General
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?
We are having trouble trying to renew our Apple Pay Merchant Identity Certificate. We can create the CSR file and add to the developer portal. We then convert this to a .pem and then a .p12.
When we test the certificate in Postman however, we see the following error:
"statusMessage": "Payment Services Exception pspId=xxxx unauthorized to process transactions on behalf of merchantId=xxxx reason=xxxx is not a registered merchant in WWDR and isn't properly authorized via Mass Enablement, either.",
"statusCode": "417"
We are sending the following POST request to 'https://apple-pay-gateway.apple.com/paymentservices/paymentSession':
{"merchantIdentifier": "merchant.com.xxxx.applepaytest",
"domainName": "beta-xxxx.com",
"displayName": "beta-xxxx.com"}
Anyone got any ideas what the issue may be?
In the meantime I will look at completing our domain verification as that is also due soon and we thought it may possibly have something to do with the certificate issues we are seeing.
Topic:
App & System Services
SubTopic:
Apple Pay
We have observed a per-process limitation on the number of simultaneous nw_connection_t objects in certain macOS environments. On some systems, this limit does not appear to apply, but on others the limitation is reproducible.
When a process attempts to establish a large number of connections (e.g. 512+), some connections enter the nw_connection_state_waiting state and report the POSIX error “Cannot allocate memory”. These connections remain stuck indefinitely, even after other connections are deallocated and resources should theoretically be available again.
This behavior severely impacts use cases such as transparent proxies implemented via the NetworkExtension framework, which intercept system-wide traffic and must open connections on behalf of all client processes. In this scenario, a per-process limit effectively becomes a system-wide limit, leading to unexpected and hard-to-diagnose network failures in client applications. So, is there any way to disable this restriction for Network Extension processes? Are there any system settings that could affect this limitation and be modified by users?
Hello Apple Developer Team,
I’m currently using Apple MapKit JS as the main map provider for our logistics, telematics, and HR platform TADMIN, and we are extremely satisfied with its reliability, accuracy, and visual quality.
We would now like to expand our Apple integration by migrating our backend reverse geolocation services to Apple as well. However, our current usage requirements significantly exceed the standard 25,000 daily service request limit.
At this stage, we already need between 250,000 and 350,000 reverse geocoding requests per day, and this number will continue to grow rapidly. Our TADMIN Tracking product processes live GPS data from connected vehicle telematics boxes, and each vehicle sends an average of 1.5 pings per minute in normal mode. We currently manage around 140 vehicles and are already in discussions with new customers that will add over 1,000 additional vehicles to the platform soon. As our customer base continues to expand, we expect this growth trend to accelerate significantly over the coming months.
We already make extensive use of caching to minimize redundant geolocation calls. For example, we reuse location data when vehicles remain within a defined radius. However, since trucks rarely stay stationary for long, there is still a constant flow of new coordinates that require reverse geolocation.
To give you a broader picture:
TADMIN is a comprehensive SaaS ecosystem for the transport and logistics industry, combining HR management, telematics and tracking, dispatching, and data analysis into one integrated platform.
The Tracking module is just one part of this system and serves as the live data backbone for our dispatching, HR, and telematics analytics modules.
We would therefore like to increase our quotas for:
Service Requests (especially Reverse Geocoding)
Snapshot Requests, which we use for our Geofence Alerts. These are sent via push notification and email, and we would love to include the snapshot images in the emails for a clear and visually rich presentation
MapKit JS Views, since we also use MapKit JS heavily in our web dashboards, for example in our tracking portal
Higher quotas would allow us to rely even more on Apple services, including Autocomplete and Geocoding for customer-facing address searches inside our applications.
We already have three apps published on the App Store, with a fourth one scheduled for release this week, and I will soon be upgrading my Apple Developer account to an Organization Account for our company.
We are currently evaluating providers for this next stage of integration, as we are preparing a new major version of our TADMIN software, which will introduce a reworked telematics backend. Our goal is to migrate to Apple’s geolocation and map services as part of this new release.
Could you please advise how we can best address this use case, for example through higher quotas or an adjusted configuration?
Thank you very much for your time and support.
Best regards,
Timo Köhler
Founder & CTO, TADMIN GmbH
Topic:
App & System Services
SubTopic:
Maps & Location
Tags:
Maps Web Snapshots
MapKit JS
MapKit
Apple Maps Server API
I have my mobile backup + WhatsApp backup enabled and I have subscription of icloud as well.
Things went well untill yesterday
I deleted whatsapp from my mobile.
Installed whatsapp again then it asked to restore data and I selected yes.
During restore process it allowed to click on backup and I clicked
All my whatsapp non-text data got deleted as by this time only texts were imported and media files were yet to be downloaded.
I lost data from 2019. I had purchased I cloud service mainly for media.
Topic:
App & System Services
SubTopic:
iCloud & Data
We are facing an issue with Platform SSO registration on macOS devices for AD-bound user accounts with Microsoft EntraID configuration.
We are using the Platform SSO payload on macOS devices integrated with Entra ID, and it works as expected — registration completes successfully, and the password syncs with the Entra ID password.
However, when we try the same on macOS devices with AD-bound (mobile) user accounts, the registration does not complete. To elaborate, the process successfully completes the initial WebView authentication but fails at the stage where Apple prompts for the password to sync the local macOS user’s password with the Entra ID password.
It does not display any error, and even after entering a valid password, the process does not proceed further. However, when we try the same on a non-AD user account, it works fine.
We have checked with Microsoft, and they confirmed that there are no restrictions on their side for AD-bound accounts. Since the issue appears to occur at the Apple system level, they advised us to reach Apple teams on this.
Could you please check and let us know how we can proceed with this?
Payload used:
<?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>PayloadContent</key>
<array>
<dict>
<key>AuthenticationMethod</key>
<string>Password</string>
<key>ExtensionIdentifier</key>
<string>com.microsoft.CompanyPortalMac.ssoextension</string>
<key>PayloadDisplayName</key>
<string>Extensible Single Sign-On Payload</string>
<key>PayloadIdentifier</key>
<string>com.apple.extensiblesso.B408A658-3DAF-41FF-8A5D-AE77B380CB7B</string>
<key>PayloadType</key>
<string>com.apple.extensiblesso</string>
<key>PayloadUUID</key>
<string>D506CAFD-C802-41F2-9C3E-DF5289C315FF</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PlatformSSO</key>
<dict>
<key>AccountDisplayName</key>
<string>EntraID</string>
<key>AuthenticationMethod</key>
<string>Password</string>
<key>EnableCreateUserAtLogin</key>
<true/>
<key>LoginFrequency</key>
<integer>3700</integer>
<key>LoginPolicy</key>
<array>
<string>AttemptAuthentication</string>
</array>
<key>NewUserAuthorizationMode</key>
<string>Admin</string>
<key>UseSharedDeviceKeys</key>
<true/>
<key>UserAuthorizationMode</key>
<string>Admin</string>
</dict>
<key>ScreenLockedBehavior</key>
<string>DoNotHandle</string>
<key>TeamIdentifier</key>
<string>UBF8T346G9</string>
<key>Type</key>
<string>Redirect</string>
<key>URLs</key>
<array>
<string>https://login.microsoftonline.com</string>
<string>https://sts.windows.net</string>
<string>https://login.partner.microsoftonline.cn</string>
<string>https://login.chinacloudapi.cn</string>
<string>https://login.microsoftonline.us</string>
<string>https://login.microsoft.com</string>
<string>https://login-us.microsoftonline.com</string>
</array>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Platform SSO</string>
<key>PayloadIdentifier</key>
<string>42GBHOLAP04621.1BD5B6D9-640B-4DC3-9275-56DDD191A5FB</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>58548FC6-38D9-4B28-9EDF-BEEAB03BAB23</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
Hi all,
May I please ask for an official clarification or documentation reference from Apple regarding this scenario:
Is it possible for an iOS app to automatically launch or open a specific screen when a push notification is received — while the app is in the background or terminated (killed) state?
I understand that for most cases, user interaction (such as tapping the notification) is required before the app can show UI. However, I’d like to confirm whether this is also true for time-sensitive or critical alert notifications, including emergency use cases (e.g. public safety alerts).
Specifically:
Can a critical alert notification directly launch the app or present a view controller?
Or is user interaction always required before the app can present any UI, even with the critical alert entitlement?
I would appreciate if anyone — especially Apple staff or engineers — could share an official Apple document or statement that confirms this behavior.
Thank you very much!
(Use case context: I’m developing an emergency broadcast feature for a property management / tenant app.)
Topic:
App & System Services
SubTopic:
Notifications
Tags:
APNS
User Notifications
PushKit
Background Tasks
Prerequisite: After the MDM APP issues the command, the camera on the phone is no longer visible (unusable).
After upgrading to iOS 26.1, the isSourceTypeAvailable: UIImagePickerControlSourceTypeCamera method keeps returning true when the camera is unavailable.
The isSourceTypeAvailable: UIImagePickerControlSourceTypeCamera method on iOS 26.0.1 is normal, returning false when the camera is unavailable and true when it is available.
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!
Hi,
I'm trying to add an extension to my app on iOS 26.
I've followed the instructions on https://developer.apple.com/documentation/extensionfoundation/adding-support-for-app-extensions-to-your-app
and made it as far as being able to launch the extension:
let monitor = try await AppExtensionPoint.Monitor(appExtensionPoint: .localWebServerExtension)
currentIdentity = monitor.identities.first
if let currentIdentity = currentIdentity {
let myConfig = AppExtensionProcess.Configuration(appExtensionIdentity: currentIdentity, onInterruption: { NSLog("extension was terminated") })
myProcess = try await AppExtensionProcess(configuration: myConfig)
myConnection = try myProcess?.makeXPCConnection()
}
None of these calls throw, and when I examine myProcess from inside that code, it seems to be normal (there's a pid, for example).
Yet the code inside my extension seems to not be executed: breakpoints are not triggered, NSLog() calls do not appear on the console. The onInterruption() callback is also not triggered, or at least it does not appear on the console either.
I've probably missed something obvious, but what could it be?
When an alarm is scheduled for 00:00, the system displays the fullscreen alarm interface twice.
After the second fullscreen view appears, both the “Stop” and “Snooze” buttons become unresponsive, but using the physical button (volume or power button) can dismiss the alarm and correctly trigger the StopIntent.
This behavior occurs consistently (100%), whether the system time is set normally or manually adjusted before the alarm triggers.
Environment:
Device: iPhone 14 Pro Max
iOS Version: 26.0
Reproducibility: 100%
Topic:
App & System Services
SubTopic:
General
When I set Alarm with fixed schedule(Alarm.Schedule.fixed(date))
LiveActivityIntent just work inconsistently
it sometimes call perfrom but cannot call other's
such as NotificationCenter.default.post
it just work fine with relativeSchedule but not for fixed schedule
i want to know why it happen
tested code is under below
struct StopIntent: LiveActivityIntent {
static var supportedModes: IntentModes = [.foreground(.immediate)]
func perform() throws -> some IntentResult {
guard let id = UUID(uuidString: alarmID) else {
NotificationCenter.default.post(name: .Alarm.stoped, object: alarmDataString)
throw TestAlarmManager._Error.badAlarmID
}
Task { @MainActor in
try TestAlarmManager.shared.stopAlarm(id)
NotificationCenter.default.post(name: .Alarm.stoped, object: alarmDataString)
}
return .result()
}
static var title: LocalizedStringResource = "Stop"
static var description = IntentDescription("Stop an alert")
@Parameter(title: "alarmID")
var alarmID: String
@Parameter(title: "alarmDataString")
var alarmDataString: String
init(alarmID: UUID, alarmDataString: String) {
self.alarmID = alarmID.uuidString
self.alarmDataString = alarmDataString
}
init() {
self.alarmID = ""
self.alarmDataString = ""
}
}
Starting around October 12, 2025 at 19:51 UTC, we're seeing intermittent failures when verifying StoreKit transaction JWTs. The issue appears to be related to certificate expiration in the x5c chain in the JWT tokens provided by Apple.
What We're Seeing
Some JWTs are being signed with different certificates. Some work, some fail certificate validation.
Old Certificate (Expired - causing failures):
Subject: Prod ECC Mac App Store and iTunes Store Receipt Signing
Issuer: Apple Worldwide Developer Relations Certification Authority (G6)
Serial: 166451396673336810269824643773700992094
Valid From: 2023-09-12 19:51:53 UTC
Valid To: 2025-10-11 19:51:52 UTC ❌ EXPIRED
New Certificate (Valid - working):
Subject: Prod ECC Mac App Store and iTunes Store Receipt Signing
Issuer: Apple Worldwide Developer Relations Certification Authority (G6)
Serial: 95385247725814954943813376527885434295
Valid From: 2025-09-19 19:44:51 UTC
Valid To: 2027-10-13 17:47:23 UTC ✓ VALID
Current Status
Most JWTs use the new valid certificate. Some JWTs still use the expired certificate. This appears inconsistent/random. I don't know if it's an issue with some of Apple's servers, or an issue with StoreKit on-device cache, but seems to me like a bug on Apple's side either way.
Are we missing something? Is this a known issue?
Any guidance or timeline from Apple would be greatly appreciated, as this is blocking legitimate paying users.
Hello everyone,
I’m a new developer still learning as I go. I’m building a simple watchOS app that tracks Apple Watch battery consumption, records hourly usage data, and uses that information to predict battery life in hours.
I’ve run into an issue where background refresh completely stalls after charging and never recovers, regardless of what I do. The only way to restore normal behavior is to restart the watch.
Background refresh can work fine for days, but if the watch is charging and a scheduled background refresh tries to run during that period, it appears to be deferred—and then remains in that deferred state indefinitely. Even reopening the app or scheduling new refreshes doesn’t recover it.
Has anyone else encountered this behavior? Is there a reliable workaround?
I’ve seen a few reports suggesting that there may be a regression in scheduleBackgroundRefresh() on watchOS 26, where tasks are never delivered after certain states.
Any insights or confirmations would be greatly appreciated. Thank you!
After creating a new weekly subscription option, I get inconsistent results for subscriptionPeriod. In local testing with a synced or a un-synced StoreKit file I am getting unit == .week (as expected) whereas in TestFlight I am getting unit == .day. This makes unit.localizedDescriptionsomewhat unusable in the paywall.
Am I missing something? Or is this bug or a limitation of StoreKit and/or TestFlight and/or newly created subscription options?
Affected code (in a custom SubscriptionStoreControlStyle):
private func priceDisplay(for pickerOption: Configuration.PickerOption) -> String {
var result = ""
if pickerOption.introductoryOffer != nil {
result += NSLocalizedString("then", comment: "") + " "
}
result += pickerOption.displayPrice
if let unit = pickerOption.subscriptionPeriod?.unit {
result += " / " + unit.localizedDescription
}
return result
}
private func percentageSaved(for pickerOption: Configuration.PickerOption, allOptions: [Product]) -> Int? {
guard let subscriptionPeriod = pickerOption.subscriptionPeriod, subscriptionPeriod != .weekly else {
return nil
}
let weeklyOption = allOptions.first { otherOption in
otherOption.subscription?.subscriptionPeriod == .weekly
}
guard let weeklyOption, weeklyOption.price > 0 else {
return nil
}
let percentageSaved = 100 - (pickerOption.price / (weeklyOption.price * 52)) * 100
return Int((percentageSaved as NSNumber).doubleValue)
}
When filtering traffic to localhost (127.0.0.1), it causes Maven repository synchronization to fail in IntelliJ IDEA. However, Maven works correctly when local traffic is not filtered. I will provide a minimal code reproduction below.
- (void)startFilterWithCompletionHandler:(void (^)(NSError *error))completionHandler {
// Add code to initialize the filter
NSMutableArray *rules = [NSMutableArray array];
NENetworkRule * rule = [[NENetworkRule alloc] initWithRemoteNetwork:nil remotePrefix:0 localNetwork:nil localPrefix:0 protocol:NENetworkRuleProtocolTCP direction:NETrafficDirectionAny];
[rules addObject:[[NEFilterRule alloc]initWithNetworkRule:rule action:NEFilterActionFilterData]];
rule = [[NENetworkRule alloc] initWithRemoteNetwork:nil remotePrefix:0 localNetwork:nil localPrefix:0 protocol:NENetworkRuleProtocolUDP direction:NETrafficDirectionAny];
[rules addObject:[[NEFilterRule alloc]initWithNetworkRule:rule action:NEFilterActionFilterData]];
NWHostEndpoint *hostEndpointIpv4 = [NWHostEndpoint endpointWithHostname:@"127.0.0.1" port:@"0"];
NENetworkRule *localHostRuleIpv4 = [[NENetworkRule alloc] initWithRemoteNetwork:hostEndpointIpv4
remotePrefix:32
localNetwork:hostEndpointIpv4
localPrefix:32
protocol:NENetworkRuleProtocolAny
direction:NETrafficDirectionAny];
[rules addObject:[[NEFilterRule alloc]initWithNetworkRule:localHostRuleIpv4 action:NEFilterActionFilterData]];
NEFilterSettings *filterSetting = [[NEFilterSettings alloc] initWithRules:rules defaultAction:NEFilterActionAllow];
[self applySettings:filterSetting completionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"Failed to apply filter settring: %@", error.localizedDescription);
}
completionHandler(error);
}];
}
Maven Sync error:
System Log:
默认 17:35:13.184509+0800 kernel cfil_inp_log:6179 <CFIL: outbound TCP data dropped for pre-existing un-filtered flow>: [41046 idea] <TCP out so 3bb6402f58a82e37 - flags 0x800840 0x80> lport 63166 fport 29735 laddr 127.0.0.1 faddr 127.0.0.1
默认 17:35:13.184510+0800 kernel cfil_inp_log:6179 <CFIL: outbound TCP data dropped for pre-existing un-filtered flow>: [41046 idea] <TCP out so d6dde374c8cb613b - flags 0x800840 0x80> lport 63165 fport 29735 laddr 127.0.0.1 faddr 127.0.0.1
默认 17:35:13.529546+0800 kernel cfil_inp_log:6179 <CFIL: outbound TCP data dropped for pre-existing un-filtered flow>: [41046 idea] <TCP out so cc915e74ba29f8cb - flags 0x800840 0x80> lport 63169 fport 39066 laddr 127.0.0.1 faddr 127.0.0.1
默认 17:35:13.529546+0800 kernel cfil_inp_log:6179 <CFIL: outbound TCP data dropped for pre-existing un-filtered flow>: [41046 idea] <TCP out so 2e15c3e54ebcc45 - flags 0x800840 0x80> lport 63168 fport 39066 laddr 127.0.0.1 faddr 127.0.0.1
默认 17:35:14.046094+0800 kernel cfil_inp_log:6179 <CFIL: outbound TCP data dropped for pre-existing un-filtered flow>: [41046 idea] <TCP out so 71f6d3a53472131f - flags 0x800840 0x80> lport 63172 fport 53241 laddr 127.0.0.1 faddr 127.0.0.1
默认 17:35:14.046145+0800 kernel cfil_inp_log:6179 <CFIL: outbound TCP data dropped for pre-existing un-filtered flow>: [41046 idea] <TCP out so c88a367c9717185b - flags 0x800840 0x80> lport 63171 fport 53241 laddr 127.0.0.1 faddr 127.0.0.1
Environment Details:
Operating System: macOS 15.5 (Sequoia)
IDE: IntelliJ IDEA 2025.1
Relevant Technology: NEFilterDataProvider (Network Extension)
I have found reports of similar problems online:
https://discussionschinese.apple.com/thread/255270330?sortBy=rank
https://blog.csdn.net/weixin_42339552/article/details/137402307
They all seem to be caused by network extension。
In-App Subscriptions Not Fetching in Sandbox or Production (expo-iap / React Native / Bare Workflow)
Hi everyone,
I’m encountering an issue with my in-app subscriptions setup.
When I test using the StoreKit configuration file in Xcode, everything works correctly — the subscriptions are fetched and I can simulate purchases without any issues.
However, when I switch to the Sandbox or Production environment, my app fails to fetch the available products from Apple’s servers. The call to fetchProducts (from the expo-iap library) returns an empty array.
Here’s some context about my setup:
Framework: React Native (Expo Bare Workflow)
Library: expo-iap
Products: Auto-renewable subscriptions
StoreKit Configuration: Synced with App Store Connect
Status: Subscription Plans are approved in App Store Connect
I’ve verified the following:
The product identifiers in code match exactly with those in App Store Connect.
The app is signed with the correct bundle ID.
I’m testing with a Sandbox account (logged in via Settings -> Developer -> Sandbox Tester Account).
Despite this, the response from Apple’s servers still contains an empty array.
Has anyone experienced something similar with expo-iap or in general when moving from StoreKit configuration to Sandbox/Production? Any suggestions on what else I could check or common pitfalls I might be missing?
Thanks in advance!
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
Subscriptions
StoreKit
App Store Connect
In-App Purchase
Details:
Device: iPhone 12 Pro Max
System: iOS 26.1 beta 2
Issue Description:
When testing MDM device restriction capabilities on iOS 26.1 beta 2, I found that the allowCamera restriction does not work as expected.
Observed Behavior:
• On a BYOD device:
When allowCamera is set to false, the Camera and FaceTime apps disappear from the Home Screen, as expected.
However, third-party apps (such as WeChat) can still access the camera and take photos.
• On earlier versions (e.g. iOS 26.0.1):
Setting allowCamera to false correctly blocks all apps, including third-party apps, from accessing the camera.
Initially, I assumed Apple might have changed this restriction behavior so that allowCamera only applies to supervised devices.
However, after testing on supervised devices, I found that even there, when allowCamera is set to false, the Camera and FaceTime apps are hidden, but third-party apps can still use the camera.
This indicates that the restriction is not functioning correctly in iOS 26.1 beta 2.
Expectation:
When allowCamera is set to false, all camera access — including third-party apps — should be blocked.
Request:
Could someone from Apple’s development or MDM team confirm whether this is an expected behavior change or a potential bug in iOS 26.1 beta 2?
Topic:
App & System Services
SubTopic:
General