Posts under App & System Services topic

Post

Replies

Boosts

Views

Activity

SubscriptionStoreView not showing free trial offer in release build
I'm using the SwiftUI view SubscriptionStoreView (https://developer.apple.com/documentation/storekit/subscriptionstoreview/) with a subscription group that has 2 subscriptions. I set up a free trial offer in App Store Connect (https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-introductory-offers-for-auto-renewable-subscriptions/). The storekit file in Xcode is synced with the App Store. In debug build, this works and appears correctly, showing the free trial offer: But in release build, the free trial offer is not shown: The code is very simple: SubscriptionStoreView(productIDs: [ "[PRODUCT ID FOR ANNUAL SUBSCRIPTION]", "[PRODUCT ID FOR BIMONTHLY SUBSCRIPTION]" ]) Does anyone have a solution? Thank you. (Xcode 16.3, macOS 15.5, iOS 18.5)
0
0
136
May ’25
ModelContext.model(for:) returns deleted objects
I'm writing some tests to confirm the behavior of my app. White creating a model actor to delete objects I realized that ModelContext.model(for:) does return objects that are deleted. I was able to reproduces this with this minimal test case: @Model class Activity { init() {} } struct MyLibraryTests { let modelContainer = try! ModelContainer( for: Activity.self, configurations: ModelConfiguration( isStoredInMemoryOnly: true ) ) init() throws { let context = ModelContext(modelContainer) context.insert(Activity()) try context.save() } @Test func modelForIdAfterDelete() async throws { let context = ModelContext(modelContainer) let id = try context.fetch(FetchDescriptor<Activity>()).first!.id context.delete(context.model(for: id) as! Activity) try context.save() let result = context.model(for: id) as? Activity #expect(result == nil) // Expectation failed: (result → MyLibrary.Activity) == nil } @Test func fetchDescriptorAfterDelete() async throws { let context = ModelContext(modelContainer) let id = try context.fetch(FetchDescriptor<Activity>()).first!.id context.delete(context.model(for: id) as! Activity) try context.save() let result = try context.fetch( FetchDescriptor<Activity>(predicate: #Predicate { $0.id == id }) ).first #expect(result == nil) } } Here I create a new context, insert an model and save it. The test modelForIdAfterDelete does fail, as result still contains the deleted object. I also tried to check #expect(result!.isDeleted), but it is also false. With the second test I use a FetchDescriptor to retrieve the object by ID and it correctly returns nil. Shouldn't both methods use a consistent behavior?
2
0
182
May ’25
How to prevent the main app from being terminated by the system during long - term system - level recording
After logging in to the main App, turn on screen recording, then switch to the interface of another App to perform operations. After about ten-odd minutes, when returning to the main App, it was found that the app was forcefully quit by the system, and subsequent operations could not be carried out.
1
0
164
May ’25
Simultaneous Use of PacketTunnelProvider and DNSProxyProvider extensions
Hi! I'm working on a solution (iOS 18) that uses Network Extensions PacketTunnelProvider and Content Filter. Currently I'm trying to integrate it with another extension – DNSProxyProvider. My goal is to process dns queries and use resolved ips and names for additional routing inside of the packet tunnel. I'm running into a major issue: whenever both VPN and DNS proxy are active simultaneously, the device completely loses internet connectivity — no traffic goes through, and DNS resolution seems to stop working entirely. I know about the mdm supervision requirement to use DNSProxyProvider and that's covered as I work with a managed device and install a DNS proxy profile, here's how its .mobileconfig file looks like: The DNS proxy itself works fine when working by itself (without VPN being turned on), as I implemented it that it successfully processes DNS packets flows while collecting information about domains etc, and everything works perfectly. Problems begin when using VPN at the same time. I'm aware that tunnel settings include dns related options that can affect this, but I haven't had much luck with tweaking them. Here's how they look right now for reference: let settings: NEPacketTunnelNetworkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "240.0.0.1") // let dnsSettings = NEDNSSettings(servers: "8.8.8.8,8.8.4.4".components(separatedBy: ",")) // dnsSettings.matchDomains = [""] // settings.dnsSettings = dnsSettings settings.proxySettings = nil /* ipv4 settings */ let ipv4Settings = NEIPv4Settings(addresses: ["240.0.0.2"], subnetMasks: ["255.255.255.0"]) ipv4Settings.includedRoutes = [NEIPv4Route.default()] settings.ipv4Settings = ipv4Settings /* MTU */ settings.mtu = 1500 return settings I've tried excluding some dns related ip routes and dns settings shenanigans but nothing. I haven't found any information that might suggest that using both of these extensions at the same time doesn't work, on the contrary, this page in the official documentation about the expected use of packet tunnel provider the expected use of packet tunnel provider, as it talks about the fact that you should not use it for interception of all of DNS traffic, as the use of DNSPRoxyProvider (or dns settings) are built for that, which in my mind, suggests that there should be no problem with using them both and just splitting the dns traffic handling to the proxy. Will be thankful for any help!
3
0
148
May ’25
Landscape safe area is incorrect when presenting SKStoreProductViewController
Hi. If the app is in landscape only and when the SKStoreProductViewController is presented, the safeArea changes to what looks like a portrait mode safe area. When the SKStoreProductViewController is dismissed, the safeArea does NOT revert back to the original values. Is there a way to force the safeArea to "reset"? I've submitted some bug tickets through Apple Feedback but I haven't received any response about it. The below code will pop up the SKStoreProductViewController and if you have a UIView that is constrained to the safe area, then you can visibly notice that the safe area is changed and doesn't go back. I have tested this on iPhone 14 Pro, iPhone 15, and iPhone 16 Pro and in the Simulators. The incorrect behavior happens on those and probably more. Thanks. #import "ViewController.h" #import &amp;lt;StoreKit/StoreKit.h&amp;gt; @interface ViewController () @property (nonatomic, strong) SKStoreProductViewController *productViewController; @end @implementation ViewController - (IBAction)buttonTapped:(id)sender { self.productViewController = [[SKStoreProductViewController alloc] init]; NSDictionary *parameters = @{ @"id" : @"6443575749" }; [self.productViewController loadProductWithParameters:parameters completionBlock:^(BOOL result, NSError * _Nullable error) { [self presentViewController:self.productViewController animated:YES completion:^{ // presented // The panel that is constraint to the safe area visibly shows that the safe area is no longer correct. }]; }]; } @end
3
1
745
May ’25
terminal fulldisk access fails for tmutil latestbackup
I am on MacOS 15.5 trying to access tmutil latestbackup in AppleScript: set latestBackup to do shell script "tmutil latestbackup" It works perfect when run from script editor, and script editor is in full disk access permission list. When I export to an app and run it it fails with: Error retrieving latest backup: tmutil: latestbackup requires Full Disk Access privileges. To allow this operation, select Full Disk Access in the Privacy tab of the Security & Privacy preference pane, and add Terminal to the list of applications which are allowed Full Disk Access. Error code: 80 Terminal is on list, as is name of the app. I have same issue running in safe mode. I have tried deleting and redefining full disk access entries, all to no avail. Apple tech support says its a developer issue, but code works in script editor. any ideas?
2
0
173
May ’25
Case-ID: 14080335 Push notification requests to iOS devices using APNs (HTTP/2) time out
We are currently developing a WebAPI service that uses APNs (HTTP/2) to send push notifications to iOS devices. (Using PushSharp's HTTP/2 support) The WebAPI service is running on IIS using .net framework 4.8 and c#. The connection to APNs is always maintained, and the connection is checked every 30 minutes using a dummy token Ping. KeepAlivePeriod = 30 minutes and KeepAliveRetryPeriod = 10 seconds have also been set. However, the following issues are occurring. Although the Ping sent immediately before was successful, a TimeoutException occurs in the notification request sent a few minutes later. There is no explicit disconnection notification from APNs, and the connection appears to be silently disconnected. Once a TimeoutException occurs, it occurs frequently afterwards. Below is an excerpt from the log. Apple Notification Failed for some unknown reason 1-1: One or more errors occurred. Apple Notification Failed for some unknown reason 1-2:System.TimeoutException: The operation timed out. In light of this issue, I would like to be advised on the following two points. Are there any official specifications regarding the lifecycle and expiration date of APNs HTTP/2 connections? Even if pings are sent periodically, is there a timeout or other setting that disables the connection on the APNs side? What are the conditions that would cause APNs to silently terminate a connection? For example, could this be due to inactivity, TLS restrictions, network maintenance, etc.? If you have any official documentation or technical guidelines to improve the reliability of this system, we would appreciate it if you could share them with us. Thank you in advance.
3
0
295
May ’25
How to debug Quick Look Preview Extension
I'm facing the same problem as addressed in this discussion: After switching from legacy QLGenerators to Preview extensions on macOS I cannot debug the extensions' code in Xcode, anymore: I launch the app with the embedded appex from Xcode in debug mode. When trying to attach to the appex process the following error is reported: Code: 6 Failure Reason: Ensure “AppName Preview” is not already running, and matthias has permission to debug it. User Info: {... } System Information macOS Version 15.4.1 (Build 24E263) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-05-12T14:07:14+02:00 I'm using a standard user account (no admin) and might miss some obvious steps. Can someone detail the steps to debug a Preview (or Thumbnail) extension with Xcode 16? For legacy Quick Look plugins I was using "qlmanage", but that's not working on extensions. All the best, Matthias P.S.: Pardon me re-posting my reply as a separate thread, to increase visibility, but I'm quite desperate and couldn't find any solution on the web...
1
1
281
May ’25
Non standard Wallet app non suppressed by pass suppression entitlement
We have an app that uses the pass-presentation-suppression entitlement and calls requestAutomaticPassPresentationSuppression to prevent the Wallet app from being presented when the device is displaying a barcode to a barcode/nfc reader. This works as expected for users of the standard Apple Wallet app. However, it does not prevent third-party wallet apps from being launched, which hides the barcode and prevents it from being scanned properly. What options do I have to prevent third-party wallet apps from launching or interfering while our app is actively presenting a barcode?
0
0
87
May ’25
What *is* the 12 hour energy impact?
Clearly not percentage, but the units don't seem to be specified... The real problem we have right now is that, with macOS 15.5, our suite gets a huge amount of "energy impact" points, even though diving into it, it doesn't seem to do that. The most telling example I have of that is: I ran each of our daemons from Terminal, unplugged my laptop, closed the lid, and let it stay there for 8 or 9 hours. When I woke it back up, Activity Monitor claimed it had 2,000 units or so, but after opening all of the disclosure triangles, none of the processes (including the hand-started daemons) used anything close to that. Also, the battery had almost no drain on it. We're getting complaints about this, so I'm trying to figure out what, exactly is going on, but I never looked at the power stuff internally so I don't know how to read the diagnostic files.
6
0
217
May ’25
"Application" is accessing your screen notification
Hi! I'm developing an application based on Chrome that needs to take regular screenshots of webpages. Under the hood (actually Chromium), it uses SCScreenshotManager to capture screenshots automatically (without user interaction). I've noticed that regularly using this API triggers a user notification saying: "Your Screen 'AppTest' has accessed your screen and system audio 3,594 times in the past 30 days. You can manage this in Settings." How can I prevent this notification from appearing? Are there any specific entitlements(Or configuration of SCScreenshotManager) that I can use? Thanks!
2
0
233
May ’25
Filtered dataFrame displays original dataFrame values
I'm importing a csv file of 299 rows and creating a subset by filtering on one column value (24 rows). I want to Chart just the filtered values. However, when I print one column I get values from the original dataFrame. Any suggestions? Thanks, David The code: import SwiftUI import Charts import TabularData struct DataPoint: Identifiable { var id = UUID() // This makes it conform to Identifiable var date: Date var value: Double } struct ContentView: View { @State private var dataPoints: [DataPoint] = [] var body: some View { Text("Hello") Chart { ForEach(dataPoints) { dataPoint in PointMark( x: .value("Date", dataPoint.date), y: .value("Value", dataPoint.value) ) } } .frame(height: 300) .padding() .onAppear(perform: loadData) } func loadData() { print("In Loading Data") // Load the CSV file if let url = Bundle.main.url(forResource: "observations", withExtension: "csv") { do { let options = CSVReadingOptions(hasHeaderRow: true, delimiter: ",") var data0 = try DataFrame(contentsOfCSVFile: url, options: options) let formattingOptions = FormattingOptions( maximumLineWidth: 200, maximumCellWidth: 15, maximumRowCount: 30 ) // print(data0.description(options: formattingOptions)) print("Number of Columns: \(data0.columns.count)") let columnsSet = ["plant_id", "date", "plot", "plantNumber", "plantCount"] data0 = try DataFrame(contentsOfCSVFile:url, columns: columnsSet, options: options) print("Number of Columns (after columnsSet): \(data0.columns.count)") print("Printing data0") print(data0.description(options: formattingOptions)) let data = data0.filter { $0["plant_id"] as? Int == 15 } print("Printing data") print(data.description(options: formattingOptions)) print(" Number of Rows \(data.rows.count)") for i in 0 ... data.rows.count { // print("\(i): \(data["plantCount"][i]!)") if let plantCount = data["plantCount"][i] as? Int { print("\(i): \(plantCount)") } else { print("\(i): Value not found or invalid type") } } // // var newDataPoints: [DataPoint] = [] // Here I plan to add the filtered data to DataPoint // DispatchQueue.main.async { dataPoints = newDataPoints } } catch { print("Error reading CSV file: \(error)") } } else { print("Didn't load csv file") } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } Here is the new dataFrame and print output Printing data ┏━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ ┃ plant_id ┃ date ┃ plot ┃ plantNumber ┃ plantCount ┃ ┃ ┃ <Int> ┃ <String> ┃ <Int> ┃ <Int> ┃ <Int> ┃ ┡━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ │ 0 │ 15 │ 2023-09-07 │ 1 │ 5 │ 5 │ │ 32 │ 15 │ 2023-09-07 │ 2 │ 10 │ 10 │ │ 38 │ 15 │ 2023-09-07 │ 2 │ 20 │ 20 │ │ 66 │ 15 │ 2023-09-07 │ 4 │ 25 │ 25 │ │ 77 │ 15 │ 2023-09-07 │ 5 │ 5 │ 5 │ │ 99 │ 15 │ 2023-09-14 │ 7 │ 45 │ 45 │ │ 142 │ 15 │ 2024-05-30 │ 1 │ 20 │ 20 │ │ 162 │ 15 │ 2024-05-30 │ 4 │ 5 │ 5 │ │ 169 │ 15 │ 2024-05-30 │ 5 │ 10 │ 10 │ │ 175 │ 15 │ 2024-05-30 │ 7 │ 10 │ 10 │ │ 188 │ 15 │ 2024-07-11 │ 1 │ 20 │ 40 │ │ 199 │ 15 │ 2024-07-11 │ 2 │ 5 │ 5 │ │ 215 │ 15 │ 2024-07-11 │ 5 │ 20 │ 30 │ │ 220 │ 15 │ 2024-07-11 │ 7 │ 30 │ 40 │ │ 236 │ 15 │ 2024-09-06 │ 1 │ 20 │ 60 │ │ 238 │ 15 │ 2024-09-06 │ 2 │ 30 │ 35 │ │ 248 │ 15 │ 2024-09-06 │ 5 │ 5 │ 35 │ │ 254 │ 15 │ 2024-09-06 │ 7 │ 50 │ 90 │ │ 267 │ 15 │ 2025-05-04 │ 1 │ 10 │ 70 │ │ 273 │ 15 │ 2025-05-04 │ 2 │ 10 │ 45 │ │ 282 │ 15 │ 2025-05-04 │ 5 │ 10 │ 45 │ │ 287 │ 15 │ 2025-05-04 │ 7 │ 30 │ 120 │ │ 292 │ 15 │ 2025-05-04 │ 8 │ 10 │ 0 │ │ 297 │ 15 │ 2925-05-04 │ 3 │ 10 │ 0 │ └─────┴──────────┴────────────┴───────┴─────────────┴────────────┘ 24 rows, 5 columns Number of Rows 24 0: 5 1: 80 2: 1 3: 1 4: 1 5: 3 6: 3 7: 1 8: 6 9: 1 10: 1 11: 1 12: 1 13: 10 14: 50 15: 1 16: 2 17: 1 18: 3 19: 8 20: 5 21: 3 22: 7 23: 2 24: 1
2
0
150
May ’25
Login issues on CloudKit Console
Hi everyone In the last 24 hours, I’ve been running into some issues with the CloudKit console. Most of the time, I‘ll get an error stating an error has caused this web page to stop working correctly. Reloading doesn’t fix the issue, nor does using different browsers: Today I’ve got another error, something along the lines of the Console not being able to fetch the teams I’m assigned to and an XHF error pop-up. Has anyone encountered the same issues? After trying multiple times, I’m able to reach my database but it’s a bit frustrating as it’s very unreliable this way. Thanks for your feedback! Dave
1
3
156
May ’25
Presenter Overlay Not Showing When Recording a Single Window or Region with ScreenCaptureKit
Hi, I'm using ScreenCaptureKit on macOS 14+ to record a single window. I've noticed that the Presenter Overlay only appears when capturing the entire screen, but it does not appear when recording a specific window or a region. Is there a way to enable the Presenter Overlay while recording a single window or a defined region, similar to how it works with full-screen capture? Any guidance or clarification would be greatly appreciated. Thanks in advance!
0
0
179
May ’25
Memory release problem of VPN connection object
Hello, I encountered a memory management issue while developing VPN functionality and would like to seek your advice. The specific phenomenon is as follows: Problem description: After multiple calls to the 'createTCPConnectToEndpoint' and 'create UDPSessionToEndpoint' interfaces to create connection objects, the application memory continues to grow. Even if the cancel interface is immediately called to actively release the object, the memory does not fall back. 3. Confirm that there is no other code referencing these objects, but the system does not seem to automatically reclaim memory. Attempted measures: Immediately call the cancel method after creating the object, and the memory is not reduced Use tools such as Profiler to monitor memory and confirm that objects have not been released. doubt: Is this phenomenon normal? Is there a known memory management mechanism (such as cache pooling) that causes delayed release? 2. Are there any other interfaces or methods (such as release, dispose) that need to be explicitly called? Supplementary Information: Development environment: [iOS 16, 14pm] Reproduction steps: After continuously creating connection objects, the memory grows without falling back. Could you please help confirm if there are any abnormalities and the correct memory release posture. Thank you for your support!
3
0
132
May ’25
SubscriptionStoreView not showing free trial offer in release build
I'm using the SwiftUI view SubscriptionStoreView (https://developer.apple.com/documentation/storekit/subscriptionstoreview/) with a subscription group that has 2 subscriptions. I set up a free trial offer in App Store Connect (https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-introductory-offers-for-auto-renewable-subscriptions/). The storekit file in Xcode is synced with the App Store. In debug build, this works and appears correctly, showing the free trial offer: But in release build, the free trial offer is not shown: The code is very simple: SubscriptionStoreView(productIDs: [ "[PRODUCT ID FOR ANNUAL SUBSCRIPTION]", "[PRODUCT ID FOR BIMONTHLY SUBSCRIPTION]" ]) Does anyone have a solution? Thank you. (Xcode 16.3, macOS 15.5, iOS 18.5)
Replies
0
Boosts
0
Views
136
Activity
May ’25
ModelContext.model(for:) returns deleted objects
I'm writing some tests to confirm the behavior of my app. White creating a model actor to delete objects I realized that ModelContext.model(for:) does return objects that are deleted. I was able to reproduces this with this minimal test case: @Model class Activity { init() {} } struct MyLibraryTests { let modelContainer = try! ModelContainer( for: Activity.self, configurations: ModelConfiguration( isStoredInMemoryOnly: true ) ) init() throws { let context = ModelContext(modelContainer) context.insert(Activity()) try context.save() } @Test func modelForIdAfterDelete() async throws { let context = ModelContext(modelContainer) let id = try context.fetch(FetchDescriptor<Activity>()).first!.id context.delete(context.model(for: id) as! Activity) try context.save() let result = context.model(for: id) as? Activity #expect(result == nil) // Expectation failed: (result → MyLibrary.Activity) == nil } @Test func fetchDescriptorAfterDelete() async throws { let context = ModelContext(modelContainer) let id = try context.fetch(FetchDescriptor<Activity>()).first!.id context.delete(context.model(for: id) as! Activity) try context.save() let result = try context.fetch( FetchDescriptor<Activity>(predicate: #Predicate { $0.id == id }) ).first #expect(result == nil) } } Here I create a new context, insert an model and save it. The test modelForIdAfterDelete does fail, as result still contains the deleted object. I also tried to check #expect(result!.isDeleted), but it is also false. With the second test I use a FetchDescriptor to retrieve the object by ID and it correctly returns nil. Shouldn't both methods use a consistent behavior?
Replies
2
Boosts
0
Views
182
Activity
May ’25
How to prevent the main app from being terminated by the system during long - term system - level recording
After logging in to the main App, turn on screen recording, then switch to the interface of another App to perform operations. After about ten-odd minutes, when returning to the main App, it was found that the app was forcefully quit by the system, and subsequent operations could not be carried out.
Replies
1
Boosts
0
Views
164
Activity
May ’25
Gateway.push.apple.com not working anymore ?
i hava a app using Gateway.push.apple.com to push Notifications,but it is not working sine last month, i test the api show push Notifications success but my device can't receive the Notifications ,is this api not working anymore ? but why the api show push Notifications success ?
Replies
2
Boosts
0
Views
291
Activity
May ’25
Simultaneous Use of PacketTunnelProvider and DNSProxyProvider extensions
Hi! I'm working on a solution (iOS 18) that uses Network Extensions PacketTunnelProvider and Content Filter. Currently I'm trying to integrate it with another extension – DNSProxyProvider. My goal is to process dns queries and use resolved ips and names for additional routing inside of the packet tunnel. I'm running into a major issue: whenever both VPN and DNS proxy are active simultaneously, the device completely loses internet connectivity — no traffic goes through, and DNS resolution seems to stop working entirely. I know about the mdm supervision requirement to use DNSProxyProvider and that's covered as I work with a managed device and install a DNS proxy profile, here's how its .mobileconfig file looks like: The DNS proxy itself works fine when working by itself (without VPN being turned on), as I implemented it that it successfully processes DNS packets flows while collecting information about domains etc, and everything works perfectly. Problems begin when using VPN at the same time. I'm aware that tunnel settings include dns related options that can affect this, but I haven't had much luck with tweaking them. Here's how they look right now for reference: let settings: NEPacketTunnelNetworkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "240.0.0.1") // let dnsSettings = NEDNSSettings(servers: "8.8.8.8,8.8.4.4".components(separatedBy: ",")) // dnsSettings.matchDomains = [""] // settings.dnsSettings = dnsSettings settings.proxySettings = nil /* ipv4 settings */ let ipv4Settings = NEIPv4Settings(addresses: ["240.0.0.2"], subnetMasks: ["255.255.255.0"]) ipv4Settings.includedRoutes = [NEIPv4Route.default()] settings.ipv4Settings = ipv4Settings /* MTU */ settings.mtu = 1500 return settings I've tried excluding some dns related ip routes and dns settings shenanigans but nothing. I haven't found any information that might suggest that using both of these extensions at the same time doesn't work, on the contrary, this page in the official documentation about the expected use of packet tunnel provider the expected use of packet tunnel provider, as it talks about the fact that you should not use it for interception of all of DNS traffic, as the use of DNSPRoxyProvider (or dns settings) are built for that, which in my mind, suggests that there should be no problem with using them both and just splitting the dns traffic handling to the proxy. Will be thankful for any help!
Replies
3
Boosts
0
Views
148
Activity
May ’25
supported displaying a red dot on notifications with no indication number
I wanted to know if Apple ever supported displaying a red dot on notificationswith no indication number.
Replies
0
Boosts
0
Views
64
Activity
May ’25
Landscape safe area is incorrect when presenting SKStoreProductViewController
Hi. If the app is in landscape only and when the SKStoreProductViewController is presented, the safeArea changes to what looks like a portrait mode safe area. When the SKStoreProductViewController is dismissed, the safeArea does NOT revert back to the original values. Is there a way to force the safeArea to "reset"? I've submitted some bug tickets through Apple Feedback but I haven't received any response about it. The below code will pop up the SKStoreProductViewController and if you have a UIView that is constrained to the safe area, then you can visibly notice that the safe area is changed and doesn't go back. I have tested this on iPhone 14 Pro, iPhone 15, and iPhone 16 Pro and in the Simulators. The incorrect behavior happens on those and probably more. Thanks. #import "ViewController.h" #import &amp;lt;StoreKit/StoreKit.h&amp;gt; @interface ViewController () @property (nonatomic, strong) SKStoreProductViewController *productViewController; @end @implementation ViewController - (IBAction)buttonTapped:(id)sender { self.productViewController = [[SKStoreProductViewController alloc] init]; NSDictionary *parameters = @{ @"id" : @"6443575749" }; [self.productViewController loadProductWithParameters:parameters completionBlock:^(BOOL result, NSError * _Nullable error) { [self presentViewController:self.productViewController animated:YES completion:^{ // presented // The panel that is constraint to the safe area visibly shows that the safe area is no longer correct. }]; }]; } @end
Replies
3
Boosts
1
Views
745
Activity
May ’25
terminal fulldisk access fails for tmutil latestbackup
I am on MacOS 15.5 trying to access tmutil latestbackup in AppleScript: set latestBackup to do shell script "tmutil latestbackup" It works perfect when run from script editor, and script editor is in full disk access permission list. When I export to an app and run it it fails with: Error retrieving latest backup: tmutil: latestbackup requires Full Disk Access privileges. To allow this operation, select Full Disk Access in the Privacy tab of the Security & Privacy preference pane, and add Terminal to the list of applications which are allowed Full Disk Access. Error code: 80 Terminal is on list, as is name of the app. I have same issue running in safe mode. I have tried deleting and redefining full disk access entries, all to no avail. Apple tech support says its a developer issue, but code works in script editor. any ideas?
Replies
2
Boosts
0
Views
173
Activity
May ’25
Case-ID: 14080335 Push notification requests to iOS devices using APNs (HTTP/2) time out
We are currently developing a WebAPI service that uses APNs (HTTP/2) to send push notifications to iOS devices. (Using PushSharp's HTTP/2 support) The WebAPI service is running on IIS using .net framework 4.8 and c#. The connection to APNs is always maintained, and the connection is checked every 30 minutes using a dummy token Ping. KeepAlivePeriod = 30 minutes and KeepAliveRetryPeriod = 10 seconds have also been set. However, the following issues are occurring. Although the Ping sent immediately before was successful, a TimeoutException occurs in the notification request sent a few minutes later. There is no explicit disconnection notification from APNs, and the connection appears to be silently disconnected. Once a TimeoutException occurs, it occurs frequently afterwards. Below is an excerpt from the log. Apple Notification Failed for some unknown reason 1-1: One or more errors occurred. Apple Notification Failed for some unknown reason 1-2:System.TimeoutException: The operation timed out. In light of this issue, I would like to be advised on the following two points. Are there any official specifications regarding the lifecycle and expiration date of APNs HTTP/2 connections? Even if pings are sent periodically, is there a timeout or other setting that disables the connection on the APNs side? What are the conditions that would cause APNs to silently terminate a connection? For example, could this be due to inactivity, TLS restrictions, network maintenance, etc.? If you have any official documentation or technical guidelines to improve the reliability of this system, we would appreciate it if you could share them with us. Thank you in advance.
Replies
3
Boosts
0
Views
295
Activity
May ’25
CloudKit Database console crashes
I see a chunk load error in the browser console. I already reported this: FB17664487
Replies
3
Boosts
1
Views
142
Activity
May ’25
What does this error mean: Error Domain=com.apple.MatterSupport Code=1 "(null)"
Hi, I have tried to add Eve energy plug but still pairing failed, it reported always same error. Error Domain=com.apple.MatterSupport Code=1 "(null)" Could anyone help? Regards
Replies
1
Boosts
1
Views
1.1k
Activity
May ’25
How to debug Quick Look Preview Extension
I'm facing the same problem as addressed in this discussion: After switching from legacy QLGenerators to Preview extensions on macOS I cannot debug the extensions' code in Xcode, anymore: I launch the app with the embedded appex from Xcode in debug mode. When trying to attach to the appex process the following error is reported: Code: 6 Failure Reason: Ensure “AppName Preview” is not already running, and matthias has permission to debug it. User Info: {... } System Information macOS Version 15.4.1 (Build 24E263) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-05-12T14:07:14+02:00 I'm using a standard user account (no admin) and might miss some obvious steps. Can someone detail the steps to debug a Preview (or Thumbnail) extension with Xcode 16? For legacy Quick Look plugins I was using "qlmanage", but that's not working on extensions. All the best, Matthias P.S.: Pardon me re-posting my reply as a separate thread, to increase visibility, but I'm quite desperate and couldn't find any solution on the web...
Replies
1
Boosts
1
Views
281
Activity
May ’25
SKOverlay App Store Connect Attribution Missing?
I am trying use SKOverlay to promote an app, and I currently have the campaignToken field populated. However, even when installs happen from the SKOverlay, nothing shows up under that campaign token in App Store Connect. Is there something that I'm missing? I don't have the providerToken set.
Replies
0
Boosts
0
Views
121
Activity
May ’25
Non standard Wallet app non suppressed by pass suppression entitlement
We have an app that uses the pass-presentation-suppression entitlement and calls requestAutomaticPassPresentationSuppression to prevent the Wallet app from being presented when the device is displaying a barcode to a barcode/nfc reader. This works as expected for users of the standard Apple Wallet app. However, it does not prevent third-party wallet apps from being launched, which hides the barcode and prevents it from being scanned properly. What options do I have to prevent third-party wallet apps from launching or interfering while our app is actively presenting a barcode?
Replies
0
Boosts
0
Views
87
Activity
May ’25
What *is* the 12 hour energy impact?
Clearly not percentage, but the units don't seem to be specified... The real problem we have right now is that, with macOS 15.5, our suite gets a huge amount of "energy impact" points, even though diving into it, it doesn't seem to do that. The most telling example I have of that is: I ran each of our daemons from Terminal, unplugged my laptop, closed the lid, and let it stay there for 8 or 9 hours. When I woke it back up, Activity Monitor claimed it had 2,000 units or so, but after opening all of the disclosure triangles, none of the processes (including the hand-started daemons) used anything close to that. Also, the battery had almost no drain on it. We're getting complaints about this, so I'm trying to figure out what, exactly is going on, but I never looked at the power stuff internally so I don't know how to read the diagnostic files.
Replies
6
Boosts
0
Views
217
Activity
May ’25
"Application" is accessing your screen notification
Hi! I'm developing an application based on Chrome that needs to take regular screenshots of webpages. Under the hood (actually Chromium), it uses SCScreenshotManager to capture screenshots automatically (without user interaction). I've noticed that regularly using this API triggers a user notification saying: "Your Screen 'AppTest' has accessed your screen and system audio 3,594 times in the past 30 days. You can manage this in Settings." How can I prevent this notification from appearing? Are there any specific entitlements(Or configuration of SCScreenshotManager) that I can use? Thanks!
Replies
2
Boosts
0
Views
233
Activity
May ’25
Filtered dataFrame displays original dataFrame values
I'm importing a csv file of 299 rows and creating a subset by filtering on one column value (24 rows). I want to Chart just the filtered values. However, when I print one column I get values from the original dataFrame. Any suggestions? Thanks, David The code: import SwiftUI import Charts import TabularData struct DataPoint: Identifiable { var id = UUID() // This makes it conform to Identifiable var date: Date var value: Double } struct ContentView: View { @State private var dataPoints: [DataPoint] = [] var body: some View { Text("Hello") Chart { ForEach(dataPoints) { dataPoint in PointMark( x: .value("Date", dataPoint.date), y: .value("Value", dataPoint.value) ) } } .frame(height: 300) .padding() .onAppear(perform: loadData) } func loadData() { print("In Loading Data") // Load the CSV file if let url = Bundle.main.url(forResource: "observations", withExtension: "csv") { do { let options = CSVReadingOptions(hasHeaderRow: true, delimiter: ",") var data0 = try DataFrame(contentsOfCSVFile: url, options: options) let formattingOptions = FormattingOptions( maximumLineWidth: 200, maximumCellWidth: 15, maximumRowCount: 30 ) // print(data0.description(options: formattingOptions)) print("Number of Columns: \(data0.columns.count)") let columnsSet = ["plant_id", "date", "plot", "plantNumber", "plantCount"] data0 = try DataFrame(contentsOfCSVFile:url, columns: columnsSet, options: options) print("Number of Columns (after columnsSet): \(data0.columns.count)") print("Printing data0") print(data0.description(options: formattingOptions)) let data = data0.filter { $0["plant_id"] as? Int == 15 } print("Printing data") print(data.description(options: formattingOptions)) print(" Number of Rows \(data.rows.count)") for i in 0 ... data.rows.count { // print("\(i): \(data["plantCount"][i]!)") if let plantCount = data["plantCount"][i] as? Int { print("\(i): \(plantCount)") } else { print("\(i): Value not found or invalid type") } } // // var newDataPoints: [DataPoint] = [] // Here I plan to add the filtered data to DataPoint // DispatchQueue.main.async { dataPoints = newDataPoints } } catch { print("Error reading CSV file: \(error)") } } else { print("Didn't load csv file") } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } Here is the new dataFrame and print output Printing data ┏━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ ┃ plant_id ┃ date ┃ plot ┃ plantNumber ┃ plantCount ┃ ┃ ┃ <Int> ┃ <String> ┃ <Int> ┃ <Int> ┃ <Int> ┃ ┡━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ │ 0 │ 15 │ 2023-09-07 │ 1 │ 5 │ 5 │ │ 32 │ 15 │ 2023-09-07 │ 2 │ 10 │ 10 │ │ 38 │ 15 │ 2023-09-07 │ 2 │ 20 │ 20 │ │ 66 │ 15 │ 2023-09-07 │ 4 │ 25 │ 25 │ │ 77 │ 15 │ 2023-09-07 │ 5 │ 5 │ 5 │ │ 99 │ 15 │ 2023-09-14 │ 7 │ 45 │ 45 │ │ 142 │ 15 │ 2024-05-30 │ 1 │ 20 │ 20 │ │ 162 │ 15 │ 2024-05-30 │ 4 │ 5 │ 5 │ │ 169 │ 15 │ 2024-05-30 │ 5 │ 10 │ 10 │ │ 175 │ 15 │ 2024-05-30 │ 7 │ 10 │ 10 │ │ 188 │ 15 │ 2024-07-11 │ 1 │ 20 │ 40 │ │ 199 │ 15 │ 2024-07-11 │ 2 │ 5 │ 5 │ │ 215 │ 15 │ 2024-07-11 │ 5 │ 20 │ 30 │ │ 220 │ 15 │ 2024-07-11 │ 7 │ 30 │ 40 │ │ 236 │ 15 │ 2024-09-06 │ 1 │ 20 │ 60 │ │ 238 │ 15 │ 2024-09-06 │ 2 │ 30 │ 35 │ │ 248 │ 15 │ 2024-09-06 │ 5 │ 5 │ 35 │ │ 254 │ 15 │ 2024-09-06 │ 7 │ 50 │ 90 │ │ 267 │ 15 │ 2025-05-04 │ 1 │ 10 │ 70 │ │ 273 │ 15 │ 2025-05-04 │ 2 │ 10 │ 45 │ │ 282 │ 15 │ 2025-05-04 │ 5 │ 10 │ 45 │ │ 287 │ 15 │ 2025-05-04 │ 7 │ 30 │ 120 │ │ 292 │ 15 │ 2025-05-04 │ 8 │ 10 │ 0 │ │ 297 │ 15 │ 2925-05-04 │ 3 │ 10 │ 0 │ └─────┴──────────┴────────────┴───────┴─────────────┴────────────┘ 24 rows, 5 columns Number of Rows 24 0: 5 1: 80 2: 1 3: 1 4: 1 5: 3 6: 3 7: 1 8: 6 9: 1 10: 1 11: 1 12: 1 13: 10 14: 50 15: 1 16: 2 17: 1 18: 3 19: 8 20: 5 21: 3 22: 7 23: 2 24: 1
Replies
2
Boosts
0
Views
150
Activity
May ’25
Login issues on CloudKit Console
Hi everyone In the last 24 hours, I’ve been running into some issues with the CloudKit console. Most of the time, I‘ll get an error stating an error has caused this web page to stop working correctly. Reloading doesn’t fix the issue, nor does using different browsers: Today I’ve got another error, something along the lines of the Console not being able to fetch the teams I’m assigned to and an XHF error pop-up. Has anyone encountered the same issues? After trying multiple times, I’m able to reach my database but it’s a bit frustrating as it’s very unreliable this way. Thanks for your feedback! Dave
Replies
1
Boosts
3
Views
156
Activity
May ’25
Presenter Overlay Not Showing When Recording a Single Window or Region with ScreenCaptureKit
Hi, I'm using ScreenCaptureKit on macOS 14+ to record a single window. I've noticed that the Presenter Overlay only appears when capturing the entire screen, but it does not appear when recording a specific window or a region. Is there a way to enable the Presenter Overlay while recording a single window or a defined region, similar to how it works with full-screen capture? Any guidance or clarification would be greatly appreciated. Thanks in advance!
Replies
0
Boosts
0
Views
179
Activity
May ’25
Memory release problem of VPN connection object
Hello, I encountered a memory management issue while developing VPN functionality and would like to seek your advice. The specific phenomenon is as follows: Problem description: After multiple calls to the 'createTCPConnectToEndpoint' and 'create UDPSessionToEndpoint' interfaces to create connection objects, the application memory continues to grow. Even if the cancel interface is immediately called to actively release the object, the memory does not fall back. 3. Confirm that there is no other code referencing these objects, but the system does not seem to automatically reclaim memory. Attempted measures: Immediately call the cancel method after creating the object, and the memory is not reduced Use tools such as Profiler to monitor memory and confirm that objects have not been released. doubt: Is this phenomenon normal? Is there a known memory management mechanism (such as cache pooling) that causes delayed release? 2. Are there any other interfaces or methods (such as release, dispose) that need to be explicitly called? Supplementary Information: Development environment: [iOS 16, 14pm] Reproduction steps: After continuously creating connection objects, the memory grows without falling back. Could you please help confirm if there are any abnormalities and the correct memory release posture. Thank you for your support!
Replies
3
Boosts
0
Views
132
Activity
May ’25