Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to build Sandboxed app without XCode?

How to build Sandboxed app without XCode? I mean I'm using gcc Make to build my applications and own system for creating app bundles. But how can I enable the Sandbox without using XCode and option it's Sandbox option?

There's tut about Sandbox, but I can't find anywhere informations about enabling Sandbox, but still no about SB without XCode.. Anyone can help? http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxQuickStart/AppSandboxQuickStart.html#//apple_ref/doc/uid/TP40011183-CH2

like image 465
arturo Avatar asked Dec 05 '11 12:12

arturo


People also ask

Can I develop iOS app without Xcode?

Non-native platforms, like Flutter or React Native, won't make iOS builds without Mac either. Storyboards can be edited only in Xcode, so development without Xcode means development without Storyboards. Alternative IDEs for iOS development require Xcode. You don't need to run it, but you should have it installed.

Can I develop iOS app without a Mac?

You cannot develop iOS apps without a Mac computer, but you can set up CI/CD to handle building and publishing!

Does Mac sandbox have applications?

Overview. The App Sandbox is an access control technology that macOS provides and enforces at the kernel level. The sandbox's primary function is to contain damage to the system and the user's data if the user executes a compromised app.

Are all apps sandboxed in iOS?

All third-party apps are “sandboxed,” so they are restricted from accessing files stored by other apps or from making changes to the device. Sandboxing is designed to prevent apps from gathering or modifying information stored by other apps.


1 Answers

It's pretty easy to code-sign your application outside of Xcode. Simply create your entitlements in a separate plist file like this:

<?xml version="1.0" encoding="utf-8"?>
<plist version="1.0">
    <dict>
        <key>com.apple.security.app-sandbox</key>
        <true/>
    </dict>
</plist>

Once you have it, simply issue this command to code-sign your app bundle and enable sandboxing, by making it part of the entitlements:

codesign -s - -f --entitlements /path/to/entitlement.plist /path/to/YourApp.app/

If you already code-sign with a certificate, just replace '-s -' above with '-s "3rd Party Macintosh Developer..." and use your developer certificate.

like image 148
Philippe Avatar answered Sep 20 '22 01:09

Philippe