Dev:Best Practices

Use the following guidelines to avoid your package or app being fragile or breaking at the slightest gust of wind, and to increase the chances of it being accepted by a community host.

Applications and Tweaks

 * Avoid referring to /var/mobile directly - use NSHomeDirectory if your code is running as mobile! ("... say tomorrow apple ships iOS 6 and mobile is now named "phoneuser" or something equally insane...")
 * See MobileSubstrate Pitfalls for additional guidelines regarding tweaks.

Packages

 * Do not create mobile-owned files and/or directories in your package. Stay out of mobile's home directory!
 * All package files are installed as root, and hour app should create any required files or directories under mobile's home directory.
 * Do not use postinst/preinst/extrainst_ for file management purposes!
 * Do not store in the package directories that your app could make.
 * Do not enforce permissions that your package could (and arguably should) contain.