Xcode假设不破解。无法真机调试, 也无法编译真机Release文件。仅仅有付费开通Apple开发人员账号,才干申请真机调试。而Xcode进行破解后,结合越狱的iPhone或iPad, 就可以免官方证书开发调试了!

生成本机证书

应用程序->其它->钥匙串訪问

菜单:钥匙串訪问->证书助理->创建证书, 然后按下面图片顺序操作就可以:

Xcode 5免证书开发调试_打开创建证书菜单

Xcode 5免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值

Xcode
5免证书开发调试_确定继续

Xcode
5免证书开发调试_输入序列号有效期,有效期不要超过365天

Xcode
5免证书开发调试_输入电子邮件地址

Xcode
5免证书开发调试_输入密钥对信息

Xcode
5免证书开发调试_密钥使用扩展扩展选择:签名

Xcode
5免证书开发调试_已扩展的密钥使用扩展选择:代码签名

Xcode
5免证书开发调试_基本约束扩展不选择

Xcode
5免证书开发调试_主题备用名称扩展输入RFC822名称,填入邮箱名就可以

Xcode 5免证书开发调试_用于该证书的位置选择钥匙串类型为登录

Xcode破解

保证Xcode处于关闭状态,命令行终端,复制粘贴以下的代码:

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
sudo dd if=iPhoneOS\ Build\ System\ Support of=~/working bs=500 count=255
sudo chown mac<span style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; line-height: 26px; background-color: rgb(248, 248, 248);">(你登陆系统的username,我的username是mac)</span>:staff ~/working
printf "\x8f\x2a\x00\x00" >> ~/working
dd if=iPhoneOS\ Build\ System\ Support of=~/working bs=1 skip=127504 seek=127504
sudo /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
sudo /bin/mv ~/working iPhoneOS\ Build\ System\ Support
sudo chmod a+x iPhoneOS\ Build\ System\ Support
sudo chown root:wheel iPhoneOS\ Build\ System\ Support

权限处理完毕后。把CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED的值改成NO

Xcode5免证书真机调试-改动SDKSettings.plist

改动保存后再将文件移回原处:

sudo mv ~/SDKSettings.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/
sudo chown root:wheel /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/SDKSettings.plist

运行完脚本后改动"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist"文件(权限处理同上),做例如以下改动:

sudo mv /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist ~/ #文件移动到用户文件夹
sudo chown mac(你登陆系统的username,我的username是mac):staff ~/Info.plist

新增例如以下两项(告知项目编译无需证书):

PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO

Xcode5免证书真机调试-改动Info.plist

然后将该文件里全部的"XCiPhoneOSCodeSignContext"替换为"XCCodeSignContext",即去掉中间的"iPhoneOS"
。

假设不进行此步。编译Device Release版本号时會报错:

Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found

Xcode5免证书真机调试-改动Info.plist替换标识

sudo mv ~/Info.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ #文件移回原处
sudo chown root:wheel /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist

改动项目属性 (每次新建项目都要运行)

A. 点击项目图标,找到"BuildSettings"选项下的"Code Sign Identity",将其值所有改为"Don't Code Sign"

Xcode5免证书真机调试-选择target

Xcode5免证书真机调试-改动Code Signing Identity

B. 切换到Build Phases选项,点击菜单Editor->Add Build Phase->Add Run Script Build Phase,然后单击Add Run Script,然后在Run Script中输入下面脚本:

export
CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" =="iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados"]; then
/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi

Xcode5免证书真机调试-Add
Run Script Build Phase

Xcode5免证书真机调试-写入脚本

Xcode破解完毕,或者更准确的讲,是配置完毕!

Xcode真机调试

将 iPhone接入电脑,在Xcode的Window->Organizer中会检測到你的iPhone.点击 restore using developer

查看iPhone和你的Xcode识别正常后退出Organizer。选择编译环境为"iPhone Device-我有一个姑娘我非常爱她",点击"Build and Go"

期间会出现让我们选择签名证书,点选"同意"后。等待你的iPad/iPhone屏幕点亮就ok了。

你的程序会自己主动下载到你的iPhone中,能够进行真机调试了

Xcode升级破解

假设是在原Xcode的版本号上升级到5,而且之前已经破解过。那么仅仅须要再做例如以下步骤就可以:

在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist中新增例如以下两项(告知项目编译无需证书):

PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO

然后将该文件里全部的"XCiPhoneOSCodeSignContext"替换为"XCCodeSignContext",即去掉中间的"iPhoneOS" 。假设不进行此步,编译Device
Release版本号时會报错:

Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found

Xcode5.1.1+ios 7.1.2 免证书真机调试的更多相关文章

  1. 【IOS】Xcode7以上免证书真机调试

    Xcode7之前,想要真机调试,必须花99刀购买开发者账号,而且步骤繁琐,需要下载证书.随着Xcode7的推出,大幅度的简化了真机调试的步骤,对ios开发工作者和正在学习ios开发的众多码农们,可以说 ...

  2. 【原】xcode5&IOS7及以下版本免证书真机调试记录

    搞了有一段IOS开发了,之前一直在企业做,近阶段主要在公司做C++服务端开发,打算在空闲实现搞搞个人开发,为自己赚钱,IDP还没申请下来,所以先用此方法在越狱设备上先做一下app的免证书真机调试,先记 ...

  3. XE6 /XE8 & IOS开发之免证书真机调试三步走,生成iPA文件并安装到其它苹果设备上

    XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相) XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相) XE6 &a ...

  4. 升级到Xcode6.2后 免证书真机调试出错的问题

    我的本来是Xcode6.1 可以正常免证书真机调试,升级到Xcode6.2以后,真机调试就报错,然后就又按照这篇文章http://www.cnblogs.com/liuliuliu/p/4030524 ...

  5. 【官方方法】xcode7免证书真机调试

    [官方方法]xcode7免证书真机调试 步骤比较简单,我就简单总结一下. 1. 进入xcode,菜单栏选择xcode –> preferences (快捷键 command + ,)在Accou ...

  6. iOS Xcode7免证书真机调试

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

  7. XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.自己给自己颁发证书, ...

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

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

  9. Xcode 6 免证书真机调试

    前景:在 iOS 开发中,如果想进行真机调试,普遍情况是掏钱,掏钱的情况有两种: 第一种就是:直接在 Apple 官网注册为 Developer,每年99美元:当然这种作为个人开发者的话,是很有必要的 ...

随机推荐

  1. java Logger 的使用与配置

    原文来自:http://blog.csdn.net/nash603/article/details/6749914 Logger所对应的属性文件在安装jdk目录下的jre/lib/logging.pr ...

  2. bzoj 2791 [Poi2012]Rendezvous 基环森林

    题目大意 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问,每组询问由两个顶点a.b组成,要求输出满足下面条件的x.y: 从顶点a沿着 ...

  3. poj 4001 To Miss Our Children Time

    To Miss Our Children Time Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Jav ...

  4. 阶乘-递归-java

    public class Main { public static void main(String[] args) { for (int i=0;i<11;i++){ System.out.p ...

  5. CentOS找不到想要的镜像版本?

    CentOS找不到想要的镜像版本? 情景: 当学习Linux时,一般教程不是最新的,教程里的CentOS版本也就不是最新的,这个时候, 在看着教程练习的时候就需要安装指定的版本,避免因为版本不同造成困 ...

  6. 去掉 NavigationBar 底部的那条黑线

    //加入下面两行代码即可[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UI ...

  7. 浅谈HookSSDT和和Resume(恢复)SSDT

     最近在学HookSSDT和针对Hook的ResumeSSDT,避免自己理解有所偏差,把它们写出来,希望大家不吝赐教.(虽然已经是过时了的技术,但是最起码了解其中的原理,嘿嘿嘿.) 转载注明出处:ht ...

  8. es6 export、import

    一.输出变量 1.export var a = 0; 2.var a = 0'; export {a}; 3.var a =0 ; export {a as rename}; //使用as重命名的对外 ...

  9. 着陆攻击LAND Attack

    着陆攻击LAND Attack   着陆攻击LAND Attack也是一种拒绝服务攻击DOS.LAND是Local Area Network Denial的缩写,意思是局域网拒绝服务攻击,翻译为着陆攻 ...

  10. AtCoder - 2581 Meaningful Mean

    Problem Statement You are given an integer sequence of length N, a= {a1,a2,…,aN}, and an integer K. ...