XCode破解真机调试
XCode破解真机调试 3.0
一、这样做以后能怎样
- 以device模式编译出app
- 可以再越狱后的设备上运行
二、要会点什么
- 命令行,也就是terminal、终端、控制台。。。
- vim
三、开始吧!
1、制作一个证书
打开实用工具-钥匙串访问。然后在菜单栏里点击钥匙串访问-证书助理-创建证书
第一个步骤比较重要,必须要把名称命名为iPhone Crack Developer(这个名字跟后面的一些小脚本对应,如果改了,那么对应的都要改,用浏览器的搜索就可以看到对应的地方)
图中的iPhone Developer应该为iPhone Crack Developer
将类型设定为代码签名,将”让我覆盖这些默认值”选中。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以。
2、破解ios sdk及其xcode的相关配置文件
由于权限问题,使用命令行来修改:
修改/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件,将其中的 XCiPhoneOSCodeSignContext 都改为XCCodeSignContext
修改/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk目录下的SDKSettings.plist文件,修改如下字段(将YES改为NO),修改后如下:<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>
<key>ENTITLEMENTS_REQUIRED</key>
<string>NO</string>复制下面代码:
#!/bin/bash
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "xc3x26x00x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv -n working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support将它保存成文件来执行或者直接用终端执行命令。
3、修改xcode工程配置文件
cd /Developer
mkdir xcode-crack
gen_entitlements.txt (812
字节, 224 次)下载上面的python脚本,将扩展名改为py,放到刚创建的文件夹xcode-crack中。
将工程配置中所有的Code Signing选项全部设为Don’t Code Sign,如图。可能需要先点击“All”让这个选项显示出来
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本,其中的iPhone Developer与前面的证书名对应,这里我改成了iPhone Crack Develpoer:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements401/gen_entitlements.py "org.newmediacafe.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Crack Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi
在xcode上选择product菜单,选择Build For —> Build for Achiving,就能生成app文件了
但如果选择Build For Run的话,xcode会崩溃(模拟器模式没问题)
按照上面的步骤导入3.x的工程成功运行,但是如果用XCode 4.2创建新工程,则会报错,需要做如下修改:
1、将【Objective-C Automatic Reference Counting】的默认值由【YES】改为【NO】;(build settings里面搜索reference可以找到)
2、在Build Phases中加入run script,方法如前
另附run script的位置:
xcode3 在左侧目录栏,展开target即可
xcode4:前面的图中有
==============================================================================================================================
XCode破解真机调试 4.2
网上有不少关于xocde3.x真机调试的文章,但鲜有xcode4.2相关的资料。参考了一些文章,终于可以在xcode4.2上进行真机调试了,在此记录下。
我会分几步来说明。值得说明的是,要想真机调试,ios device必须事先越狱 :-)
1.创建证书,这个没什么好说的,网上资料一大堆,只要别写错名字就好,证书名一定要为 iPhone Developer
2.破解ios sdk及其xcode的相关配置文件(双击配置文件就可以打开,注意SDKSettings.plist有权限控制)
修改/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件,将其中的 XCiPhoneOSCodeSignContext 都改为XCCodeSignContext
修改/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk目录下的SDKSettings.plist文件,修改如下字段:
<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string> <key>ENTITLEMENTS_REQUIRED</key>
<string>NO</string>
3.破解xcode二进制文件。建立一个crack文件,内容如下:

#!/bin/bash
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "xc3x26x00x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv -n working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support

然后执行 chmod +x crack
执行./crack,没错误就正常
4.修改xcode工程配置文件
1) 下载脚本
打开终端,执行如下操作

cd /Developer
mkdir xcode-crack
cd xcode-crack
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py

2) 禁用Xcode自动的签名操作
将工程配置中所有的Code Signing选项全部设为Don't Code Sign,如图。可能需要先点击“All”让这个选项显示出来
3)添加自定义的生成后脚本
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本(如图)

export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/xcode-crack/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

5。打包应用程序,生成ipa文件
在xcode上选择product菜单,选择Build For ---> Build for Achiving,就能成ipa文件了。如图:
可以将这个文件拖到itunes,就可以生成一个ipa文件,如图:
至此,我们就可以随心所欲地开发并调试ios程序了,并可以将打包好的ipa文件分享给他人 :-)
文件的话我已经打包好,要的话可以留言。
XCode破解真机调试的更多相关文章
- Xcode搭建真机调试环境 图文实例
本文介绍的Xcode搭建真机调试环境 图文实例,图文并茂,使我们学习起来更方便些,我们先来看内容. AD: 2013云计算架构师峰会超低价抢票中 Xcode搭建真机调试环境 是本文要介绍的内容,不多说 ...
- 【转】Xcode 7 真机调试详细步骤
原文网址:http://www.jianshu.com/p/fa5f90b61ad6 文/ldjhust(简书作者)原文链接:http://www.jianshu.com/p/fa5f90b61ad6 ...
- xcode上真机调试iphone4s出现“There was an internal API error.”解决方案
xcode7更新之后使用真机调试,在IOS8的一台Iphone5手机上面没什么问题,IOS8的一台iphone6也没问题.但是在IOS6的一台Iphone4s和 IOS7的ipad air2上面在最后 ...
- 解决xcode iOS真机调试正常,模拟器失败问题
今天早上遇到xcode的真机可以调试,但是模拟器却爆出一大堆错,提示错误是没有找到引用的代码文件,真机和模拟器的配置都是一样的, 准确来说,应该是除了指令以外,其他都死一样的配置,所以大概是指令配置上 ...
- iOS 12 真机调试 Xcode 9 提示 Could not locate device support files.
升级 iOS 12 之后,使用 Xcode 9 真机调试会提示错误: Could not locate device support files. This iPhone 6 Plus is runn ...
- 开源项目在真机调试(Coding iOS 客户端为例)
一.前言 iOS 13学习系列:如何在github下载开源项目到本地(Coding iOS 客户端为例)已经把 Coding iOS 客户端源码下载到本地. 但项目进行真机调试遇到很多问题. 二.问题 ...
- 真机调试出现Could not find Developer Disk Image问题解决办法
1.升级Xcode 2. 在使用Xcode进行真机调试的时候,有时根据真机的系统不同,会出现could not find developer disk image 错误,这是由于真机系统过高或者过低, ...
- iOS提交应用至App Store流程及真机调试 一,证书、配置文件
前言:你要有苹果开发人员账号,我用的是个人账号.其次xcode为xcode 7,因为xcode 7须要 os x 系统 10.11 或更高的版本号, 所以os x 系统也须要 10.11 或更高的版本 ...
- ios真机调试教程(不上架App Store安装到手机)
原文 不上架App Store安装到手机调试测试,需要用到ios真机调试证书打包的ipa才能安装到非越狱的手机使用. 2017年最新整理的ios真机调试的详细图文步骤流程,轻松的把你开发的ios ap ...
随机推荐
- Git 详细命令集
初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件: 第二步,使用命令git ...
- UIALertView与UIAlertViewDelegate的基本用法
首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件. 具体代码如下: ViewController. ...
- HTTP缓存缓存机制
http协议无状态,所以缓存设定从两方面考虑.客户端浏览器和服务器端. 浏览器端实现过期机制. 服务器端实现验证机制. 缓存机制. 为了减轻服务器负担,也减少网络传输数量.http1.0定义了Expi ...
- conda配置python混合开发环境一站式入门【全平台】
下载安装 清华的镜像 [https://mirror.tuna.tsinghua.edu.cn/help/anaconda/] 官方说明 [http://conda.pydata.org/docs/u ...
- 同步Flex Chart的数据提示
原文 http://www.riafan.com/sync-datatips-for-flex-chart/ 图表数据提示的同步不仅包含单个图表内多个系列的数据提示的同步,也包含多个图表的数据提示的同 ...
- Div布局案例
通常看到这个页面,会想到它是有几块组成的. 第一块,分销佣金. 第二块,包括代言.商品.二维码 其中代言又是左右结构. 于是乎基本的div结构就出来了. <div class="row ...
- js调用打印机
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [amazonaccess 1]logistic.py 特征提取
---恢复内容开始--- 本文件对应logistic.py amazonaccess介绍: 根据入职员工的定位(员工角色代码.角色所属家族代码等特征)判断员工是否有访问某资源的权限 logistic. ...
- IEnumerable和IEnumerator 详解 【转】
初学C#的时候,老是被IEnumerable.IEnumerator.ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnumerator的本质. 下 ...
- Linux内核源代码解析——用户发送数据包的起源之sendto
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/10162853 Jack:我想知道用户如何把数据发送到 ...