最近转开发了,真的很久没有更新博客了,今天有空写一篇吧。

今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试。说白了就是穷,不想给苹果交那$99的钱。

注意:虽然可以用这个方法实现真机调试,不过不能实现向Apple store 发布APP,其次向Notification这种需要去Apple 下载证书的应该也不行。其次你调试的设备必须越狱, 不越狱调试不了,还好IOS7的越狱前几天已经出来了。

一, 环境:

操作系统OS X 10.8.5, Xcode 5.0.2 (我是个穷,用的虚拟机), 设备Iphone 4, IOS 7.0.4 用前几天出来的 evasi0n7 越狱的,期间还失败了一次刷成了白苹果,大家自己小心哦。还有设备越狱以后请用Cydia 安装 AppSync, 具体方法 自己Google(可以试下 盘古越狱)

二,设备越狱。略,自己Google 记得装AppSync

三,破解Xcode。

1.伪造签名证书:

这步是整个过程中最简单的一步了,按照下面的图一步步做就可以了。

注意:名称 务必填写 iPhone Developer 注意大小写和空格,其次如果你本身有Apple的develop证书,比如是公司的或者是其他团队的,建议你先在钥匙串访问中 将他们全部导出,然后删除。以免不必要的影响。

2.修改Xcode 的配置文件。

注意:

下面的修改中如果有权限问题可以先复制一份,修改后在拷贝回去。

请右键用Xcode打开要修改的文件,进行编辑。网上也有人是用VI编辑的,不过我用VI编辑乱码。

每个文件编辑前最好备份,以免意外。

1)修改SDKsettings.plist文件

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/

打开该目录下的SDKSettings.plist文件,把CODE_SIGNING_REQUIREDENTITLEMENTS_REQUIRED的值改成NO

2)修改Info.plist文件

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/

打开该目录下的Info.plist文件,右击--Add Row,增加两项:

PROVISIONING_PROFILE_ALLOWED 值为 NO

PROVISIONING_PROFILE_REQUIRED 值为 NO

3)将上面Info.plist文件中的 "XCiPhoneOSCodeSignContext" 替换成"XCCodeSignContext"(共3处)

OK到这来配置文件就改好了,说白了就改了两个配置文件,这来有我改好的配置文件,如果你系统环境和我一样可以直接下载覆盖,不过我建议你自己修改。Info.plist  SDKSettings.plist

3.设置gen_entitlements.py脚本

这个脚本会在你每次生成APP的时候被调用,主要作用是生成一个签名用的entitlements文件,在后面签名的时候会用到。

在命令终端中执行如下命令,我将在每个命令后说明 如果你的环境执行命令失败,你就自己操作吧。

mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements

在 /Applications/Xcode.app/Contents/Developer/ 目录下创建一个 名为iphoneentitlements的目录

cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements

进入刚刚创建的iphoneentitlements目录

curl -O http://www.bobzy.cn/xcode/gen_entitlements.txt

下载 这个文件 到 iphoneentitlements 目录

mv gen_entitlements.txt gen_entitlements.py

重命名刚刚下载的文件,命名为gen_entitlements.py

sudo chmod 777 gen_entitlements.py

修改这个文件的权限,加上任意人可执行(此处可能要求你输入系统账号密码)

4. 修改项目属性 (每次新建项目都要执行)

1)点击TARGETS项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"Don't Code Sign"

2)点击Project项目图标,找到"BuildSettings"选项下的"Code Signing",将其值全部改为"iPhone Developer"

3)点击TARGETS项目图标, 切换到Build Phases选项,点击Editor – Add Build Phase – Add Run Script Build Phase,然后输入以下脚本:

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

注意my.company.${PROJECT_NAME} 最好替换为你APP的Bundle Identifier,以免不必要的的麻烦。

注意代码codesign  后面 s,f 前面的一个 - 符号,entitlements 前面是两个-- 符号

可以点击这里下载这份代码,直接复制进去

5. 连接设备

点Windows – Organizer ,然后选中你的设备,在右边窗口中点击“Use for Development” 即可,此时你的设备名称旁边应该显示黄色的小灯,重新拔插数据线,Organizer中会出现一个进度条,等这个进度条跑完,小灯就会变成绿色,开发模式 已经启用。

选择你的设备运行即可.

四, 常见错误

1."BuildSettings"选项下的"Code Signing",无法选择为"iPhone Developer",只能选择 IOS Developer 或者 Mac Developer, 重启一下Xcode 或者重启一下系统,新建的证书可能没有很好的识别出来.

2. Build 的时候报错 /bin/sh failed with exit code 2, Run Script Build Phase 脚本有问题,检查一下脚本粘贴的时候有没有多了空格或者少了空格的问题. 可以在 fi 前面加上

echo ${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent; 来输出xcent文件了路径,然后到这个路径下看看是不是有这个文件,如果没有请检查 gen_entitlements.py 是否真确。

手工在终端中执行 如下命令 注意替换 ${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent,观察是否生成了.xcent文件。

/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";

如果存在这个文件依旧保持 检查 codesign  命令可以手动执行,注意 –s –f 等参数的位置。

3.能编译过,但是运行会出一个failed to get the task for process **** 这样的错误,APP在设备上闪退,在Xcode上无法进行debug,请检查

TARGETS 和Project 下面"BuildSettings"选项下的"Code Signing" 是否配置正确。

4.Please verify that your device's clock is properly set, and that your signing certificate is not expired. 这个错误请检查设备是否越狱,越狱设备是否安装了AppSync 7 的版本。

转载来自:http://bobzy.blog.51cto.com/2109336/1346061

IOS 7 Xcode 5 免IDP证书 真机调试(转载)的更多相关文章

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

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

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

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

  3. Xcode 6 免证书真机调试

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

  4. Xcode 5、Xcode 6 免证书真机调试

    我们都知道,在iOS开发中,假设要进行真机调试的话是须要苹果开发人员账号的.否则Xcode就不可以进行真机调试.仅仅可以在模拟器上执行:这就带来了非常多问题,比方iCloud编程的话你不可以用模拟器. ...

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

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

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

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

  7. XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)

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

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

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

  9. iOS工具——Xcode9无证书真机调试

    入坑iOS开发这么久,一直都是在模拟器上运行,公司的项目也都有公司的开发者账号进行真机调试.但是很多时候在网上download一些demo想在真机上运行看一下效果的时候都没法成行,今天抽空好好研究和学 ...

随机推荐

  1. bootstrap's plugin:sthe usage of carousel

    if we want use the carousel.js,we need quote it in the page. sample code: <div id="myCarouse ...

  2. 2016中国大学生程序设计竞赛 - 网络选拔赛 1011 Lweb and String

    Problem Description Lweb has a string S. Oneday, he decided to transform this string to a new sequen ...

  3. Android 学习 之 无需类名启动其他程序

    在网上搜索了一会相关的实现代码,发现所有的文章都说是需要包名和类名.但是人家的程序,我们怎么可能知道哪个是第一个启动的Activity?所以,真正用在项目上,那种方法基本上没什么用的.于是查看官方文档 ...

  4. ThinkPHP使用方法

    1.下载ThinkPHP模板,整个导入到项目根目录下. 2.修改index.php文件,内容如下: <?php /***临时配置,项目完成开发后,这些配置会取消*******/define('A ...

  5. 剑指offer 连续子序列和

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public:     int FindGreatestSumOfSu ...

  6. 链表基础 HDU1267

    基础的链表,模拟一下就好了...就签个到

  7. 4-20ma电流信号转0-5v()

    源:4-20ma电流信号转0-5v 电压转电流电路原理图(0-5V转4-20mA) 4mA-20mA转0-5v电路问题,LM324一直输出10V

  8. JAVA字符串编码转换常用类

    无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题.尤其在web应用中常常需要处理中文字符,这时就需要进行字符串的编码转换,将字符串编码转换为GBK或者GB2312.一.关键技术点:    ...

  9. c# dev控件 gridcontrol 数据跟随鼠标滚轮滚动也可以编辑

    在绑定书到gridControl后经常发现: 如果你设置了 this.gridView3.OptionsBehavior.Editable = false; 那数据可以跟随滚轮滚动,但如果你要复制某个 ...

  10. Java之Property类使用

    http://blog.csdn.net/hopestar2/article/details/6372883 在项目中经常用到各种配置文件,有.properties的,也有.xml格式的 都可以通过j ...