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.