Xcode4.5.1破解iOS免证书开发真机调试与ipa发布
开发环境使用Mac OSX Mountain Lion 10.8 + Xcode 4.5.1,iOS设备需要越狱并从Cydia安装AppSync。Xcode4.5.1的安装破解详细步骤如下:
第一步,创建假证书

图1 Utilities工具夹
打开Finder,左侧边栏里找到Applications,从中找到Utilities工具夹,如图1所示。打开该Utilities工具夹并找到Keychain Access(钥匙串访问),并将其打开,或是直接在Finder中输入Keychain Access来搜索。然后在菜单栏里Keychain Access->Certificate Assistant->Create ACertificate…设置如图2所示,此处必须把Name改为iPhone Developer,Certificate类型设置为Code Signing,并将Let
me override defaults选中,以后的步骤就不需要做任何的设置,全部默认或空着即可。

图2 证书相关设置
第二步,安装Xcode4.5.1
下载Xcode4.5.1,并安装。需要注意的是从Xcode4.4.1之后Xcode就变成了独立运行程序(stand-alone),其安装变成了Copy。首先将dmg里的Xcode复制到Applications目录下,然后运行,此过程中会出现简单的配置过程。
第三步,修改Xcode的配置文件
需要修改配置文件有两个SDKSettings.plist和Info.plist,在Xcode4.5以前这两个文件都是xml格式,而这之后变成了二进制格式,需要用Xcode来编辑这两个文件。
(1)SDKSettings.plist修改
1) 从Finder中进入文件所在目录
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk
2) 找到SDKSettings.plist文件,并鼠标右击Duplicate一份,在同目录下产生SDKSettings
copy.plist文件。
3)双击打开SDKSettings copy.plist文件,默认用Xcode,找到DefaultProperties分支,将下面的CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED两个属性改为NO
)如果需要备份原文件,则将原文件改名为SDKSettings.plist.bak。然后将SDKSettings copy.plist,改名为SDKSettings.plist。
(2)修改Info.plist
1) 从Finder中进入文件所在目录
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
)中后退到该目录。
2) 找到Info.plist文件,并鼠标右击Duplicate一份,在同目录下产生Info
copy.plist文件。
3)双击打开Info copy.plist文件,默认用Xcode,将全部的XCiPhoneOSCodeSignContext修改成XCCodeSignContext,即将其中的iPhoneOS去掉,Xcode4.5.1有三处分别位于DefaultProperties分支下、RuntimeRequirements->Classes和OverrideProperties分支下。
)如果需要备份原文件,则将原文件改名为Info.plist.bak。然后将Info copy.plist,改名为Info.plist。
第三步,准备自定义的生成后脚本,此步的执行需要联网,打开teminal。
mkdir/Applications/Xcode.app/Contents/Developer/iphoneentitlements
cd/Applications/Xcode.app/Contents/Developer/iphoneentitlements
curl -Ohttp://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txtgen_entitlements.py
chmod 777 gen_entitlements.py
第四步,修改工程设置
特别注意:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。
这个步骤的主要作用是支持真机调试,如果不做这个步骤,仍然可以通过步骤5来生成ipa在真机上运行,但是无法使用Xcode内置的调试器对在真机上运行的程序进行单步跟踪。如果您的程序在点击Run真机调试时秒退,请检查此步骤是否正确完成。
(1)禁用Xcode自动的签名操作,将工程配置中所有的Code Signing选项全部设为Don't Code Sign,如图。

(2)添加自定义的生成后脚本,在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add 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
如图所示:

第五步,生成IPA文件
正常情况下IPA文件是从Xcode的Organizer中输出的,但是我们没有证书,这样输出会产生错误。只能另找他路,先将代码生成为Release目标,然后打开工程的输出文件夹,通常情况下这个目录是:
/Users/你的用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphoneos
这个目录下有个.app的文件,就是生成的程序了。把这个.app拖到iTunes中,它会出现在应用程序那个列表中,然后再把它从iTunes的那个列表中拖出来(比如拖到桌面),哈哈,它就这样变成.ipa了!
此配置只适用在Xcode4.5.1,其他未尝试。更多详细内容参见大牛Blog.
http://kqwd.blog.163.com/blog/static/4122344820117191351263/
Xcode4.5.1破解iOS免证书开发真机调试与ipa发布的更多相关文章
- IOS开发-phonegap及免证书及真机调试
回头补记(Last edited at 2015.5.24). 第一步:建立项目 参见:Xcode5 + phoneGap2.9搭建ios开发环境 下载phonegap2.9.1,解压. 命令行,进入 ...
- Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
原创文章,欢迎分享:未经许可,不得转载:版权所有,侵权必究 开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1 目前Xcode 4.2 Previe ...
- windows10UWP开发真机调试时遇到DEP6100和DEP6200解决办法
windows10UWP开发真机调试时遇到DEP6100和DEP6200(其实未连接上设备都会报这两个错误,无论真机还是虚拟机)…… 此方法适合真机调试时遇到: 弹出提示框要求输入配对码,无论如何输入 ...
- android开发真机调试 相关东东
android开发真机调试 相关东东 我们做android开发的时候,可以用模拟器,也可以真机调试,但是电脑配置不高的话,模拟器,真的是慢的有的一说,所以我一直倾向于用真机调试,但是问题也就来了,模拟 ...
- WIN10无法进行Android应用开发真机调试解决方案
在WIN10操作系统进行ANDROID开发真机调试时,遇到的问题主要归纳一下有以下几点: 一.没有打开"USB调试"项.这点不再赘述: 二.没有安装ADB Interface驱动: ...
- 免费苹果账号(apple id)申请ios证书p12真机调试
HBuilder可以直接打包越狱版的ipa包,但需要越狱手机才能安装,如果需要安装到没越狱的手机安装,需要自己申请ios证书打包. 一般是需要一个付费了的苹果开发者账号才能申请ios证书打包. 这里介 ...
- iOS 证书、真机调试、发布 App Store
之前对iOS的证书弄的很不清楚,Xcode里面也有各种证书,作为一只有强迫症的巨蟹座,这是不能忍的 趁着准备发布自己的第一个app,梳理一下这块内容 主要参考了这几篇文章: iOS开发:创建真机调试证 ...
- app发布证书、真机调试证书、测试证书、推送证书详细过程
原文网址: http://www.cnblogs.com/cxbblog/p/4028159.html 一:发布证书 遵旨:哪个开发者的哪台电脑要发布哪个app (这句话可以多读几遍) 通过上边的遵旨 ...
- Delphi 10.2.3 + Xcode 9.2 开发 IOS 程序,免证书+免越狱,真机调试
工具列表: 1,delphi 10.2.3 + PAServer19.0. 2,配置好一些的 PC 一台,建议至少 4 代 intel i5 + 16G + 256GSSD,低于此配置将产生拖延症. ...
随机推荐
- Selenium2工作原理
Selenium 经历了两个版本,Selenium 1.0 和 Selenium 2.0,本文仅介绍Selenium2的原理,在Selenium 2.0 主推的是WebDriver,Selenium2 ...
- ambari-server启动报错500 status code received on GET method for API:/api/v1/stacks/HDP/versions/2.4/recommendations Error message : Server Error解决办法(图文详解)
问题详情 来源是,我在Ambari集群里,安装Hue. 给Ambari集群里安装可视化分析利器工具Hue步骤(图文详解 所遇到的这个问题. 然后,去ambari-server的log日志,查看,如下 ...
- 《基于Node.js实现简易聊天室系列之引言》
简述:这个聊天室是基于Node.js实现的,完成了基本的实时通信功能.在此之前,对node.js和mongodb一无所知,但是通过翻阅博客,自己动手基本达到了预期的效果.技术,不应该是闭门造车,而是学 ...
- Python3 动手自己写谷歌翻译
本篇为实现谷歌翻译的功能,在编写的时候以为只是一个接口的问题. 没想到的是每次翻译都会触发一次JS的执行,在请求参数中生成一个tk. 文中tk的实现是复用的网上大神的代码生成tk. 好了,不说了直接看 ...
- 如何理解JavaScript的单线程
JS的本质是单线程的.这点区别于JAVA的两个线程并发 但是,平时的JS,确实是同时运行很多任务,这又是怎么回事???? First,js的代码分为两种.同步代码和异步代码. console.log( ...
- Android Studio中找出不再使用的资源
顶部Analyze菜单中选择Run Inspection by Name 在弹出的输入框中输入unused resources
- iOS---UICollectionView自定义流布局实现瀑布流效果
自定义布局,实现瀑布流效果 自定义流水布局,继承UICollectionViewLayout 实现一下方法 // 每次布局之前的准备 - (void)prepareLayout; // 返回所有的尺寸 ...
- windows/linux 更新python pip
linux环境下 pip install -U pip windows环境下 python -m pip install -U pip python -m pip install --upgrade ...
- Java的类加载
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载机制 ----类加载的大致过程 类的加载的过 ...
- 简述站点访问控制、基于用户的访问控制、httpd虚拟主机、持久链接等应用配置实例
1 站点访问控制 可基于两种机制指明对哪些资源进行何种访问控制: 文件系统路径 URL路径 注意: 从上到下匹配,匹配到一个就立即执行 如果没有子目录的访问控制,但是有父目录的访问控制,则子目录继承父 ...