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

今天带来的是 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 的版本。

好了,还有什么问题可以留言,我尽力回答.

xcode免证书开发相关推荐

  1. Xcode 免证书开发调试(结合网上资料整理)

    参考资料来源: http://www.51testing.com/?uid-225927-action-spacelist-type-blog http://bbs.9ria.com/thread-7 ...

  2. Xcode 3.2.5免证书开发调试[转]

    转自:  http://blog.csdn.net/zhanglei5415/article/details/6214634 Xcode编译遇到过 Code Sign error: a valid p ...

  3. [转]xcode免证书调试

    X6+IOS8免证书http://www.tuicool.com/articles/ZvmER3 方法和X5+IOS7差不多,在X6.1+IOS8.1测试可用,但开始出现问题,删除之前自建证书重新建立 ...

  4. Xcode免证书打包ipa

    1,创建证书 打开"钥匙串访问"创建证书 填写好内容后点击继续,之后的步骤什么都不用改,一路点击"确定"和"继续",最后完成这个向导就可以了 ...

  5. Xcode免证书导出ipa文件

    1.首先在真机上跑一遍app 2.com+shift+, 3.然后会看到这个页面,点击profile 4.点击第二个executabl,点击other... 5.进去release-iphoneos ...

  6. 破解XCode 3.2.5 免证书运行程序到 真机ipod(已破解)

    原文地址:http://www.opensoce.com/?p=1396 Xcode编译遇到过 Code Sign error: a valid provisioning profile matchi ...

  7. iPad2 iOS 5.0.1+ Xcode 4.3 免证书(iDP)开发 + 真机调试 生成IPA全攻略

        欢迎转载,请务必注明出处:本文转载自 岳生博客 http://zhyuesheng.blog.163.com     参考了国内外多篇文章,本文所述攻略在以下开发环境下验证通过.      开 ...

  8. Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略

    Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略 文章目录 1. 创建证书 2. 修改Xcode的配置文件 3. 准备自定义的生成后脚本 4. 修改工程设置 5. 旁门左道生成 ...

  9. iOS开发-https免证书验证

    此处博主做一个声明,如果你想跳过https的双向验证,仅仅单向进行直接信任所有的证书,那么你们的后台也必须是允许单向验证的,否则设置了双向验证,客户端是无法跳过的,实在不想当初辛苦的经验被无知的小白说 ...

最新文章

  1. VS2008,vs2010 快捷键大全
  2. dump java崩溃自动 不生成_一个宏命令,就可以程序崩溃时生成dump文件
  3. mysql 高效分页查询_PostgreSQL、MySQL高效分页方法探讨
  4. 揭秘腾讯云最新音视频及融合通信技术实践
  5. 计算机网络:子网划分、子网掩码、CIDR 、路由聚合相关计算详解
  6. 从头开始vue创建项目_我正在以设计师的身份开始一个被动的收入项目。 从头开始。...
  7. 如何自动从Word表格中提取高亮(不同颜色)文本--Java实现
  8. Spring : 基于tx标签的声明式事物
  9. c++ xml 解析“后直接跟值问题
  10. 【easy!】LeetCode 14. Longest Common Prefix
  11. python中的math.floor可以用于整数吗_为什么Python的math.ceil()和math.floor()操作返回浮点数而不是整数?...
  12. Redis Cluster集群原理+三主三从交叉复制实战+故障切换(十)
  13. 2020年5月面试精心整理java面试题,覆盖了大部分面试题(附答案)
  14. rk3128-android7-定频
  15. 数学基础(矢量, 向量,矩阵,相等,加法,乘法)
  16. 准备Scrum之旅 之 Hello,温哥华——《轻松Scrum之旅》(16)
  17. 硬件知识:一款全隔离的电机驱动电路分析
  18. python实部和虚部都是浮点数_python实部和虚部都是浮点数_python——Numpy库
  19. tableau 自定义版块地图
  20. 使用二进制方式安装高可用k8s

热门文章

  1. 常用正则表达式汇总—(数字匹配/字符匹配/特殊匹配)
  2. 图解IFRS9 金融工具(11)现金流套期及公允价值套期比较异同
  3. MybatisMybatisPlusSpringboot之最全入门学习教程笔记
  4. 父类引用指向子类对象的问题,即父类 对象名=new 子类
  5. linux mysql 端口号_linux下mysql 查看默认端口号与修改端口号方法
  6. Android短信大全
  7. 提升丨学习,偷偷卷起来吧
  8. 门掩黄昏,无计留春住【城南旧事】
  9. 点亮东京2020,英特尔技术成就更多美好
  10. IDEA创建 Git 分支