Developing with Jailbroken iPhone (Xcode)

I have a jailbroken iPhone 4S with running iOS 5.1.1. I have Xcode 4.3.2, and I was able to run my applications on my iPhone, but in a strange way. If I press the Debug button on Xcode, it will try to open the application on my jailbroken iPhone, but it doesn’t work because it quickly opens and then closes. Even if this happens, if I open the application manually by clicking it on the main screen, it will work fine. This is very annoying. The most unpleasant thing is that this leads to the fact that it no longer allows debugging, since Xcode does not see that it is running.

This is the result that it produces:

error: failed to launch '/Users/hetelek/Library/Developer/Xcode/DerivedData/spyapp-flynnmpiqhjoilezvqsbaqdnkesn/Build/Products/Debug-iphoneos/spyapp.app/spyapp' -- failed to get the task for process 3741

When changing the process ID every time, of course.

This is the tutorial that I used to develop on my jailbroken iDevice: http://iphonedevwiki.net/index.php/Xcode#Developing_without_Provisioning_Profile

Thanks for any help.

+5
source share
3 answers

, , . , , . , , , ( Mac, Xcode), Xcode Product -> Attach to Process ( , ).

, YllierDev get-task-allow Entitlements ( , Xcode). , , .

-

"get-task-allow" Entitlements Xcode 4.3, :

  • "".
  • "" " ".
  • /, YOURAPP.entitlements naviagtor " Finder".
  • TextEdit :

    <key>get-task-allow</key> <true/>

    </dict>.

  • !
+8

. iPhoneDevWiki . write() , tempfile . ldid3.py :

#!/usr/bin/python
from sys import argv
from subprocess import call, check_call
from os.path import basename, splitext, join
from tempfile import NamedTemporaryFile

app = argv[-1]
obj_path = join(app, splitext(basename(app))[0])
if '-gta' not in argv:
    check_call(['/usr/local/bin/ldid', '-S', obj_path])
else:
    with NamedTemporaryFile() as f:
        f.write("""
            <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
            <plist version="1.0">
            <dict>
            <key>get-task-allow</key>
            <true/>
            </dict>
            </plist>\n""")
        f.flush()
        check_call(['/usr/local/bin/ldid', '-S' + f.name, obj_path])

, Xcode 4.3.3 iOS 5.1.1. , , .

+1

Try restarting your iPhone and Mac. Perhaps some process is in the background and still working.

If this does not help, then clean the project and do a full cleanup ( how to make a complete removal )

Remove the application from the iPhone and rebuild.

If your application uses its own libraries, rebuild it too.

0
source

All Articles