Explore the core architecture of the operating system, including the kernel, memory management, and process scheduling.

Posts under Core OS subtopic

Post

Replies

Boosts

Views

Activity

How to disable Finder "Move to Bin" action for non materialised files
In the context of a NSFileProviderReplicatedExtension I would like to only see the "Move to Bin" Finder action when files have been materlialised ( isDownloaded fileprovider attribute ) I thought it might be possible to get the isDownloaded attribute in my NSFileProviderItemProtocol class capabilities method but that doesn't seem to be the case. Possible ?
1
0
558
Aug ’24
Service Background Bluetooth can work even kill app
Hi, I want to develop an application with service can discover neighbors devices bluetooth in background, this service can run even app was killed. The scan of bluetooth start every 5 sec as service, and find Bluetooth device and can read data from BLE device. It's possible with IOS? any limitations? Thank you Regads, Thuyet
3
0
699
Aug ’24
How to Programmatically Obtain the Current System Firmware Version in macOS Using C++ Without Using System Profiler
The current system firmware version is reported by System Profiler as “SPHardwareDataType”. System firmware versions are also reported (as “Boot ROM”) in diagnostic logs, but here they are the system firmware versions at the time the logs were generated – not necessarily the current system firmware version. Is there a way to programmatically obtain the current system firmware version in macOS using C++ without using System Profiler?
0
0
229
Aug ’24
What are the requirements for images for Live Caller ID?
The documentation for adding images for Live Caller ID specify that they should be in .heic format and be less than 64KB. However the majority of the time they just don't display. Mostly they would with iOS 18 beta 4, but with beta 5, 90% of the time they don't display. Seems there's some other factor at play, such as pixel size of width/height, or resolution density?
1
1
445
Aug ’24
Headset button not responds in a call on my app
Hi, Team. We are currently creating a VoIP calling app using pjsip and want to be able to end a call using the headset button while the app is in the middle of a call (AVAudioSession.category == .playAndRecord), but MPRemoteCommand does not receive any events. After trying various things, We found that the button will respond if the audio output destination is set to the speaker or if .allowBluetoothA2DP is set as an option, but this is not suitable for this use case because audio input and output would be from the device rather than the headset. ================================================= Problem Headset button events cannot be received from MPRemoteCommand during a call. What is expected to happen? When the headset button is pressed during a call, a handler registered in some MPRemoteCommand is called back. What does actually happen? No MPRemoteCommand responds when the headset button is pressed during a call. Information Sample code Echoes back the audio input with a 5-second delay to simulate a phone call. https://github.com/ryu-akaike/HeadsetTalkTest-iOS/ Versions macOS: Sonoma 14.5 Xcode: 15.3 iPhone: 11 iOS: 17.5.1 ================================================= Thank you. Ryu Akaike
1
0
757
Aug ’24
My app's dylibs not getting recognized as Mach-o after migration. How to troubleshoot / prevent this from happening?
As the title says, I have an application that has a few dylibs right next to it. More often than not, when one of my users migrates from one Mac to another using the Migration Assistant, my app starts crashing since it is not able to recognize the dylibs as a Mach-O file. Both my app & the libraries are compiled for x86 and run on top of Rosetta. Does this maybe play a part in causing in this issue? Doing a file <dylib name> returns "data" as the file type. How to prevent this from happening?
1
0
351
Aug ’24
`cp` ( & friends ) silent loss of extended attributes & file flags
Since the introduction of the siblings / and /System/Volumes/Data architecture, some very basic, critical commands seems to have a broken behaviour ( cp, rsync, tar, cpio…). As an example, ditto which was introduced more than 10 years ago to integrate correctly all the peculiarity of HFS Apple filesystem as compared to the UFS Unix filesystem is not behaving correctly. For example, from man ditto: --rsrc Preserve resource forks and HFS meta-data. ditto will store this data in Carbon-compatible ._ AppleDouble files on filesystems that do not natively support resource forks. As of Mac OS X 10.4, --rsrc is default behavior. [...] --extattr Preserve extended attributes (requires --rsrc). As of Mac OS X 10.5, --extattr is the default. and nonetheless: # ls -@delO /private/var/db/ConfigurationProfiles/Store drwx------@ 5 root wheel datavault 160 Jan 20 2024 /private/var/db/ConfigurationProfiles/Store                            ********* com.apple.rootless 28 *************************** # mkdir tmp # ditto /private/var/db/ConfigurationProfiles tmp ditto: /Users/alice/Security/Admin/Apple/APFS/tmp/Settings: Operation not permitted ditto: /Users/alice/Security/Admin/Apple/APFS/tmp/Store: Operation not permitted # ls -@delO tmp/Store drwx------ 5 root wheel - 160 Aug 8 13:55 tmp/Store                            * # The extended attribute on copied directory Store is empty, the file flags are missing, not preserved as documented and as usual behaviour of ditto was since a long time ( macOS 10.5 ). cp, rsync, tar, cpio exhibit the same misbehaviour. But I was using ditto to be sure to avoid any incompatibility with the Apple FS propriaitary modifications. As a consequence, all backup scripts and applications are failing more or less silently, and provide corrupted copies of files or directories. ( I was here investigating why one of my security backup shell script was making corrupted backups, and only on macOS ). How to recover the standard behaviour --extattr working on modern macOS?
1
0
623
Aug ’24
Ability to detect macOS upgrade using Endpoint Security Events
Use case: Enable more efficient and quick OS Upgrade on mac systems by detecting the OS upgrade. Our observations: To understand how OS upgrade works, we observed ES events during the upgrade (using eslogger) and found the below observations: For OTA upgrade: nsurlsessiond starts downloading the UpdateBrainService to a temporary location nsurlsessiond also downloads the Mac OS update to the same temporary location com.apple.StreamingUnzipService.privileged service unzips the update archive to the same temp folder mobileassetd later moves it to a permanent folder UpdateBrainService is started For full installer upgrade: Processes from within the full installer App like InstallAssistant_springboard, InstallAssistant, osinstallersetupd, osisstashhelper, osishelperd_intel. Information needed Confirm if the above processes and events we are looking at are good enough, or if there are more significant events (file operations or process launches) that we can look at to more certainly detect the OS upgrade start. We want to understand the exact start point of the OS upgrades in different methods OTA, full installer etc for both major and minor OS upgrades. Information on additional fields in ES message which we could look that make the processes involved in OS upgrade unique, for example "signing_id".
2
1
480
Aug ’24
Unable to get certificates via TKTokenWatcher
Hello, We have an application which gets our HSM certificates via TKTokenWatcher, there is a snippet: let tokens = TKTokenWatcher() for token in tokens.tokenIDs { // Use our HSM certs if token.contains("SPECIFIC_IDENTIFIER") { let tokenQuery = [kSecClass as String: kSecClassIdentity, kSecAttrTokenID as String: token, kSecAttrKeyType as String: kSecAttrKeyTypeRSA, kSecReturnRef as String: true] as CFDictionary var item: CFTypeRef? let result = SecItemCopyMatching(tokenQuery as CFDictionary, &item) if result == noErr.... Normally, result is all right, but problem occurred when we added "App Groups" entitlement. This application has to share some Defaults with other app, so they need to be in the same App Group. So, when we added this App Group entitlement, result from the code snippet is -34018, which according to OSStatus means errSecMissingEntitlement. Does anybody know, which entitlement has to be added, so app can be in the App Group, and at the same time it is able to get certificates? Thank you.
0
1
737
Aug ’24
Multiple Resolutions in one Virtual Machine
Hi team, I was trying to launch Virtual machine on MacOS 14 using native framework with different Resolutions. let graphicsConfiguration = VZMacGraphicsDeviceConfiguration() graphicsConfiguration.displays = [ VZMacGraphicsDisplayConfiguration(widthInPixels: 2700, heightInPixels: 2200, pixelsPerInch: 100), VZMacGraphicsDisplayConfiguration(widthInPixels: 1920, heightInPixels: 1200, pixelsPerInch: 80) ] return graphicsConfiguration } But I'm getting below error: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=VZErrorDomain Code=2 "More than one display is configured." UserInfo={NSLocalizedFailure=Invalid virtual machine configuration., NSLocalizedFailureReason=More than one display is configured.} Please let me know it is possible to have multiple resolutions in single VM or not. My use case is to get support of multiple resolutions like 1920x1080, 2048x1536, 1024x728 etc. Thanks.
4
0
722
Aug ’24
Inconsistent return values from open function between libc and kernel syscall
Description: When attempting to open a non-existent file on an iOS device, I observed inconsistent return values between the open function from the standard libc library and the kernel syscall (syscall number 5). While the libc open function returns -1, as expected and documented, the kernel syscall open function unexpectedly returns 2. This discrepancy necessitates clarification and documentation to understand the underlying behavior and ensure predictable results when working with file I/O operations in iOS. Code snippet for ASM code: #if defined(__arm64__) #define __asm_syscall(...) do { \ asm volatile ("svc 0x80" : "=r"(x0) : __VA_ARGS__ : "memory", "cc"); \ return x0; \ } while (0) __attribute__((always_inline)) static inline long asm_open(const void* __path, int __flags, int __mode) { register long x16 __asm__("x16") = 5; // 5: open register long x0 __asm__("x0") = (long)__path; register long x1 __asm__("x1") = (long)__flags; register long x2 __asm__("x2") = (long)__mode; __asm_syscall("r"(x16), "0"(x0), "r"(x1), "r"(x2)); } #endif This is how I call the function: char file_path[1024]; int fd = 0; // Set the file path strcpy(file_path, getenv("HOME")); strcat(file_path, "/Documents/non-existent.txt"); // Open file fd = (int)asm_open(file_path, (O_RDWR | O_CREAT), 0666); // -> This returns 2 instead of -1 like stand open function from libc LOGI("[INFO] : Open %d", fd); // [INFO] : Open 2
0
1
254
Aug ’24
iOS18 WebKit crash when use System Input Method(系统输入法)
When using the system input method to input Chinese, deleting the input character will crash when the last character is deleted. crash info: reason:NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds -[WKContentView(WKInteraction) setAttributedMarkedText:selectedRange:]_block_invoke -[WKContentView(WKInteraction) objc_msgSend$attributesAtIndex:effectiveRange: (像是WebKit处理系统输入法删除输入信息时,处理文本编辑的问题)
5
3
1.2k
Aug ’24
app to develop
i have a suggestion for an app that will help many families and once installed you won't be able to do without it. I'm sure that at least 70% of families will use it at least twice a day. who do I sell my project to? applace many families will remember me. finally sorry my english comes from a translator.
1
0
318
Aug ’24
Integrating Two Separate Apps for Parental Control: Queries on Family Picker, Filtering, and Screen Time Permissions
Hello Apple Developer Community, We have developed two totally separate apps for parental control: one for parents (xyz/parent.com) and one for children (abc/child.com). These are not two sides of the same app, but rather distinct applications. Recently, we integrated these two apps and encountered a few challenges and questions that we hope the community can help with. Family Picker Behavior: We noticed that only the parent app on the current device is displayed in the Family Activity Picker. Is this the intended behavior? Our expectation was that the Family Activity Picker would show both the parent and child apps available on the device. Is there a way to ensure that both types of apps are listed? Filtering Apps in Family Picker: Is it possible to filter the apps displayed in the Family Activity Picker to show only the child’s app and exclude the parent app? Our goal is to streamline the selection process for users by removing irrelevant apps from the picker. If direct filtering is not possible, are there any recommended workarounds or best practices to achieve a similar result? Screen Time Permission Requirements: We’ve successfully implemented screen time permissions using the Authorization Center for the child app. However, do we also need to request screen time permissions from within the parent app? If so, are there any specific guidelines or best practices for managing screen time permissions across two interconnected apps? Triggering Child Managed Settings from Multiple Apps: Is it feasible to trigger managed settings (e.g., enabling restrictions) for the child app from both the parent and child apps? We want to ensure consistent enforcement of settings regardless of which app initiates the change. Are there any limitations or conflicts we should be aware of when managing settings from two different apps? We appreciate any guidance or insights you can provide on these issues. We’ve referred to the Family Controls and Screen Time documentation, but we're seeking more specific advice related to the integration of two separate apps in this context. Thank you in advance for your help!
0
0
530
Aug ’24
Eye tracking data access for researchers
Hi, Is there a way for researchers to get or request access to eye tracking data from the Apple Vision Pro within the boundaries of the app to be developed? I'm currently involved in research where access to eye tracking data would be beneficial (I'm aware of many existing discussions about this, but I was still wondering if there might be an option, particularly for research labs.) Thank you for your answer.
1
1
568
Aug ’24
Bluetooth peripheral failed to connect with status=702
Hello, I'm troubleshooting why my custom Bluetooth peripheral won't connect to my iPad. My Bluetooth peripheral is named "0471". I installed the Bluetooth profile and exported the system diagnostic logs from the iPad to troubleshoot the connection. Here are the relevant system logs from my iPad. 0471 connecting: default 2024-08-05 13:28:53.664196 -0500 bluetoothd Device connecting - {cbuuid: 0BB0FBE0-F708-23DD-B310-E487518668BE, devicename: Reader 0471, result: 0, adv-addr: 4C:5B:B3:85:CD:D6-Public, resolved-addr: } 0471 failure to connect: default 2024-08-05 13:28:53.987319 -0500 bluetoothd handleConnectionCompleteCallback address=Public 4C:5B:B3:85:CD:D6 handle=0x0 status=702 connectionIsActive=0, wakeupEvent=0 default 2024-08-05 13:28:59.673271 -0500 bluetoothd handleConnectionCompleteCallback address=Public 4C:5B:B3:85:CD:D6 handle=0x0 status=702 connectionIsActive=0, wakeupEvent=0 default 2024-08-05 13:29:08.684653 -0500 bluetoothd handleConnectionCompleteCallback address=Public 4C:5B:B3:85:CD:D6 handle=0x0 status=702 connectionIsActive=0, wakeupEvent=0 Another connecetion attempt to 0471 default 2024-08-05 13:29:18.985399 -0500 bluetoothd Device connecting - {cbuuid: 0BB0FBE0-F708-23DD-B310-E487518668BE, devicename: Reader 0471, result: 0, adv-addr: 4C:5B:B3:85:CD:D6-Public, resolved-addr: } 0471 failed to connect again default 2024-08-05 13:29:24.993122 -0500 bluetoothd handleConnectionCompleteCallback address=Public 4C:5B:B3:85:CD:D6 handle=0x0 status=702 connectionIsActive=0, wakeupEvent=0 default 2024-08-05 13:29:27.449115 -0500 bluetoothd handleConnectionCompleteCallback address=Public 4C:5B:B3:85:CD:D6 handle=0x0 status=702 connectionIsActive=0, wakeupEvent=0 default 2024-08-05 13:29:33.992337 -0500 bluetoothd handleConnectionCompleteCallback address=Public 4C:5B:B3:85:CD:D6 handle=0x0 status=702 connectionIsActive=0, wakeupEvent=0 State dump of 0471 default 2024-08-05 13:30:52.056771 -0500 bluetoothd statedump: 0BB0FBE0-F708-23DD-B310-E487518668BE → Public 4C:5B:B3:85:CD:D6, Adv.Name: "Reader 0471", LastSeen: 71.12s ago, CoexPriority: 2, DIS:Unavailable, EstablishedFastLeConnection:N, linkReadyDuration:0ms (added to WL 0.000 ago) disableDisconnect:0 useCase:23 scanDutyCycle screenON:0 screenOFF:3 pendingDelete:0 type:Other FindMy: default 2024-08-05 13:30:52.073019 -0500 bluetoothd statedump: 0BB0FBE0-F708-23DD-B310-E487518668BE → Public 4C:5B:B3:85:CD:D6, Adv.Name: "", LastSeen: 22881591 What does handleConnectionCompleteCallback's status 702 mean? Any leads on why the connection failed?
4
0
687
Aug ’24