Manage Development and Production environment using Sandbox

Hexagon Sandbox is more fun :P

In the previous article, I introduced the use of Sandbox and compare that with the traditional way of handling app data.

In order to prevent messing up the data between Development and Production, this is my setup.

Development — Non-Sandbox

Production — Sandbox

Here are the reasons.

1) Mac App Store requires using Sandbox

It is still early to decide whether I will distribute thru Mac App Store or other channels. It is better to adapt to that environment at the early stage. Change settings from the ground up is pain in the ass.

2) User system environment is unknown

When the app is distributed to users, all kinds of situations could happen. Using sandbox will help reducing conflicts with other system tools. This is based on the trust to Apple system architecture.

3) Customer support is easier

In case you need to ask your users to visit the data directory to check or clean up content, it is easier to locate one single sandbox container than multiple locations.

Summary

For development environment, we as developers know the working flow of the app, so we could always trace the behavior of the application. It is better to keep the simplicity to users. Thus, even setting up Sandbox takes extra steps in the beginning, it is totally worth to do it.