UPDATE 2: Don't use this guide, my "ldid" version was old and it didn't work. You can also use this nice article to enable build and go support in Xcode, just like you've had an official development cert!
UPDATE: It's been said that this method breaks unsecured WiFi connections. I've not tried it since I'm on WPA2 (tell me if it does or not). Do it on your own anyway. In fact, there's a better method using "ldid" (apt-get install ldid) that generates executable hashes or something and allows it to run correctly. You should run "ldid -S executable". I couldn't make it work though. It always pops out an error message for me.
You can run unsigned apps you develop using Xcode on your jailbroken iPhone OS 2.0 device. You'll need SSH installed and running on your iPhone.
This technique relies on disabling signature check by means of altering a kernel config with sysctl (Note that I don't deserve any credit for the job, all the credit goes to saurik, I just came up with a LaunchDaemon for it).
To be able to run unsigned apps, you should run this command as root on your iPhone:
sysctl -w security.mac.proc_enforce=0 security.mac.vnode_enforce=0
The parameters will be reset after a reboot, therefore we'll make up a launch daemon to set the parameters at every boot:
To do so:
nano /Library/LaunchDaemons/com.mehrdadafshari.iphone.autostart.plist
Paste the following:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.mehrdadafshari.iphone.autostart</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/etc/rc.local</string>
</array>
</dict>
</plist>
Save and exit (Ctrl+X,Y,Enter).
nano /etc/rc.local
Paste the following:
#!/bin/sh
/usr/sbin/sysctl -w security.mac.proc_enforce=0 security.mac.vnode_enforce=0
Save and exit (Ctrl+X,Y,Enter).
chmod +x /etc/rc.local
reboot
You're done! Copy your app developed using Device profile in Xcode (build/Debug-iphoneos/AppName.app or Release-iphoneos/AppName.app) to /Applications with SSH and run it, you have to kill SpringBoard to make it show up on the iPhone.
scp -r MyApp.app root@iphone.local:/Applications
ssh root@iphone.local 'killall SpringBoard'
I think you can put them as custom build actions in the Xcode tools and make them run everytime you build!
Have fun developing iPhone apps and keeping your $99!