There's a notification for a write, but no authorization message for a write. Why is this? It's a pretty significant departure from kauth.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
This may be a rather dumb question, but: if I want to use xpc (specifically mach messaging) to exchange data between a system extension (any sort) and my application, how do I do this? I think I keep getting confused at the launchd plist entries, but also trying to do both an extension and using Xcode's templating for XPC kept not working for me.
I know you can go the other way, but I'm curious if there is a way to start with Xcode and end up with CMakeLists.txt?
On three different machines (all running Xcode 13 and Big Sur), it always tells me that the command-line developer tools need to be installed. I've "installed" them four times so far on one machine, and at least twice on the other two.
A successful installation/activation can either be "yay it's done now!" or "wellllllll you need to reboot first but otherwise it's done yay!"
So what determines which of those two happens?
This may be dumb: on an Apple Silicon system, with a system extension that is examining / interfering with some process, one or both of them may be run under Rosetta. So if a helper tool (app, daemon, whatever) tries to get the kSecCodeInfoUnique for an application of a given name... will that be the same one seen by the extension? Or will it depend on whether any part of the triad is running under Rosetta?
I've got a preference that requires the app to restart to take effect, so I would like to quit it. Using NSApp.terminate(nil) doesn't do it. Everything I can search for seems to be talking about iOS (and being able to relaunch the app would be good for iOS, if that's a doable thing?).
Despite updating to the most recent Xcode repeatedly, I was never able to add a swift package using Xcode -- it would get stuck at validation and never get past that. I filed a feedback (and may have asked here? can't find it) and never heard back.
Today, I managed to figure it out, by creating a project on one machine (where it worked), and checking it out on one that didn't work. And when I tried to launch Xcode on the second machine... it told me that it couldn't use swift packages with a legacy build setting.
I changed that (long, long, long set) preference, and... suddenly it worked.
In case anyone else is as stubborn and ludditious as I am, and find this useful.
For a variety of reasons, some of which are no doubt due to poor life decisions, I don't want my application to start automatically on restart. Is there a way to exempt myself from that?
On Apple Silicon only. It's a bad dereference, address 0xbeadddaf65d0 which looks fake.
What does hardening do differently that might cause that, any ideas?
I had this a happen a long time ago, and I suspect that was due to the object not releasing due to its own retained objects. But now it's happening again.
Now, I know this happening because I logged the address of the object, and there are different values alternating in the log.
So my questions really are:
How can I prevent this?
How can I detect this?
xctrace --template Leaks identified this as a leak:
NSString *uuid = [NSString stringWithUTF8String:connectionID];
NSData *contentData = [NSData dataWithBytes:data length:length];
id<ConnexctionProtocol> proxy = [connection asyncConnectionProxy];
[proxy handleData:uuid data:contentData];
return;
(Which is to say: a few thousand objects show up in the Leaks pane, the stack for them goes up to the NSData creation, and Leaks apparently thinks it's never released.)
That doesn't look like it should be a leak, with ARC? Which probably means I'm doing something wrong?
Title says it all -- there are a couple of things we might do differently during upgrades, but also we'd like to know for our own statistics.
This is on macOS, so we can use /usr/bin/profiles, but I was curious if there was a way to tell programmatically that didn't involves system() or posix_spawn().
We include a root CA with our product. Is there a way to prevent a user from changing the trust settings?
I couldn't find anything, but as this is on the outer edge of my current knowledge set, it's just as likely that I missed something.
sef% mdls /Applications/Google\ Chrome.app/Contents/Frameworks/Google\ Chrome\ Framework.framework/Versions/112.0.5615.137/Helpers/Google\ Chrome\ Helper.app
kMDItemFSContentChangeDate = 2023-04-17 23:59:16 +0000
kMDItemFSCreationDate = 2023-04-17 23:59:16 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = 0
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = 0
kMDItemFSLabel = 0
kMDItemFSName = "Google Chrome Helper.app"
kMDItemFSNodeCount = 1
kMDItemFSOwnerGroupID = 0
kMDItemFSOwnerUserID = 0
kMDItemFSSize = 1
kMDItemFSTypeCode = ""
sef% mdfind 'kMDItemFSName == "Google Chrome Helper.app"'
So there's a metadata key that has a value... but mdfind won't find it. I haven't tried writing a small program to see if it would find it yet, although I am somewhat curious if it would.