开发者

Remove Sandboxing

开发者 https://www.devze.com 2023-03-27 11:09 出处:网络
I have another question dealing with app sandboxing. So I need access to the users\' home directory and at the same time the app should be able to shut down the Mac. This requires to not using sandbox

I have another question dealing with app sandboxing. So I need access to the users' home directory and at the same time the app should be able to shut down the Mac. This requires to not using sandboxing.

My problem is that I don't know how to remove sandboxing and being able to submit the app to the Mac App Store. I think that the 开发者_C百科archives are sandboxed because I had turned it on once..

How to remove sandboxing from the archives properly?

Thanks for your help!


On Xcode 11, you can turn off Sandboxing by removing it from the Signing & Capabilities tab:

Remove Sandboxing


If I understand what you are asking correctly, you'll need to remove the entitlements.plist from your project and make sure that the Summary view of your target in Xcode has sandboxing turned off:

Remove Sandboxing


As Derek Wade pointed out, you can make an App like GarageBand X (which behaves obnoxiously with third party plugins like Amplitube due to Sandboxing) NOT run in a sandbox by editing the binary itself with a HEX editor like HexFiend. Look for:

<key>com.apple.security.app-sandbox</key>

Immediately following that bit you'll see the true tag, which as suggested I switched to 'fals' (no extra bytes) and now GarageBand will happily interact with third party VST plugins. Huzzah.


I found if you go into the .app package, under Contents/MacOS, there should be a binary file that matches the name of your app. Copy that file to your desktop. Edit the desktop copy of the file with TextEdit. You should find within the file, the text representation (xml) of the Entitlements for the app. Find the Sandbox entitlement flag (usually set to <true/>) and change it to <false/>. You will have to unlock the file when editing. Save the file (located on the desktop). Rename the original file in the .app package (i.e. append .old to the filename). Copy the desktop file back to the .app Package location (you may have to authorize it). This should remove the sandboxing.


You cannot remove Sandbox if the user ran you application via Sandbox.
That's the whole point - don't you think ?

0

精彩评论

暂无评论...
验证码 换一张
取 消