I already filed a bug report FB11944561 in January 2023 mentioning this issue and just filed another explicit issue FB12224338. Since Apple is aware of this problem, I don't think anybody should use a TSI, or buy extra TSIs, to get a solution.
Post
Replies
Boosts
Views
Activity
Thanks, it worked! I had wrongly assumed that leaving kSecAttrSynchronizable away from the copy call would automatically match all existing entries, but the documentation actually explains this.
I just added the elements in the storyboard and implemented NSTableViewDataSource.numberOfRows(in:). Not sure what you mean with "right parts of the protocols".
This is a similar issue to my other thread, but not really related. This issue I can reproduce on my own Mac, and everyone else probably could as well.
The output of ls -l for the source directory: total 0. For the destination directory: total 0 -rw-r--r--@ 1 nicolaskick staff 0 8 Apr 11:56 destination.
What other APIs would you use?
Thanks for your help. During my own tests I could never reproduce an error, regardless whether the permissions were successfully set (on my boot drive) or not (on the external exFAT drive). I would just like to avoid attempting to set the permissions if it will result in an error. Do you think checking for ‘.volumeSupportsExtendedSecurityKey’ should be enough? In my case it returns ‘false’ but attempting anyway doesn’t result in an error, but maybe it would avoid errors on other systems?
Thanks for your input. I would also rather use FileManager, but not all file properties I need are available on all macOS versions I'm currently supporting. In particular, the file identifier or inode, URLResourceKey.fileIdentifierKey, was only recently added in macOS 13.3, almost 3 years after I filed the enhancement request with Feedback Assistant.
I understand that it would be sufficient to pass one of those structs to readUnaligned. What would be the correct way of importing them?
It works, thank you! I didn't try the most simple thing because I assumed that the arguments would not be parsed correctly, but I was wrong.
Thanks, those arguments solve the issue.
I'm writing a test to create screenshots for all the localizations, one after the other. From what I know and see in the linked page, a test plan allows to set a custom language, but doesn't allow to go through all the localizations, right?
Thanks for your help. I forgot to mention that I'm running that code from inside the main app, with the data forwarded from the extension. I'm using SecCodeCopyPath now, but there still seem to be processes that do not return a path, like trustd, rapportd, nsurlsessiond and timed. Is there an explanation for that? Also I don't understand why apps returned a path and executables didn't, if the app sandbox should prevent me from accessing anything on disk.
Thanks. Using an empty rule set and NEFilterActionFilterData is what I need.
I had filed FB12039403. Since in the past the engineers asked me to close many bug reports and open a new one just to update the documentation, I now ask at the end of a bug report that if the documentation is wrong, to update it without the need of opening an additional report. I did that here as well.
That was the first workaround I also thought of, but unfortunately each item represents a filename, so they may not be unique. But after your suggestion of setting the url I tried explicitly removing the first item from pathItems (the one for Macintosh HD) and it seems to work. The question then would be if there's a way to create a url only with the provided string components, because I'm not sure if blindly removing the first item is future-proof.
Thanks again. As I show in my answer below, subclassing doesn't work and didSet is only called once on initialization. Perhaps it's just a wrapper of some internal properties.
Since I want to display a virtual path it's not easy to simply use URLs. The closest I got to only displaying the parts that I need is using pathControl.url = URL(fileURLWithPath: "asdf/asdf/asdf", relativeTo: URL(fileURLWithPath: "/")), but then Macintosh HD is always shown as the first item.
Thanks for your suggestion. I tried it with the following modification, since otherwise the implicit animations would collide with my own:
SCNTransaction.begin();
SCNTransaction.disableActions = true;
SCNTransaction.animationDuration = 0;
/* do the transform */;
SCNTransaction.commit();
Although it mitigates the issue with my private project, the sample project still doesn't work as expected.
Of course I already submitted a feedback, but unfortunately I haven't been lucky with SceneKit feedbacks in the past.
That's the incredible thing: sender.pathItems.firstIndex(of: sender.clickedPathItem!) always returns nil, even if the clicked path item has the same address as the corresponding item in the path items array. Even sender.pathItems.firstIndex(where: { $0.description == sender.clickedPathItem!.description }) returns nil. And when executing that print statement more than once one after the other, each item always has a different address.