Best Practices: Difference between revisions

From iPhone Development Wiki
No edit summary
Line 2: Line 2:


== Applications and Tweaks ==
== Applications and Tweaks ==
* Avoid referring to /var/mobile directly - use NSHomeDirectory() if your code is running as mobile!
* 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.
* See [[MobileSubstrate Pitfalls]] for additional guidelines regarding tweaks.



Revision as of 22:46, 1 February 2012

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.