目前在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全攻略。

外记:打包ipa文件:没有证书是无法发布ipa的,有个简单的方法可以实现生成ipa:

  先将代码生成为Release目标,然后打开工程的输出文件夹,通常情况下这个目录是:
/Users/%用户名%/Library/Developer/Xcode/DerivedData/%工程名+一串字符%/Build/Products/Release-iphoneos,
这个目录下有个.app的文件,就是生成的程序了。把这个.app拖到iTunes中,它会出现在应用程序那个列表中,然后再把它从iTunes的那个列表中拖出来(比如拖到桌面),就变成.ipa了。

另外一种方法就是,新建一个文件夹,命名为Payload(注意要使用这个名称),然后将.app文件放入这个目录中,压缩成压缩文件,然后把后缀名改为.ipa就行了

iOS 越狱机免证书调试的更多相关文章

  1. Xcode7 真机免证书调试Cocos2D游戏

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 经过一番实验,现在终于可以在Xcode7上免证书真机调试了: ...

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

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

  3. 勾勾街:一个专业的苹果ios app 自助打包的网站,免越狱,免证书签名

    众所周知,苹果的APP开发是需要基于MAC环境的,而我们很多的开发者并没有这样的条件,如果单单为发布一款app就去买一台价格昂贵的MAC那成本就太高了! 就算你有一台MAC,也有能力自己开发出一款基于 ...

  4. 用xcode9编译出ios越狱机程序使用的dylib

    因为xcode9默认不能创建dylib工程,所以 选择 静态库 工程后,修改编译选项使得变成dylib工程. 步骤: 一.xcode9 -> File -> New -> Proje ...

  5. Delphi 10.2.3 + Xcode 9.2 开发 IOS 程序,免证书+免越狱,真机调试

    工具列表: 1,delphi 10.2.3 + PAServer19.0. 2,配置好一些的 PC 一台,建议至少 4 代 intel i5 + 16G + 256GSSD,低于此配置将产生拖延症. ...

  6. XE6 & IOS开发之免证书真机调试(3):生成iPA文件并安装到其它苹果设备上(有图有真相)

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

  7. XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相)

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

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

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

  9. iOS开发——免证书调试(Xcode7,iOS9)

    (资料已做好,待整理成文章……)

随机推荐

  1. hdu 5769 Substring 后缀数组 + KMP

    http://acm.hdu.edu.cn/showproblem.php?pid=5769 题意:在S串中找出X串出现的不同子串的数目? 其中1 <= |S| < $10^5$ 官方题解 ...

  2. 8、WPF体系架构和运行机制

    体系架构:http://msdn.microsoft.com/zh-cn/library/ms750441.aspx 运行机制:http://www.cnblogs.com/leep2007/arch ...

  3. JS类库函数收集中....

    实现string的substring方法 方法一:用charAt取出截取部分 String.prototype.mysubstring=function(beginIndex,endIndex){ v ...

  4. mac下wget用来仿站

    wget -c -r -np -k -L -p http://www.domain.com 参考 http://www.v2ex.com/t/147870

  5. self,parent,this区别

    我容易混淆public,private,protected,还容易混淆this,self这些东西.前面已经写了一篇关于public,private,protected博文了,下面来说一下this,se ...

  6. [转]unable to resolve superclass of 的奇怪问题和一种解决方法!

    [转]unable to resolve superclass of 的奇怪问题和一种解决方法! http://blog.csdn.net/jackymvc/article/details/90015 ...

  7. Jquery post 传递数组给asp.net mvc方法

    以批量删除数据为例  做批量删除会需要传递要删除的数据ID数组 function RemoveLog(){ var postModel=[]; //遍历复选框获取要删除的数据ID 存放到数组中  $( ...

  8. app进入后台申请10分钟活跃时间-b

    IOS允许长时间在后台运行的情况有7种: audio VoIP GPS 下载新闻 和其它附属硬件进行通讯时 使用蓝牙进行通讯时 使用蓝牙共享数据时 除以上情况,程序退出时可能设置短暂运行10分钟 让程 ...

  9. Android SDK Android NDK 官方下载地址

    Android NDK r6b Windows http://dl.google.com/android/ndk/android-ndk-r6b-windows.zip Mac OS X(intel) ...

  10. VMware vSphere HyperVisor安装过程记录

      作者:sdjnzqr 出处:http://www.cnblogs.com/sdjnzqr/ 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者同意,必须保留此段声明:必须在文章中给出原文 ...