Hello, experts!
During a VOIP call, the following happens:
device 1 makes a call to device 2
device 2 deliberately does not receive the call
some time passes, timeout is triggered and the call is terminated with CXCallEndedReason = remoteEnded, as evidenced by a line in the logs of the incoming call:
`[info] reportCallWasEnded callId=[***-***-***], reason=[CXCallEndedReason(rawValue: 2)].`
What is the reason why CXEndCallAction may be called from CXProviderDelegate even though the call was not manually terminated by clicking on the “End Call” button
Core OS
RSS for tagExplore the core architecture of the operating system, including the kernel, memory management, and process scheduling.
Post
Replies
Boosts
Views
Activity
Hi,
I'm building a Virtual Machine Manager on top of Hypervisor Framework and having a problem with hv_vcpu_run never return somehow. I tested the same code on Asahi Linux using KVM and everything are working correctly. I really have no idea what I'm doing wrong here.
How I setup a vCPU: https://github.com/obhq/obliteration/blob/main/gui/src/vmm/aarch64.rs
How I use the Hypervisor Framework: https://github.com/obhq/obliteration/blob/main/gui/src/vmm/hv/macos/cpu.rs#L402
Thanks in advance.
Previously, I used to have the below code to get workgroup / domain name of the active directory service provider.
SCDynamicStoreRef storeRef = SCDynamicStoreCreate(NULL, (CFStringRef)@"GetWorkgroup", NULL, NULL);
CFPropertyListRef global = SCDynamicStoreCopyValue (storeRef,CFSTR("State:/Network/Global/SMB"));
id workgroup = [(__bridge NSDictionary *)global valueForKey:@"Workgroup"];
On few Macs (probably starting from Sonoma), the workgroup property is not set. What is the alternative to get this information programatically?
Documentation is sparse on this and it doesn't help that Apple's version differs from POSIX.
I know to specify ACL_TYPE_EXTENDED for acl_get_file() and know how to cycle through entries. From what I can tell, the tag is either ALLOW or DENY and you can check the permset for which actions the tag applies to.
I can't figure out how get the group or user the entry applies to. The only way I've been able to get this info is by using acl_to_text and scraping that output. Anyone know how to do this using the acl APIs?
On the OS18 build in Xcode16 of my app, user is no longer asked for bluetooth permissions.
On the current market build, the user is asked for bluetooth permissions at startup along with Siri and notifications permissions. The siri and notification prompts still display, but not the Bluetooth.
I can't find any bluetooth permission related changes in hte release notes and nothing in the code or the info.plist has changed and "Privacy - Bluetooth Always Usage Description" is listed as expected.
I now get a "Allow "xxxz" to find devices on local networks?" But not the Bluetooth permission dialog.
Does anyone know why this is happening or how to fix it?
Hello,
I am developing an application that involves writing data to RFID tags using NFC (ISO/IEC 14443A/B, Mifare, and FeliCa standards) for an electric vehicle charging station. However, I am consistently facing an issue where the Apple Wallet app is automatically triggered during NFC operations on iOS. This problem occurs every time I attempt to write data to the RFID tags, preventing the application from properly detecting or interacting with the NFC tags.
Here are the key details of the issue:
Device: iPhone (tested on various models and iOS versions)
Issue: Apple Wallet automatically opens during NFC tag writing operations.
Expected Behavior: My application should write data to RFID tags without triggering Apple Wallet.
RFID Standards: ISO/IEC 14443A/B, Mifare, FeliCa.
Code Implementation: I am using the Core NFC framework and NFCISO14443ReaderSession to communicate with the RFID tags. The same code works seamlessly with Android devices, but iOS continuously triggers the Wallet app.
Here’s a brief code snippet that demonstrates the problem:
import CoreNFC
func startNFCSession() {
let session = NFCISO14443ReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)
session?.alertMessage = "Hold your iPhone near the NFC tag."
session?.begin()
}
func readerSession(_ session: NFCISO14443ReaderSession, didDetect tags: [NFCISO14443Tag]) {
guard let tag = tags.first else { return }
session.connect(to: tag) { (error: Error?) in
if let error = error {
session.invalidate(errorMessage: "Connection failed: \(error.localizedDescription)")
return
}
// Write data to the tag here
// The Wallet app opens instead of allowing data writing.
}
}
I've taken steps to ensure that I am not using NDEF tags, as I understand that may interfere with the Wallet functionality. Despite using the lower-level NFCISO14443ReaderSession API, the issue persists.
I’ve also tried disabling all Wallet settings on the device, but the problem still occurs. Additionally, no such issues are experienced on Android devices with similar functionality, so it appears to be an iOS-specific problem.
Is there a way to prevent Apple Wallet from being triggered when using Core NFC to interact with RFID tags?
Any assistance or guidance on how to solve this issue would be greatly appreciated, as this is a critical feature for the functionality of the electric vehicle charging station system we are building.
Thank you in advance!
According to Technical Note TN2083 the Window Server advertises itself in the global bootstrap namespace, which is why you can launch GUI applications from SSH sessions, even if sshd/sshd-keygen-wrapper is launched as a launch daemon (in a non-GUI per-session bootstrap namespace).
As I understand it this is also why SessionGetInfo() reports NO for sessionHasGraphicAccess, as the SSH session is not an Aqua session type, while CGSessionCopyCurrentDictionary() does return a valid dict, because in practice you have access to the window server.
However, the tech note advices against running GUI programs from SSH sessions, as other GUI services may not be exposed to the global or non-GUI per-session bootstrap namespace. It uses com.apple.dock.server as an example of such a service, showing how Activity Monitor has different behavior when launched via SSH than via the UI.
Based on the advice of the tech note, articles like https://aahlenst.dev/blog/accessing-the-macos-gui-in-automation-contexts/ recommends running CI UI tests via a Launch Agent instead of SSH.
Now, I've tried to reproduce the the Activity Monitor case on macOS 12 and macOS 15, and I can not reproduce the missing Dock features. The Testing with Xcode documentation also says that:
By default, when you use ssh to login to an macOS system that has no active user session running, a command-line session is created. To ensure that an Aqua session is created for an ssh login, you must have a user logged in on the remote macOS host system. The existence of a user running on the remote system forces Aqua session for the ssh login. Once there is a user running on the host system, running xcodebuild from an ssh login works for all types of tests.
Which begs the question: Does modern macOS versions expose GUI services to the global or non-GUI per-session bootstrap namespace, or otherwise enable UI testing from SSH sessions, so that UI tests can safely be run from SSH sessions (as long as the user is logged in to the remote system's UI). Has things changed in this regard?
Any help?
Translated Report (Full Report Below)
Process: PokerStars [2219]
Path: /Applications/PokerStars.app/Contents/MacOS/PokerStars
Identifier: com.pokerstars.PokerStars
Version: 70.813 (70.813)
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2024-09-30 11:40:02.5034 +0200
OS Version: macOS 15.0 (24A335)
Report Version: 12
Bridge OS Version: 9.0 (22P353)
Anonymous UUID: 4748D711-22F5-94D6-9366-54F5DEB78692
Time Awake Since Boot: 2800 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000017f7cb461
Exception Codes: 0x0000000000000001, 0x000000017f7cb461
Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process: exc handler [2219]
VM Region Info: 0x17f7cb461 is not in any region. Bytes after previous region: 1385022562 Bytes before following region: 105546682420127
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
CG raster data 12c800000-12ceef000 [ 7100K] r--/r-- SM=COW
---> GAP OF 0x5ffed3111000 BYTES
MALLOC_NANO 600000000000-600020000000 [512.0M] rw-/rwx SM=PRV
iOS now has a pre-build closure optimization for launch, so how do I know if my app launches with a pre-build closure optimization?
In what way can I check that my application has a pre-built closure at startup?
I'm observing all sorts of race conditions occurring in various VNOPs my custom filesystem implements.
I'm inclined to attribute this to my implementation not following the locking rules expected by the system of a 3rd party filesystem as well as it should.
I've looked at how locking is done in Apple's own implementation of Samba and NFS clients.
The Samba client uses read/write locks to protect its node from data races.
While the NFS client uses mutex locks for the same purpose.
I realised that I don't have a clear model in my head of how locking should be done properly.
Thus my question, what are the locking rules for VFS and VNOP operations?
Thanks.
I'm the developer of Camera RawX (avail on the Mac App Store).
I'm working on Camera RawX for iOS to provide Quick Look support for camera RAW files not supported by iOS.
I use the Files app to open a RAW file to invoke Quick Look on my iPad (it is running iOS 17.6.1).
The RAW file in question is a Fuji compressed RAF file.
When I tap on the RAF file, iOS opens the Quick Look window, but my app's Quick Look extension is not called.
If the RAW file in question is a Sigma Foveon X3F file, a file that has no native Apple RAW support, then my Quick Look extension is called and I'm able to display the image in the Quick Look window without issue.
It seems that a system recognized RAW file extension (RAF in this case), is not triggering my Quick Look extension. On the macOS, this works fine without any issue.
The strange thing is that my Thumbnail extension is being called when the RAW files show up in Files. Even if it is a RAF file. So it seems like a bug to me or am I missing something crucial in my Info.plist file?
Albert
Device name: iPhone 15 Pro Max
Purchase date: January this year
Usage: The following problems never occurred before upgrading to iOS18.1 beta4 and 5
Current system version: iOS 18.1 beta 5 (22B5054e)
Current status: System stuck, unable to operate, abnormal heating, battery capacity reduced by 1% after upgrading to beta5
Detailed description: My phone has been in normal use since purchase, and I have never downloaded or installed cracking tools or files from unknown sources. I concluded that the problem was caused by upgrading the beta version of the ios system. During a period of time when using ios18 beta 4, the phone suddenly became inoperable, the screen failed intermittently, and the failure time became longer and longer. Specifically, the app cannot be operated, and there is no response to sliding up and down, left and right, clicking, touching, and long pressing (almost all APPs, not an exception). In recent days, I found that this phenomenon of the phone seems to be related to charging. Every time it is fully charged, it will not be able to operate when the device is turned on. The iPad and iPhone have the same reaction. During the period when the device is unresponsive, iCloud cannot be synchronized normally, the phone heats up, the software crashes, white dots appear on the edge of the screen (just like a bad pixel on the screen), the video cannot be loaded, and a series of problems.
Supplement: Which version can solve these problems? How to return to the official version without flashing? Can I receive version push normally by turning off the beta test switch?
Feeling: Since I did not make a full backup of the lower version, I hope that iOS18.1beta5 will solve the problem. Unfortunately, it is still not solved in beta5, and the problem is getting worse. My phone is now a brick and cannot be used normally. This accident is the first time I have encountered such a serious problem since I used Apple devices. I am very disappointed. I hope Apple engineers can fix it as soon as possible.
I'm having a problem launching an iOS app。Appeared on individual iOS 18 and iPhone 16。
The real-time log displays the following errors:
Sep 26 18:51:58 hetieweideiPhone SpringBoard(FrontBoard)[3869] : Bootstrapping failed for <FBApplicationProcess: 0x7c898ad00; app<cn.com.***>:> with error: <NSError: 0x303c0e6d0; domain: RBSRequestErrorDomain; code: 5; "Launch failed."> {
NSUnderlyingError = <NSError: 0x303c0d590; domain: NSPOSIXErrorDomain; code: 85> {
NSLocalizedDescription = Launchd job spawn failed;
};
}
20240926_185203_474_iPhone.log
Hi,Regarding FileProvider, I know it has a permission authorization pop-up to control whether to open the FileProvider extension in the application settings
But when I first used it, the switch was turned off by default. I noticed that some applications can pop up an authorization pop-up to prompt the user to turn on this permission
I would like to ask what API this authorization pop-up is displayed through
I expect the authorization pop-up window to pop up as shown in the following picture
Thanks
We recently started encountering a perplexing crash when we build our iOS application to device:
Termination Reason: DYLD 1 Library missing
Library not loaded: /usr/lib/libc++.1.dylib
Referenced from: <2A9D8B8D-E81E-3FEC-A4B7-1EA4841CFC4F> /Volumes/VOLUME/*/Walmart.app/Walmart
Reason: tried: '/usr/lib/libc++.1.dylib' (no such file), '/private/preboot/Cryptexes/OS/usr/lib/libc++.1.dylib' (no such file), '/usr/lib/libc++.1.dylib' (no such file, no dyld cache)
(terminated at launch; ignore backtrace)
Highlighted by Thread: 0
See attachment for full crash log.
We've been spinning our wheels trying to understand why this could be happening.
We've had the OTHER_LDFLAGS= -lc++ for some time now and we tried linking libc++.1.tbd to no avail.
Any help?
Walmart-2024-09-26-154332.ips
In our onboarding sequence we inform the user that Siri is required and to set it up if they have it off. We have a link that takes us to the root of the Systems tree, but have been unable to get it to launch into the Siri prefs itself, using a scheme that's widely available on StackOverflow, GitHub and so on.
ChatGPT says it can't be done as of 2022. I see a list on GitHub of the domains that was last updated just a year ago, suggesting that at least as of 17 it "should" work.
Another place said Apple would bounce apps which attempt to do that (we have the recommended URL string already in there which should have been detectable by their scans, and have not been bounced due to that so far).
We have a push-to-talk client, Part of Push APNS, app never received the BG task expiry.
The app is suspended.
Received Push-To-Talk APNS
Here requested a BGTask and it got successfully registered
Since it is a PTT call path, it ended immediately(via code) due to internal restrictions Ex: DND mode for client specific. The client allowed BG time more than 30 seconds and looks client has been suspended but Never received a BG task expiration handler from OS
In sys diagnose logs confirmed, BGTask registered successfully
2024-09-03 16:18:47.331890 +0530 default AT&T EPTT : Created background task .
But never got fired expiration handler.
Feedback - FB15145380
It crashes any app including System Preferences or etc.
Below is an example of crash log with my own app.
2024-09-26_15-05-07.3244_+0800-b0897577a4d8c61bb9452bf8ae1f2a0ca097aabc.crash
Last Exception Backtrace:
0 CoreFoundation 0x19fa6508c __exceptionPreprocess + 164 (NSException.m:249)
1 libobjc.A.dylib 0x19cd672e4 objc_exception_throw + 88 (objc-exception.mm:356)
2 CoreFoundation 0x19fa29140 -[__NSArrayM objectAtIndexedSubscript:] + 592 (NSArrayM.m:309)
3 UIKitCore 0x1a2fb6554 -[UIInputSwitcherView localizedTitleForItemAtIndex:] + 32 (UIInputSwitcherView.m:860)
4 UIKitCore 0x1a2fbda68 -[UIKeyboardMenuView customizeCell:forItemAtIndex:] + 384 (UIKeyboardMenuView.m:1392)
5 UIKitCore 0x1a2fb68ac -[UIInputSwitcherView customizeCell:forItemAtIndex:] + 88 (UIInputSwitcherView.m:914)
6 UIKitCore 0x1a2fb681c -[UIInputSwitcherView tableView:cellForRowAtIndexPath:] + 192 (UIInputSwitcherView.m:907)
I have a program that creates a TCP server socket and listens on it.
When the program accepts a connection from a client, it calls poll(2) repeatedly to see if there is any input available, like this:
for (int i = 0; i < 1000000; i++) {
struct pollfd fds[] = {{ .fd = clientfd, .events = POLLIN, .revents = 0 }};
int r = poll(fds, 1, 0);
if (r < 0) {
perror("poll");
exit(1);
}
}
On my Intel iMac, this takes about 15 seconds. If I use select(2) instead, as follows, it takes about 550ms.
for (int i = 0; i < 1000000; i++) {
struct timeval timeout = { .tv_sec = 0, .tv_usec = 0 };
fd_set infds;
FD_ZERO(&infds);
FD_SET(clientfd, &infds);
int r = select(1, &infds, 0, 0, &timeout);
if (r < 0) {
perror("select");
exit(1);
}
}
https://gist.github.com/xrme/cd42d3d753ac00861e439e012366f2cf is a C source file that contains a complete example.
If you're inclined to take a look, please download the file from the gist and do cc poll-test.c and then ./a.out. Connect to it with nc 127.0.0.1 6444 and observe that it will take quite a while. (Activity Monitor will show a large number of "idle wake ups", but I'm not clear what that signifies.)
Recompile with cc -DUSE_SELECT, run ./a.out and connect again, and it will complete in under a second.
Advisability of this usage aside (which is adapted from a much larger system), is there anything here to be done to make poll faster? Other systems I have looked at (FreeBSD, OmniOS, Linux) do not exhibit the same slowdown with poll.
A message filter extension is only forwarded SMSs by the OS for filtering, iMessages aren't.
But what is the situation with RCS messages? Will they be filterable by a message filtering extension?