This is with SDL2 and C++
Due to the new security design of Sequoia involving the sandboxed helper processes (via ViewBridge) to show open/save panels, my existing code for invoking Open/SaveAs/FolderSelect dialogs no longer works and instead terminates with ViewBridge Code=14 "(null)" error.
Even in the simplest of forms such as;
nfdresult_t NFD_OpenDialogN_With_Impl(nfdversion_t version,
nfdnchar_t** outPath,
const nfdopendialognargs_t* args) {
nfdresult_t result = NFD_CANCEL;
NSOpenPanel* dialog = [NSOpenPanel openPanel];
if ([dialog runModal] == NSModalResponseOK) {
result = NFD_OKAY;
}
return result;
}
...Will no longer work.
My Question is essentially, how can I resolve this NSUserDefaults domain empty/nil issue ( currently I don't pass anything for sharing defaults during the process ).
Dump of fault provided in crash.txt ( the program doesn't actually crash, it just doesn't invoke the file-open dialog )
crash.txt
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Yes, this is very likely the completely wrong way to do things but I would like to ask regardless.
Currently with windows/linux I can perform an in-situ upgrade of an application by performing a download of the binary 'foo' and then doing a rename-and-replace and subsequently requesting the licencee to restart the program and all is good.
With macOS, as the binary is within the foo.app ( Contents/macOS/foo ) I imagine I cannot perform a similar operation without breaking the signing of the foo.app itself?
....or, can I individually sign the binary foo for macOS and perform the same type of operation?
Download new foo as foo.new
rename current foo.app/Content/macOS/foo -> foo.old
rename foo.new -> foo
Restart application
Again, I know this is very likely an un-macOS way of performing the task but as you can imagine with supporting cross-platform development it's usually easier to maintain a consistent method even if it's "not ideal".
Topic:
Code Signing
SubTopic:
General