Description This method was thought of when iOS 8 was released, and was used primarily to debug an App on a non-jailbroken iOS 8 device that already supports iOS 8, such as the UC browser, which uses UCWEB as an example to illustrate some of the commands. Principle No principle, mainly the use of Xcode tool chain, of course, if the certificate, signature, entitlements more familiar with, it may be natural to think of this method. At that time, after thinking about the method, on the GitHub search on the discovery has been written about the tools, the following people say how to operate. Tools Ios-deploy:https://github.com/phonegap/ios-deployEnvironment 1. OS X Yosemite-10.10.22, xcode-6.1.1Steps
1. Configure Xcode's command-line environment , such as:
Description: The IOS system version number supported by Xcode needs to be greater than or equal to the device, otherwise it will not be able to mount the debugging tool.
2. Checkout tool : Git clone https://github.com/phonegap/ios-deploy
3, the compiler tool , the shell into the Ios-deploy directory, direct make can:
after the compilation succeeds, the Ios-deploy can be copied to the/usr/local/bin for global use.
4, in the jailbreak device to decrypt the third-party App, you can manually operate, you can also use clutch and so on. This step is more important, do not decrypt the error, the specific reason is not to be investigated. Applications that are installed on the device when debugging is being developed are also not encrypted.
5, permission entitlements:
<?xml version= "1.0"?>
<! 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>
Save the above content as: Entitlements.plist, required after signing.
6, prepare mobileprovision files , can be downloaded in iOS Dev Center, mobileprovision files need to include target devices, this should be known as iOS development. The check method is: You can use Emacs to open the Mobileprovision file, and then see if the device's Udid is in the file. Rename download to mobileprovision to Embedded.mobileprovision and copy the renamed file to Ucweb.app:
7, run the following command to re-sign :
Codesign-f-S "iPhone Developer: Your certificate name"--entitlements entitlements.plist Ucweb.app
8, run the following command to start debugging, please unlock the screen before commissioning:
Ios-deploy-v-d-n-i "Set UDID"-B Ucweb.app
Description: The process for installing an app is long. If successful, the status is as follows:
9, set breakpoints, run the program:
10, the other with the normal LLDB remote debugging no difference, enjoy.
Use LLDB to debug third-party apps on non-jailbroken devices