I have exactly the same question as you have : I am looking for a way to distribute iOS Apps for jailbroken iPhone, without going through Cydia.
itms-services works for when I do provide a valid provisioning profile.
Whit no provisioning profile, it does not work.
One note however for you Alexei : unsigned app won't work on an iPhone, even if it is jailbreak. You need at least a self-signed app. Jailbreak removes the need for Apple approved developer signature, it does not remove the need for signature at all.
You can self-sign your code with "ldid -S" on a jailbroken device. There is also a ldid version for Mac OS X at http://dl.dropbox.com/u/3157793/ldid
Please keep updating this thread with your progress - I will do the same.
[EDITED]
It is possible to generate a self signed certificate and use it from Xcode. The application can then be installed using scp -r
command.
I then manually created an IPA file and serve it through a web server with the itms-services URL. Installation fails with ""App" could not be installed at this time"
When looking at the console, it says :
Mar 14 17:31:32 unknown installd[4276] <Error>: developer cert trust result = 5
Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 verify_signer_identity: Could not copy validate signature: -402620392
Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.AnmaAp/foo_extracted/Payload/App.app
Mar 14 17:31:32 unknown com.apple.itunesstored[4272] <Notice>: MobileInstallationInstall: failed with -1
Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 install_application: Could not prefligh
Reason is that /usr/libexec/installd
program is checking for valid signature when installing application.
This can be patched and disabled with tools like http://hackulo.us/wiki/AppSync or http://jamesisbored.com/iphone/bootleg) but I wouldn't go that way for two reasons :
- First it opens the door to any installation on the iPhone
- secondly because your user will have to that again after each iOS update (and the availability of a patch is not guaranteed for future versions)
So, this leaves me with two options :
A/ abandon this idea
B/ develop my own MISValidateSignatureAndCopyInfo bypassing code and use it temporary for the time needed to install my app.