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

Nfc session
I notice that there are two types of nfc session: "NFCTagReaderSession" this session in order to get tag's basic info like uid/type which call back function is tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) "NFCNDEFReaderSession" this session in order to get ndef message in tag which call back function is readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) My problem: How can i get tag's basic info and tag's ndef message(if it exists) simultaneously in one session or in one callback function.
1
0
85
2w
Native Crash - Unknown Function (/usr/lib/system/libsystem_kernel.dylib) Unknown Function (/usr/lib/system/libsystem_kernel.dylib)
Hi, I encountered the following error while trying to launch a video game developed with Unity and running on an iPhone 12 and iPhone 16 Pro. Native StackTrace: Thread 2 (crashed) 0 libsystem_kernel.dylib 0x00000001d40102ec <symbols missing for uuid: 21ee5290d1193c31b948431865a67738> 1 libsystem_c.dylib 0x000000019330fba0 <symbols missing for uuid: 7135c2c8ba5836368b46a9e6226ead45> 2 UnityFramework 0x000000010e7bc744 <symbols missing for uuid: 4c1540b0ca733555aa69fc3e514204a3> 3 UnityFramework 0x000000010dc1c22c <symbols missing for uuid: 4c1540b0ca733555aa69fc3e514204a3> 4 UnityFramework 0x000000010cc26da4 <symbols missing for uuid: 4c1540b0ca733555aa69fc3e514204a3> 5 CoreFoundation 0x000000018b4af984 <symbols missing for uuid: 76a3b1983c09323e83590d4978e156f5> 6 libobjc.A.dylib 0x0000000183277140 7 libc++abi.dylib 0x00000001e7d20068 8 libc++abi.dylib 0x00000001e7d2000c 9 libdispatch.dylib 0x0000000193256de8 <symbols missing for uuid: 5f66cdb608a936158c6a4e3b47005495> 10 libdispatch.dylib 0x000000019325e400 <symbols missing for uuid: 5f66cdb608a936158c6a4e3b47005495> 11 libdispatch.dylib 0x000000019325ef30 <symbols missing for uuid: 5f66cdb608a936158c6a4e3b47005495> 12 libdispatch.dylib 0x0000000193269cb4 <symbols missing for uuid: 5f66cdb608a936158c6a4e3b47005495> 13 libdispatch.dylib 0x0000000193269528 <symbols missing for uuid: 5f66cdb608a936158c6a4e3b47005495> 14 libsystem_pthread.dylib 0x00000001e7e00934 15 libsystem_pthread.dylib 0x00000001e7dfd0cc
4
0
79
2w
Java and gatekeeper
We're trying out using a 3rd party java applet as part of our suite, but we're getting inconsistent results that seem to be related to signing. "Fortunately," I can trivially reproduce it! It pops up a dialogue saying "Apple could not verify “java” is free of malware that may harm your Mac or compromise your privacy"; if I click through the dialogue and the system settings, it then does the same for each of the dylib files. The file seems to be signed, so is this a matter of it not being notarized? Will we have to sign and notarize them all on our own?
3
0
53
2w
Mount an FSKit volume
Hello, I'm playing around with the FSKit API and I'm looking for programmatic ways to mount a file system backed by an FSKit extension. Currently, I could only find the new -F option in the mount command but I would prefer if I could avoid executing comman line tools. I checked the DiskArbitration framework but couldn't find anything specific for FSKit there. Thanks
1
0
86
2w
Selecting "On My iPhone" folder in Files
I have an iOS app that allows user to select a folder (from local Files). User is seemingly capable selecting the "On My iPhone" folder (the "Open" button is enabled, clickable and when it is tapped the app gets the relevant URL) although there's nothing in that folder apart from ".trash" item. Is selecting that folder not supported? If not why is the "Open" button enabled on that level to begin with?
4
0
85
2w
iOS folder bookmarks
I have an iOS app that allows user to select a folder (from Files). I want to bookmark that folder and later on (perhaps on a different launch of the app) access the contents of it. Is that scenario supported or not? Can't make it work for some reason (e.g. I'm getting no error from the call to create a bookmark, from a call to resolve the bookmark, the folder URL is not stale, but... startAccessingSecurityScopedResource() is returning false.
24
0
207
2w
iOS 26 beta - NFCPaymentTagReaderSession usage
Hi - from the NFCPaymentTagReaderSession documentation on https://developer.apple.com/documentation/corenfc/nfcpaymenttagreadersession , it's not clear how it should be used to communicate with a payment tag, since the initial SELECT command is handled by NFCPaymentTagReaderSession automatically. Generally in a payment context, the SELECT response from the payment tag would contain necessary data for subsequent exchanges. Could you please help me understand how to receive the SELECT response from NFCPaymentTagReaderSession? Thank you for your help.
2
0
106
2w
NSLog doesn't work on iOS 26 when the app is installed from TestFlight
I've noticed that NSLog() doesn't do anything on iOS 26 when an app is downloaded from TestFlight. I've got an app uploaded with a liberal sprinkling of NSLog lines in it for debugging purposes - if I download that onto an iOS 18 devices, and use Apple Configurator's console or the Mac's console app, then the logging output is verbose and as expected. But if I download that same app onto an iOS 26 handset, there's nothing. Logging is visible in the Xcode console, however sometimes there are situations where you need console logging with a TestFlight build. What happened? Was this an intentional change? Why. This is a major hindrance in diagnosing issues / bugs etc.
3
0
89
2w
VNOP_MONITOR+vnode_notify() operation details
After perusing the sources of Apple's SMB and NFS clients' implementation of VNOP_MONITOR, my understanding of how VNOP_MONITOR+vnode_notify() operate is as follows: A user-space process advertises an interest in monitoring a file or directory via kqueue(2)/kevent(2). VFS calls the filesystem's implementation of VNOP_MONITOR. VNOP_MONITOR forwards the commencing or terminating of monitoring events request to the filesystem server. Network filesystem client nodes call vnode_notify() to notify the underlying VFS of a filesystem event, e.g. file/directory creation/removal, etc. What I'm still vague about is how does the server communicate back to client nodes that an event of interest has occurred? I'd appreciate being enlightened on the operation of `VNOP_MONITOR+vnode_notify()' in a network filesystem setting.
1
0
78
2w
Matching between raw and APFS disk number
Hello, I have a raw device number, as an input, for external usb/thunderbolt device (i.e. for /dev/disk9 - it is 9). And I want to format it to APFS or read/confirm APFS FS type if it is already formatted. But I can see that APFS container/volume have another disk number (i.e /dev/disk10) in compare with for my raw disk. Is there a guaranteed way to match raw disk number to underlying APFS container/volume disk number? May be some API? Or just add +1 to raw disk number for getting APFS container/volume disk device number?
1
0
93
3w
NSFileProviderManager.getDomainsWithCompletionHandler fails with error
I am writing an NSFileProviderExtension for my app. Every once in a while it will get to a point where NSFileProviderManager.getDomainsWithCompletionHandler { domains, error in DispatchQueue.main.async { if let error = error { completion(.failure(.domainQueryFailed(error))) } else { completion(.success(domains)) } } } this always fails, once this happens then regardless of what I do - clean build, restart machine, uninstall plugin nothing works. The only way to get back to a wokring state is a full reinstall of the OS. It seems like when this happens Finder gets to a weird irrecoverable state that only a restart can fix. Is there anything I can do to address this? I have a laptop which is in this state. Finder has this image attached
4
0
114
3w
Unable to discover the BLE device which is in range
We have iOS application to connect and monitor the Wiser smart devices. This application supports WiFi access point change as well. When there is change in the WiFi, wiser devices supports for 3mins BLE mode for re-pairing. When BLE devices are newly commissioning, all devices are being able to discover by CoreBluetooth. But when we try to change the WiFi, Previously connected BLE devices are not being discoverable though they are in pairing mode.
2
0
199
3w
es_event_open_t fflag showing O_SEARCH instead of FREAD/FWRITE on macOS 26 beta 4
Hello, Starting with macOS 26 beta 4, I’ve noticed that the fflag field in es_event_open_t sometimes contains O_SEARCH instead of the expected FREAD or FWRITE values. According to the documentation, fflag should represent the kernel-applied flags (e.g., FREAD, FWRITE), not the open(2) oflag values. However, in my tests, when intercepting ES_EVENT_TYPE_AUTH_OPEN events, the value appears to match O_SEARCH in certain cases. Is this an intentional change in macOS 26, or could it be a bug in the current beta? If this is expected behavior, could you clarify under what conditions O_SEARCH or some oflag are returned? Environment: macOS 26 beta 4 Endpoint Security Framework Thanks in advance for any clarification!
3
0
57
3w
Missing received Events in Apple Card Session – APDU Communication Issue
Hello, I’m a developer at an IT service provider in the banking sector. In the context of an HCE-based payment solution on iOS, we use the Apple Card Session API to receive and process APDU commands. We are currently facing an issue with a specific payment terminal model (CCV): When using this terminal, the Apple Card Session correctly triggers the readerDetected and readerDeselected events, but does not fire the expected received event, even though APDU commands are clearly being sent at the protocol level. This behavior only occurs with this particular CCV terminal in our implementation – with other terminals and on Android devices, the received event is triggered reliably. The same CCV terminal also works without issues when using Apple Pay or PayPal (which also uses HCE → Card Session), and APDU data is transmitted as expected in those cases. Interestingly, in our implementation, roughly every 10th to 20th transaction with this CCV terminal does trigger the received event and APDU commands are delivered — in those rare cases, the payment proceeds successfully. In the system logs, we sometimes see APDU commands marked as invalid, but this also happens in cases where communication works fine, so we’re not sure whether this is actually related to the missing events. Our questions: Has anyone encountered this behavior before – specifically missing received events despite active communication from the terminal? Are there known limitations or specific requirements for payment terminals so that APDU commands are passed through to the Apple Card Session? Are there any diagnostic tools or logs we could use to better narrow down the root cause? At this point, we are unsure whether the issue lies in terminal compatibility, the Apple Card Session itself, or our implementation. Any insights, experiences, or technical hints would be greatly appreciated. Thanks in advance for your help!
1
2
61
3w
Help with storage on my Mac
I know you guys probably dont care or what to help with this but I got taken down in the support communities because I simply run a beta version (didn’t even discuss it) but here we go **My MacBook Air has multiple accounts and the other users & shared category takes up 100+ gb. When I sign into one of the accounts, that 100+ gb gets moved to System Data. When I look in finder, the user only seems to take up 12 gb, though. I’ve shown hidden items and looked through the library, but it’s not showing anything that’s taking up that much space! **
3
0
56
3w
libiconv crashes on iOS 18, iOS 16 beta and macOS 15 for certain combinations of strings and encodings
When converting a string using libiconv, for certain combinations of strings and encodings, sometimes iconv() crashes Assertion failed: (tmpin - *in &lt;= *inbytes), function _citrus_iconv_std_iconv_convert, file citrus_iconv_std.c, line 1916. This means that libiconv is a debug build since it asserts and also that it doesn't handles certain characters, it should not crash but return some error code. I've reported this problem twice to Apple, nothing happens. FB17715360 and FB17567155 Below is a simple code snippet that illustrates the problem: #include &lt;iconv.h&gt; #import &lt;Foundation/Foundation.h&gt; void TestLibIconv() { NSLog(@"Convert a string from some encoding to some other"); NSLog(@"The in string may have some unknown encoding"); const char *inEnc = "SHIFT_JIS"; // Japanese //const char *inEnc = "CP1252"; // works const char *outEnc = "UTF-8"; NSLog(@"inEnc %s outEnc %s", inEnc, outEnc); iconv_t cd = iconv_open(outEnc, inEnc); if (cd != (iconv_t) -1) { #if 1 // works when this flag isn't set int on = 1; // allow illegal byte sequence iconvctl(cd, ICONV_SET_DISCARD_ILSEQ, &amp;on); #endif const size_t m_kMaxOutChars = 200; char outBuffer[m_kMaxOutChars+1]; memset(outBuffer, 0, sizeof(outBuffer)); char inStr[] = "\"\xe5\""; // crashes - the '\"' character seems to be the problem size_t inbytesleft = strlen(inStr); size_t outbytesleft = m_kMaxOutChars; char *pInBuf = inStr; char *pOutBuf = outBuffer; size_t retVal = iconv(cd, &amp;pInBuf, &amp;inbytesleft, &amp;pOutBuf, &amp;outbytesleft); NSLog(@"iconv() returns %ld", retVal); NSLog(@"outBuffer %s", outBuffer); iconv_close(cd); } }
2
0
140
3w
iOS swift BLE updateValue() without PeripheralManagerIsReady
I want to fully control the BLE send timing myself, instead of relying on the iOS system. When I try to send a large data block using BLE (i.e., splitting it and sending multiple times), I follow Apple’s official guide. However, after the first successful updateValue() call in my loop, the second call always fails unless I wait for the peripheralManagerIsReady(toUpdateSubscribers:) callback. This callback timing is managed by the system, so I can’t control exactly when I can send the next packet. If I send data manually by clicking a button, updateValue() always returns true—even if I add a long delay (like sleep(10)) between calls. But in a loop, after the first send, updateValue() returns false until the thread leaves or the callback occurs. I suspect this is a thread or queue issue blocking subsequent sends. I also tried using DispatchQueue.global().async {} in the loop, but the result is the same. Is there any way to fully control when I call updateValue(), without waiting for peripheralManagerIsReady()? Or is this a limitation of iOS BLE? Thank you!
1
0
102
3w