Posts under App & System Services topic

Post

Replies

Boosts

Views

Activity

New features for APNs token authentication now available
Team-scoped keys introduce the ability to restrict your token authentication keys to either development or production environments. Topic-specific keys in addition to environment isolation allow you to associate each key with a specific Bundle ID streamlining key management. For detailed instructions on accessing these features, read our updated documentation on establishing a token-based connection to APNs.
0
0
1.6k
Feb ’25
Serial port speed limited to 3 Mbps
Six months ago I wrote FB14122473, detailing how the built-in CDC (or FTDI) VCP serial port driver is limited to 3 Mbps or less. Thing is, there are some FTDI devices that can do 12 Mbps (maybe more), and I have devices I need to communicate with at 4 Mbps. I had to use the FTDI SDK to be able to communicate with these. I was hoping this post might help draw attention to that bug report.
1
0
482
Jan ’25
Problems running the "Paloalto GlobalProtect" app on iOS iPhone
When connecting SSLVPN through the "Paloalto GlobalProtect" app on an iOS iPhone, I try to connect through my Google Workspace account. During this process, an error occurs when logging in after entering my Google account. The error is as follows. The Paloalto Networks TAC Support team recommends that you contact Apple Support. When connecting SSLVPN through the "Paloalto GlobalProtect" app on an Android device, I can log in normally with my Google account. It only doesn't work on iOS iPhones. ~/Downloads/GPSupportInfo/Agent.log:119: 2024-12-16 14:08:08.047 GlobalProtect[4402:1352815] Error: (ManagerUtils.mm:566) Send message failed: GlobalProtect, error: Error Domain=NEVPNErrorDomain Code=1 "(null)" ~/Downloads/GPSupportInfo/Agent.log:119: 2024-12-16 14:08:08.047 GlobalProtect[4402:1352815] Error: (ManagerUtils.mm:566) Send message failed: GlobalProtect, error: Error Domain=NEVPNErrorDomain Code=1 "(null)" ~/Downloads/GPSupportInfo/Agent.log:119: 2024-12-16 14:08:08.047 GlobalProtect[4402:1352815] Error: (ManagerUtils.mm:566) Send message failed: GlobalProtect, error: Error Domain=NEVPNErrorDomain Code=1 "(null)" ~/Downloads/GPSupportInfo/Agent.log:119: 2024-12-16 14:08:08.047 GlobalProtect[4402:1352815] Error: (ManagerUtils.mm:566) Send message failed: GlobalProtect, error: Error Domain=NEVPNErrorDomain Code=1 "(null)" Paloalto said that it is the same as the content of the Apple Developer Forum below and told me to contact Apple Support. https://developer.apple.com/forums/thread/25928 Please tell me how to solve this problem.
0
0
175
Dec ’24
New apple pay in PC chrome dosn't work with iOS 18
I've encountered an issue with Apple Pay in PC Chrome with iOS 18. Below is the scenario and code for reference: Issue Scenario: A button is clicked to initiate the Apple Pay process. A QR code window pops up, which I scan with my phone. As soon as the session is established, the window closes immediately, not allowing the user to select a payment card. No errors appear in the console. Here's the code snippet for handling the Apple Pay button click: const onApplePayButtonClicked = () => { if (!window.ApplePaySession) { return; } log('Apple Pay button clicked'); const request = { countryCode: 'UA', currencyCode: 'UAH', merchantCapabilities: ['supports3DS'], supportedNetworks: ['visa', 'masterCard'], total: { label: 'PoC Merchant Apple Pay', type: 'final', amount: amount.toString(), }, }; const session = new window.ApplePaySession(3, request); session.onvalidatemerchant = async (event) => { try { log('Creating ApplePaySession'); const response = await fetchAppleSessionAPI(event.validationURL, applePayMercantId, { deviceId, refreshToken }); log('validateMerchantResponse', response); session.completeMerchantValidation(response.applePaySessionData); } catch (error) { log('validateMerchantError', error); } }; session.onshippingmethodselected = () => { const newTotal = { label: 'PoC Merchant Apple Pay', type: 'final', amount: amount.toString(), }; session.completeShippingMethodSelection(window.ApplePaySession.STATUS_SUCCESS, {}, newTotal); }; session.onpaymentauthorized = async (event) => { log('onpaymentauthorized', event); const result = { status: window.ApplePaySession.STATUS_SUCCESS, }; session.completePayment(result); log('TOKEN', event.payment.token); }; session.begin(); }; Troubleshooting Steps Taken: Verified that window.ApplePaySession is available. Checked for any console errors—none found. Confirmed that the QR code scanning and session initiation work as expected. Expected Behavior: After scanning the QR code and establishing the session, the user should be able to select a payment card and proceed with the payment flow. Current Behavior: The window closes immediately after the session is established, preventing card selection. Has anyone else faced this issue or has insights on how to resolve it? Thanks in advance!
2
0
669
Jan ’25
CarPlay Not Working Properly
I just purchased a new 2025 Honda Civic Hybrid sedan with the highest trim package. The staff at the dealership set CarPlay up to my iPhone 16 Pro, and all was operating perfectly. Then, last week, I started noticing random connectivity problems with it (ie: no sound from my audio apps, “not connected” being displayed on the dashboard displa, etc.) I tried to think of what had changed with my setup, and the only change was that I updated to the latest iOS update 18.2 I scheduled a service appointment with the Honda dealer in hopes that Apple and Honda can confirm a fix for this issue. I’ll try to attach an image from my car’s dashboard display as an example of an error message that isn’t resolved.
0
0
264
Jan ’25
App Directories And Data
Hello everyone, I hope you’ll all bear with me as I get up to speed. My background is in Unix, procedural languages, mission critical databases and enterprise applications. I’ve just started heading a team with an iOS app used in healthcare that contains confidential patient information (PHI) that's governed by HIPAA and FDA cybersecurity, etc. It seems there’s some contention in the team over whether the app, SQLite db, and medical images belong in the Documents or an Application Support directory in the Library. From everything I’ve read, it seems that Apple’s intent is Library/Application Support. Two questions: Which is the correct location? And hopefully, a few compelling justifications. On one of our iPads, the app stopped displaying what was two years of data in SQLite. I haven’t yet tested for index corruption, however one of the programmers believes this resulted from an iOS update that needed space and cleared data in the cache (but that makes no sense to myself). Feedback highly appreciated. Many thanks, David Why, because somebody has to
4
0
603
Dec ’24
Apple support rejected my refund with ridiculous reason
First double charge in a same item, i ask the game developer they accept my refund request, but i don’t know why apple rejected my request, they said i haven’t strongly support? how can i send him the support? there are no attach button allow me the send him the conversatio via email. Then suddenly charge me 2 times i haven’t buy item. i request refund they also rejected…why? i didn’t get anything from the game but i had pay already. who can help me to get back my money. totalHK188 miss charged. this is not fair they stole my money. i don’t know why the game developers accept my refund request, who gave apple the right to reject
1
0
576
Dec ’24
Missing calls to L2CAP Stream Delegate
I have a C++/Objective-C command line application, running on MacOs (15.1.1 (24B91)), that communicates with a Bluetooth LE peripheral. The application is build with Apple clang 16.0.0 and CMake as build system using Boost.Asio. I'm able to establish a L2CAP channel and after the channel is established, the peripheral sends a first (quite small) SDU on that channel to the application. The PSM is 0x80 and was chosen by the peripherals BLE stack. The application receives the PSM via GATT notification. I can see the SDU being send in a single LL PDU with Wireshark. I can also see the SDU being received in Apples PacketLogger. But I miss the corresponding call to a stream event handler. For all other GATT related events, the corresponding delegates / callbacks are called. The code that creates a dispatch queue and passes it to the CBCentralManager looks like this: dispatch_queue = dispatch_queue_create("de.torrox.ble_event_queue", NULL); manager = [[CBCentralManager alloc] initWithDelegate:self queue:dispatch_queue options:nil]; When the L2CAP channel is established, the didOpenL2CAPChannel callback gets called from a thread within the dispatch_queue (has been verified with lldb): - (void)peripheral:(CBPeripheral *)peripheral didOpenL2CAPChannel:(CBL2CAPChannel *)channel error:(NSError *)error { [channel inputStream].delegate = self; [channel outputStream].delegate = self; [[channel inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [[channel outputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; [[channel inputStream] open]; [[channel outputStream] open]; ... // a reference to the channel is stored in the outside channel object [channel retain]; ... } Yet, not a single stream event is generated: - (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)event_code { Log( @"stream:handleEvent %@, %lu", stream, event_code ); ... } When I add a functionality, to poll the input stream, the stream will report the expected L2CAP input. But no event is generated. The main thread of execution is usually blocking on a boost::asio::io_context::run() call. The design is, to have the stream callback stream:handleEvent to post call back invocations on that io_context, and thus to wake up the main thread and get that callbacks being invoked on the main thread. All asynchronous GATT delegate calls are working as expected. The only missing events, are the events from the L2CAP streams. The same code worked in an older project on an older version of MacOs and an older version of Boost. How can I find out, why the stream delegates are not called?
0
0
502
Dec ’24
Request for Guidance on Implementing BLE Scanning Across Foreground/Background/Locked States
I would like to share my specific use case and seek your guidance on implementing it effectively within iOS: We are developing an iOS application that may run simultaneously on multiple devices near each other. The core functionality involves continuous Bluetooth Low Energy (BLE) scanning to detect peripherals (beacons) in the range of a central device. The scanning needs to function seamlessly across the following states: • Foreground • Background • Locked mode (when the device is locked) Here are the detailed requirements: 1. Scanning Behavior: • The central device should continuously scan for nearby BLE peripherals (beacons). • If a new peripheral comes into range, the application should capture its data, including: • Device Name • MAC Address • Payload Data • RSSI (Signal Strength) 2. Peripheral Out-of-Range Handling: • If a detected peripheral (beacon) moves out of range, it should automatically be removed from the populated list displayed on the app. 3. Peripheral Reappearance: • If a peripheral (beacon) that moved out of range comes back into range, the application should detect it again and repopulate the list with updated data seamlessly. 4. Application State: • This behavior (scanning, detection, and updating) should work regardless of the app’s state: • Foreground • Background • Device Locked FYI, we are using Custom Ruuvi beacons Given the above requirements, I would greatly appreciate any guidance, suggestions, or best practices to implement this use case efficiently while adhering to iOS background execution and Bluetooth limitations.
0
0
352
Dec ’24
Possible to access CoreData/Persistent storage from DeviceActivityReportExtension?
This is more a general question of whether it is possible to share persistent/coredata from the main app to Screentime-related extensions such as DeviceActivityReportExtension. I've set my code up (e.g., App Groups, files to different targets, using nspersistentcontainer with app group url, etc.) in a way that it builds, and the extension seems to recognize my CoreData schema (able to query using fetchrequest). But the data returned is always null. So i'm wondering if it is even possible to READ app data from the extension. I understand it is not possible to write or pass data from the extension back to the app. I've also been able to read data that was saved in main app from UserDefaults in my extension.
0
0
442
Dec ’24
Official document for CONSUMPTION_REQUEST - What kind of data we are receiving?
This documentation describes what kind of data we should be sending to Apple server, once we are receiving CONSUMPTION_REQUEST https://developer.apple.com/documentation/appstoreserverapi/consumptionrequest But, it doesn't describe what kind of data we are receiving, when we are receiving CONSUMPTION_REQUEST? May I know, is such a document available? Thank you.
0
0
528
Dec ’24
Mac App Crashing
Hi, I have a problem with my Mac crashing sims 4. can you let me know if this is a Mac problem or a sims 4 problem ? Link to Mac Info : https://prnt.sc/NYG0jn8_u0dB Link to crash report : https://prnt.sc/UImzDIsqdVYn
1
0
393
Jan ’25
Credit card ICC Public Key Certificate retrieval
Hello! I have a requirement to read the ICC Public Key Certificate from an EMV credit card to implement a payment validation flow. Aa far as I understand, I can't use Core NFC for that task since it is not supposed to be used for reading sensitive credit card data and it might be rejected by Apple. I'm trying to use Tap To Pay as it seems to offer some general card details. Since Apple's documentation on this side is pretty limited, I'm struggling to understand what is a PaymentCardReader.Token and how can I create one? Can anyone please help me with setting up Tap to Pay?
2
0
535
Jan ’25
User-Generated Files in Documents Directory Deleted After App Restart on iOS 18.2 (iPhone 11)
Hello, I am encountering an issue with user-generated files stored in the Documents directory on an iPhone 11 running iOS 18.2. The problem occurs as follows: 1.The app generates and saves files in the Documents directory using FileManager. 2.These files are successfully saved and remain accessible while the app is running. 3.After restarting the app, the files appear to have been deleted from the Documents directory. I have confirmed that: 1.The files are being saved to the correct location (Documents directory) and can be accessed during the current app session. 2.The app is not explicitly deleting these files during shutdown or restart. 3.This behavior is consistent across multiple app restarts.
1
0
394
Dec ’24
SIGTRAP (#0): Application crash: SIGTRAP (Trace/BPT trap)
Hardware Model: iPhone15,3 Process: fieldserviceapp [14394] Path: Version: 1.0.446605 (446605) Code Type: ARM-64 Parent Process: [1] Date/Time: 2024-12-03 22:01:11.0030 +0530 OS Version: iPhone OS 18.1.1 (22B91) Exception Type: SIGTRAP Exception Codes: #0 Triggered by Thread: 31 Thread 0 name: Thread 0: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 GraphicsServices 0x00000001e88941c4 GSEventRunModal + 164 7 UIKitCore 0x000000019f41aeb0 -[UIApplication _run] + 816 8 UIKitCore 0x000000019f4c95b4 UIApplicationMain + 340 9 fieldserviceapp 0x0000000100e44e60 0x100e34000 + 69216 10 ??? 0x00000001c22a2ec8 0x0 + 7552511688 Thread 1 name: Thread 1: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 Foundation 0x000000019b55c500 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 7 Foundation 0x000000019b55c350 -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 8 UIKitCore 0x000000019f42e358 -[UIEventFetcher threadMain] + 420 9 Foundation 0x000000019b56d6c8 NSThread__start + 724 10 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 11 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 2 name: Thread 2: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 fieldserviceapp 0x0000000101226620 0x100e34000 + 4138528 7 Foundation 0x000000019b56d6c8 NSThread__start + 724 8 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 9 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 3 name: Thread 3: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87584 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 28 2 hermes 0x0000000103788f24 0x1036bc000 + 839460 3 hermes 0x0000000103788e8c 0x1036bc000 + 839308 4 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 5 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 4 name: Thread 4: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87584 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 28 2 hermes 0x0000000103788f24 0x1036bc000 + 839460 3 hermes 0x0000000103788e8c 0x1036bc000 + 839308 4 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 5 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 5 name: Thread 5: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87584 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 28 2 CardReaderWrapperDynamic 0x000000010432e3e4 0x104298000 + 615396 3 CardReaderWrapperDynamic 0x0000000104330a08 0x104298000 + 625160 4 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 5 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 9 name: Thread 9: 0 libsystem_kernel.dylib 0x00000001ecc7bf90 __psynch_cvwait + 8 1 libc++.1.dylib 0x00000001ace87618 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lockstd::__1::mutex&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<(long)1, (long)1000000000> > >) + 100 2 fieldserviceapp 0x0000000101d115fc 0x100e34000 + 15586812 3 fieldserviceapp 0x0000000101e740fc 0x100e34000 + 17039612 4 fieldserviceapp 0x0000000101e6f878 0x100e34000 + 17021048 5 fieldserviceapp 0x0000000101e75e2c 0x100e34000 + 17047084 6 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 7 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8 Thread 12 name: Thread 12: 0 libsystem_kernel.dylib 0x00000001ecc76688 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x00000001ecc79cb0 mach_msg_overwrite + 424 2 libsystem_kernel.dylib 0x00000001ecc79afc mach_msg + 24 3 CoreFoundation 0x000000019c8b5a84 __CFRunLoopServiceMachPort + 160 4 CoreFoundation 0x000000019c8b5130 __CFRunLoopRun + 1212 5 CoreFoundation 0x000000019c8b4830 CFRunLoopRunSpecific + 588 6 CFNetwork 0x000000019de30ee0 +[__CFN_CoreSchedulingSetRunnable _run:] + 416 7 Foundation 0x000000019b56d6c8 NSThread__start + 724 8 libsystem_pthread.dylib 0x0000000224de937c _pthread_start + 136 9 libsystem_pthread.dylib 0x0000000224de4494 thread_start + 8
0
0
300
Dec ’24