Question

I am building an app that I eventually would like to release on Cydia, however I'm having trouble finding any good documentation on developing apps for jailbroken devices. So firstly, if you have any good links for developing for jailbroken iOS devices that would also be much appreciated!

My current problem is that for my app to work I would require tools from other packages on Cydia like otool and possibly some script interpreter (haven't decided which one yet). Is there a way that I can have these dependencies install alongside my current app in Cydia? I feel like I've seen it before downloading other apps.

Was it helpful?

Solution

Yes, absolutely.

When you build your app, you should make sure to bundle it as a Debian package. Some repositories will let you just give them a normal .app bundle, which they will then use to build a .deb file. But, if you want this, I'd recommend learning to build a .deb bundle yourself. More instructions from Saurik here.

Inside the .deb bundle, you will have a DEBIAN subdirectory, with a file inside named control:

DEBIAN/control
DEBIAN/postinst
DEBIAN/postrm
DEBIAN/preinst

The control file is where the Cydia store app description, the app version number (used by the store), and a bunch of other information goes. An optional field in the control file lets you specify that your app has dependencies. If you list another package as a dependency, that package will automatically get installed when Cydia installs your app. Something like this:

Depends: bigbosshackertools

This line is to specify a dependency on the BigBoss Recommended Tools package (which is a very large set of packages, so be aware that you're adding a large install set to your own app).

Or, you could try

Depends: odcctools

to use Saurik's Darwin CC Tools package.

I have been building jailbreak apps for a while, so I do it with homemade scripts, but there's now a tool for helping with this called iOSOpenDev. You could use that to build your package, and edit your control file, if you aren't already familiar with .deb packages, and don't want to bother (although I'd recommend learning).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top