Search code examples
iosjailbreak

Are developer apps self signed?


I have a question about running apps in the //Applications folder on iOS 5.1.1. Firstly, I know that this will sound like a piracy question, but it's not. Please hear me out.

I have an app that I've designed for my business using Apple's developer program. This is an internal app that I don't want released into the wild. After testing the app on an iPod touch I was able to copy the appname.app directory to a different jailbroken iPod touch. After fixing the permissions, the app ran fine. I've done this on four iPods and the behavior is the same.

Curious, I copied a paid app from my iPhone to an iPod touch and changed the permissions. This time, though, it didn't launch. My question is: What's the difference between these two apps? Does my app work because it's self signed?


Solution

  • Jailbreaking removes the requirement for apps to be signed properly to actually run. That's why you can publish apps to Cydia and other "stores" without Apple's iOS Developer Program.

    AppStore apps are signed pretty much the same way as developers' apps, but they have a separate layer of copy protection too, which jailbreak does not remove.

    So copying developers' apps (both debug and adhoc builds) to jailbroken devices will work even after certificates expire or are otherwise invalid. Copying production app will not work at all.

    And no, developer apps are not self-signed. Self-signing means signing with a certificate you created on your own without trusted certificate authority, so iOS devices would not accept it as there is no trusted root certificate for that certificate authority present in their system. Developer apps are signed by certificates you get from Apple, which are signed using Apple Worldwide Developer Relations Certification Authority root certificate which is present and trusted on all iOS devices.