本文经本人验证,攻略来源于网上,由于多次转载原始出处不可靠,故无法对原作者进行链接引用,抱歉。

本文仅为记录流程,以备日后查询。本文版权所无,欢迎转载和拍砖。

测试环境:

XCode 4.0.2 + iTouch 4_iOS_4.3.3(已越狱)

(据说iTouch需要用Cydia安装AppSync for 4.0+)

以下为详细步骤:

1.确保XCode关闭。

2.「生成本机证书」

  2.1. 应用程序-> 实用工具->钥匙串访问

  2.2. 菜单:钥匙串访问->证书助理->创建证书 

  2.3. 输入证书名称:iPhone Developer(请原样输入,不要试图自己乱改名字),并选择覆盖默认值 ,其他默认

  2.4. 点击继续

  2.5. 序列号填1,有效期365(不要试图超过365),点击继续

  2.6. 输入电子邮件,随便乱填,比如xxxx@163.com(此电子邮件拥有者要红了) ,点击继续

  2.7. 2048\RSA,点击继续

  2.8. 保持默认(1级2级打钩,3级‘签名’打钩),点击继续

  2.9. 勾选代码签名,继续

  2.10.不勾选基本约束扩展,继续 

  2.11.默认(RFC822为上面填的邮箱地址),继续 

  2.12.默认(登录),继续 。至此证书创建完毕。

3.「XX XCode」

  3.1. 复制以下内容到文本编辑中,保存为xx.sh

?
#!/bin/bash
cd
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd
if=iPhoneOS\
Build\ System\ Support of=working bs=500 count=255
printf
"\x8f\x2a\x00\x00" >>
working
dd
if=iPhoneOS\
Build\ System\ Support of=working bs=1 skip=127504 seek=127504
/bin/mv
-n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv
working iPhoneOS\ Build\ System\ Support
chmod
a+x iPhoneOS\ Build\ System\ Support
mkdir
/Developer/iphoneentitlements30

  3.2. 在终端中执行该sh脚本

  3.3. Finder中打开/Developer/iphoneentitlements30文件夹,复制以下内容,保存为gen_entitlements.py

?
#!/usr/bin/env
python
 
import sys
import struct
 
if len(sys.argv)
!
= 3:
    print "Usage:
%s appname dest_file.xcent"
 % sys.argv[0]
    sys.exit(-1)
 
APPNAME
= sys.argv[1]
DEST
= sys.argv[2]
 
if not DEST.endswith('.xml')
and not DEST.endswith('.xcent'):
    print "Dest
must be .xml (for ldid) or .xcent (for codesign)"
    sys.exit(-1)
 
entitlements
= """
<?xml
version="1.0" encoding="UTF-8"?>
<!DOCTYPE
plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist
version="1.0">
<dict>
    <key>application-identifier</key>
    <string>%s</string>
    <key>get-task-allow</key>
    <true/>
</dict>
</plist>
""" % APPNAME
 
f
= open(DEST,'w')
if DEST.endswith('.xcent'):
    f.write("\xfa\xde\x71\x71")
    f.write(struct.pack('>L',
len(entitlements)
+ 8))
f.write(entitlements)
f.close()

  3.4.将该py文件属性修改为777:打开终端,cd /Developer/iphoneentitlements30回车,chmod 777 gen_entitlements.py回车

  至此,XCode XX完毕。

4.「  修改/Developer/Platforms/iPhoneOS.platform/Info.plist」

  4.1. 用文本编辑打开Info.plist,将以下内容加在第一个<dict>下面一行

?
<key>PROVISIONING_PROFILE_ALLOWED</key>
<string>NO</string>
<key>PROVISIONING_PROFILE_REQUIRED</key>
<string>NO</string>

  4.2. 搜索Info.plist中的 XCiPhoneOSCodeSignContext,全部替换为 XCCodeSignContext,保存plist

5.「修改你的工程」(你以后真机debug其他工程时,都需要对新工程进行以下操作)

  5.1. 用XCode打开你的项目,找到你项目的xxx-Info.plist文件,添加”SignerIdentity”项,其值为”Apple iPhone OS Application Signing”.保存。

  5.2. 找到你项目的Build Settings-Code Signing Identity,把Debug和Release下面的分支都删除,然后将Code Signing Identity的值改为iPhone Developer

  5.3.  Build Settings-Code Signing Entitlements的值改为xxx/Entitlements.plist。其中xxx是你的工程文件夹名。 Entitlements.plist这个文件目前还没有,下一步我们就要建立这个文件。

  5.4. 在你的工程目录,右键New File -> iPhone OS -> Code Signing -> Entitlements,新建一个“Entitlements.plist”,点Finish,然后打开此文件,里面只有一项:Can be debugged,将其Value改为YES,保存

6. 至此所有步骤完成,接下来就是连接你的iOS设备了。如果第一次连接,XCode还不认识你的设备,需要什么Collect一下信息之类。总之连接上后,你可以发现XCode的build scheme里面可以选择到你的iOS设备。然后直接debug即可。

Have Fun!

iPhone/iTouch免99美刀真机调试的更多相关文章

  1. [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld

    首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...

  2. Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略

    原创文章,欢迎分享:未经许可,不得转载:版权所有,侵权必究 开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Previe ...

  3. 从零开始开发iPhone,教你如何在真机调试iPhone应用程序

    对于真机调试,首先要在苹果网站上注册APP ID,以及购买iPhone Develop Program(iDP) 开发者授权,99美元.然后要创建证书请求CSR,创建步骤如下:设置OCSP和CRL为关 ...

  4. IOS 7 Xcode 5 免IDP证书 真机调试(转载)

    最近转开发了,真的很久没有更新博客了,今天有空写一篇吧. 今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调 ...

  5. Xcode免证书真机调试,解决cannot read entitlement data问题

    本文是根据某个帖子写的(帖子链接在最后放出),但是在配置的过程中,遇到了一个纠结的问题,这个问题折腾了我N久,一直没搞明白到底是什么原因,问题如下: 按照原帖上写的每一步去做了,但是在最后编译的时候出 ...

  6. XCode - vmware虚拟机安装XCode进行iPhone真机调试

    1.vmware安装黑苹果,然后在appStore安装XCode http://blog.csdn.net/forgot2015/article/details/51104329 2.真机调试证书等申 ...

  7. 真机调试傻瓜图文教程(Xcode6.4)

    先准备好99刀,真机调试才带你玩. PS:万能宝十来块钱可以买个资格... Developer Apple上的设置 1.打开https://developer.apple.com/,点击Member ...

  8. iOS Xcode7免证书真机调试

    在Xcode 7 正式发布的日子里,苹果再次给开发者带来了惊喜,从此以后只要是真机调试的时候,不再需要花99刀去购买开发者证书,但是如果APP需要上架依旧还是需要购买开发者证书的.这个惊喜对正在学习i ...

  9. Xcode 5、Xcode 6 免证书真机调试

    我们都知道,在iOS开发中,假设要进行真机调试的话是须要苹果开发人员账号的.否则Xcode就不可以进行真机调试.仅仅可以在模拟器上执行:这就带来了非常多问题,比方iCloud编程的话你不可以用模拟器. ...

随机推荐

  1. 如何创建javascript只读变量

    最近学习了一下ES标准,发现其实有很多直接间接的方法实现一个只读变量,这里总结一下. 1.最直接的是利用对象属性的特性来实现: var obj = {pro1:1}; Object.definePro ...

  2. windows下安装NodeJs

    1.官网(//nodejs.org/en/)下载系统匹配的文件 2.双击安装,完成后发现nodejs文件夹下面有npm, 直接用npm安装其他环境既可 3.如果配置了环境变量,直接Win+R后CMD调 ...

  3. 一元云购qq互联回调地址错误解决办法

    经过追踪,点击登录后调用 system/modules/api/下面的qqlogin.action.class.php 里面又调用了qq 互联php接口样例里的QC.php的QC类的方法qq_logi ...

  4. 如何解决jquery库的冲突问题

    多个库之间的冲突 当一个项目中引入多个第三方库的时候,由于没有命名空间的约束(命名空间就好比同一个目录下的文件夹一样,名字相同就会产生冲突),库与库之间发生冲突在所难免. 那么,既然有冲突的问题,为什 ...

  5. MUD江湖_MUD文字游戏_MUD五指_武林群侠_北侠_夺宝江湖_书剑_文字江湖游戏_MUD游戏下载

    MUD江湖_MUD文字游戏_MUD五指_武林群侠_北侠_夺宝江湖_书剑_文字江湖游戏_MUD游戏下载  武侠类手机文字游戏,经典再现高度自由玩法宠物 自制装备 师徒自立门派 自造武功欢迎来玩 Q群 1 ...

  6. PHP学习日记(一)——类、函数的使用

    一.自定义函数 function add($a,$b){ $c=$a+$b; echo 'add test:'; echo $c; return $c; } add(1,2); 输出结果: add t ...

  7. jchat:linux聊天程序2:MySQL

    该软件使用的数据库为MySQL,因为它免费.开源,在linux下几乎就是最好的选择. 首先要在mysql中root用户新建数据库并赋权给本用户: create database jchat; gran ...

  8. egret-android-support-gradle版

    从3.1.3开始,Egret已经实现了Gradle构建!所以下文你爱看不看! 迟钝的Egret从3.1.3版本才开始支持Gradle,而笔者早在1.6.x版本就已经支持了,说明什么?说明Egret在某 ...

  9. OpenLayers访问WTMS服务及添加Googlemap

    1.访问WMS服务 首先需要发布WMS服务,才能进行地图WMS服务访问.这里不说怎么发布WMS服务,直接看怎么调用,代码如下: 代码 Code highlighting produced by Act ...

  10. get the first and last collection item in Magento

    $product_collection->getFirstItem() $product_collection->getLastItem()