If anyone is interested in wrapping ObjC commands in lcb I would definitely give his LCG 22/23 session a listen.Access Manager uses Oracle Coherence to replicate session states within a distributed installation. This was also the subject of a LC Global 22/23 session called Problem Solving with Panos (January 2023) where he goes into more detail on how this lcb extension was created. There is an apple ObjC routine for determining if any app is running and Panos was kind enough to wrap this in a LC extension called checkSafari which returns true if Safari is running or false otherwise. In discussion with LC it appears they do not use the "safe save" architecture so I moved on to seeing what the options where for detecting if Safari was active or not. I just realised I left this old discussion dangling without further followup. ![]() I'll have more to say on both as I get a chance to work through them. Guaranteeing the file is never accessible in an "intermediate" state. Note that the safe save architecture helps ensure this by Generally get a "coherent" file copy even if the app is running at the Particularly on APFS, this sort of copy is basically atomic, so you'll I do have further information from Apple on (1) how to determine if an app is running or open on the device (and no, it does not involve The only difference is, that for sandboxed apps you have to include the entitlement in the build. So, instead of full disk access, this "user-selected-file" access works for both sandboxed and non-sandboxed apps. In other words, in an app shipped outside the Mac app store, if you present the user with a dialog that selects a file, that file becomes available in the future for the user to access. Finally, you can't use the entitlement outside a sandbox, but I tried the same code to provide user access in an app built for use outside the App Store and it worked. Not something I know how to do at the moment, but I will look into it further as time permits.ĥ. It's not something I've dived into yet and it looks like a fair number of "calls" will need to be made to either API's or system level commands. For those interested, the directions are provided here. ![]() Minor inconvenience at this point but there is a more permanent solution in the use of something called a "security scoped bookmark" that you can set for the file. It is rather short lived access however, which requires the user to select the file each time the app is launched. However, by pointing an Open File dialog at the /Library/Safari/ folder and having the user select the "ist" file, this effectively provided authorisation for the user to have access to the file.Ĥ. In my app I was just trying to access "ist" in the Safari folder directly and Apple prevented that. You can get an entitlement (as noted in the code bit above) to gain access to "user selected" files. I am going to discuss just one here, since it was the first one I tried and it worked. There are several different ways you can get access to files outside the sandbox. ![]() It wasn't, they provided lots of information on how to do this.ģ. First off, I did tell them I was trying to modify the Safari bookmarks file just in case that was a no-go for them. They turned out to be very helpful on a lot of fronts. Still, I wanted to try the App Store route so raised a Tech Support Incident with Apple. So doing full disk access is only possible outside the App Store.Ģ. "Full disk access" is not an available entitlement. When Apple sandboxes your app it turns off all "entitlements" and lets you add them back one at a time. There is no entitlement for "Full Disk Access". Let me see if I can explain it clearly.ġ. This is just an update to indicate I have this sorted out, I think.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |