参考:http://mobile.51cto.com/iphone-455500.htm

XCode6.0iOS免证书真机测试方法(MAC及黑苹果均有效)

前提:设备已经越狱

目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊!

目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊!

作为刚开始学习iOS编程的菜鸟,这么大手笔花钱实在是肉疼。。。经过一番折腾,借鉴各种大神的帖子,终于成功在真机上编译运行成功!

这里将方法与大家分享。

我的运行环境是:【电脑】XCode6.0.1 + OS X 10.9.5  【真机iPod Touch】iOS6.1

准备工作:

1. 首先,你要有一个已经越狱的iPhone/iPod/iPad,越狱方法此处不提供。

2. 在用来测试的真机Cydia中添加源:http://apt.weiphone.com,下载适合真机系统版本的AppSync。

3. 在电脑上创建一个证书,用于为生成的程序签名。

创建证书

创建证书的过程比较简单,在电脑上打开“其他-钥匙串访问”。然后在菜单栏里点击“钥匙串访问-证书助理-创建证书…”来打开向导。注意这里的三个地方, 必须要把名称命名为iPhone Developer,将类型设定为代码签名,将”让我覆盖这些默认值”选中。之后的步骤什么都不用改,一路点击“确定”和“继续”,最后完成这个向导就可 以了。

4. 如果Xcode在运行状态,请先 Command+Q将其 完全关闭。然后打开“其他-终端”,我们需要用到一些UNIX命令,可能看起来会比较繁琐,但是相信我,这可是在每年节省99美金啊!

① 进入iPhone SDK目录,指令如下:

  1. cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/

备注:不同版本的Xcode最后的版本号不同。在Xcode 6.0中是 iPhoneOS8.0.sdk,未来版本可能版本高一些,早期版本的就低一些。请根据实际情况自己改动。(如果实在不知道自己的版本号,可以用“ls”指令查看所有文件。)

② 备份原文件,如果电脑设有密码,系统会提示你输入密码(输入后不会显示出来,敲回车即可)

  1. sudo cp SDKSettings.plist SDKSettings.plist.orig

③ 编辑配置文件SDKSettings.plist

为了方便修改,我们可以直接用Xcode打开这个文件。首先要打开这个文件所在目录:

  1. open .

在弹出的Finder窗口中双击 SDKSettings.plist ,会启动Xcode的图形界面,展开 DefaultProperties 分 支,将下面的ENTITLEMENTS_REQUIRED和CODE_SIGNING_REQUIRED两个属性改为 NO。

备注:这里可能会遇到系统提示【“SDKSettings.plist” is locked for editing……】,这是因为文件读写的权限问题,解决办法如下:

首先,修改文件夹权限,此时我们所在目录是iPhoneOS8.0.sdk,如果输入指令“cd ..”返回上级目录,“ls -al”查看所有文件,会发现系统显示iPhoneOS8.0.sdk -> iPhoneOS.sdk,这表示iPhoneOS8.0.sdk是指向iPhoneOS.sdk的快捷方式,所以我们要修改的真正文件夹是 iPhoneOS.sdk,指令如下:

  1. sudo chmod -R 777 iPhoneOS.sdk

然后,修改文件夹内所有文件的读写权限:

sudo chmod 777 *

现在双击打开 SDKSettings.plist, 你会发现,刚才不能修改的属性可以修改了!

④ 编辑另外一个配置文件Info.plist

  1. cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
  2. sudo cp Info.plist Info.plist.orig
  3. open .

在弹出的Finder窗口中双击打开 Info.plist 。分别在 DefaultProperties 分支 下、 RuntimeRequirements 分支下和 OverrideProperties 分支下,共有3处,将全部的 XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext 。

备注:同第③步,可能会遇到权限问题,修改Platforms 文件夹权限和该文件夹内所有文件的权限 即可,步骤同上。

5. 准备自定义的生成后脚本(此步骤需在联网状态下进行)

  1. sudo mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
  2. cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements
  3. sudo curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
  4. sudo mv gen_entitlements.txt gen_entitlements.py
  5. sudo chmod 777 gen_entitlements.py

6. 修改工程设置

备注:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。

① 禁用Xcode自动的签名操作

将工程配置“Build Settings”中所有的Code Signing选项全部设为Don’t Code Sign,如图。

② 添加自定义的生成后脚本 在Build Phases中,点击左上角的”+“号,添加一个”New Run Script Phase“,输入以下脚本:

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

至此配置全部完成!!!连上你的iPhone/iPod/iPad,编译运行,看见真机屏幕上程序跑起来的时候,99美金就省下了!!!

在此感谢大神贴,提供的Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略。

iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)的更多相关文章

  1. XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)[转]

    目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊!!! 作为刚开始学习iOS编程的菜鸟, ...

  2. XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)

    目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊!!! 作为刚开始学习iOS编程的菜鸟, ...

  3. iosxcode7以后免证书真机测试方法如下

    步骤比较简单,我就简单总结一下. 1. 进入xcode,菜单栏选择xcode –> preferences (快捷键 command + ,)在Accounts选项卡添加自己的Apple ID ...

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

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

  5. iOS开发之 Xcode6 添加xib文件,去掉storyboard的hello world应用

    iOS开发之  Xcode6.1创建仅xib文件,无storyboard的hello world应用 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理 ...

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

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

  7. Xcode5.1.1+ios 7.1.2 免证书真机调试

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

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

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

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

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

随机推荐

  1. css写法优化

    写css关于id,class等的命名,文件的结构,共同模块的提取,代码的复用性,可读性,扩展性,维护性都要考虑,不然后期可以会需要花大力气去进行维护修改.考虑写出足够科学的css,需要考虑下面几个方面 ...

  2. android中文件操作的四种枚举

    1.MODE_PRIVATE:默认操作模式,代表该文件是私有数据,只能被应用自身访问,在该模式下,写入的的内容会覆盖原文件中的内容. 2.MODE_APPEND:该模式会检查文件是否存在,存在就往文件 ...

  3. A Knight's Journey 分类: POJ 搜索 2015-08-08 07:32 2人阅读 评论(0) 收藏

    A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 35564 Accepted: 12119 ...

  4. Python相对路径转绝对路径,绝对路径转相对路径

    1.绝对路径转相对路径 print os.path.relpath("d:/MyProj/MyFile.txt") #..\MyProj\MyFile.txt 是根据当前路径的相对 ...

  5. 基于@AspectJ和schema的aop(四)---@AspectJ进阶

    @AspectJ可以使用切点函数定义切点, 我们还可以使用逻辑运算对切点进行复合运算得到复合的切点. 我们还可以对切点进行命名, 从而可以复用切点.当一个连接点匹配多个切点时, 需要考虑增强织入的顺序 ...

  6. promise理解

    每个操作都返回一样的promise对象,保证链式操作 每个链式都通过then方法 每个操作内部允许犯错,出了错误,统一由catch error处理 操作内部,也可以是一个操作链,通过reject或re ...

  7. 修改Netbeans默认使用UTF-8编码

    NetBeans是一款优秀的开源集成开发环境,可以用于Java,C/C++,PHP等语言的开发.同时它也是一个可扩展的开发平台,可以通过插件来扩展官方版本没有的功能.自从被Oracle这个开源杀手收购 ...

  8. ios沙盒路径

    http://www.cnblogs.com/ios-wmm/p/3299695.html iOS沙盒路径的查看和使用 NSString *path = NSHomeDirectory();//主目录 ...

  9. java课堂动手动脑博客

    随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 要求将设计思路.程序流程图.源程序代码.结果截图.编程总结等发表到博客园. (截止时间2015 ...

  10. Path文件操作实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AddProduct.asp ...