Installer 4: Repo Structure Let’s get technical. This post will be mostly interesting to the repository owners, so if you’re not, you may want to skip it altogether. Please Register or Log in to view images Installer 4 uses the new repository structure which is aimed at minimizing the traffic for both repo owner and the user, as well as expands the standard a little bit. It is still good old plists, but for the repo owner perspective, you don’t really have to mock with them… at all Please Register or Log in to view images Here’s how it works. Each package (a .zip file) now must contain a .plist file inside describing the package - including install/uninstall scripts, description, version, identifier, dependencies, and so on. It may also contain a png icon to be displayed as the package icon in the Installer. When the repository owner puts the file in the repository directory tree (in the appropriate folder for the category), the repository engine does the rest - automagically extracts the plist (and the package icon) from the package archive, parses it, puts in the appropriate places and gets it ready to be served to Installer. I have finished the repo engine code (it uses PHP) and is currently going to give it a test run for a few days internally, then we’ll put it in the public domain to re-use and abuse, along with a more detailed instructions on the package structure and plist keys (they are mostly the same). A nice additional feature I didn’t mention yet - you can now specify an arbitrary URL to be used as a package info, so you can create spiffy webpages describing your über product in a totally custom way (the document will be shown in a web view replacing standard package info page). Regarding distribution / installation of Installer 4. We are still ironing the details, but it will likely be available as a part of the Pwnage Tool (as before), as a stand-alone installer (akin to AppTapp installer back in 1.0.x days), and possibly on Cydia. We’ll see how it works out.