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

5,CodeSign error: code signing is required for product type Application in SDK iOS

在真机测试的时候往往会突然出现这样一个错误,code signing is required for product type 'Application' in SDK 'iOS 7.0'  ,就是说代码签名证书不对劲。

解决方案,

1.选择工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iPhone Developer

2.重新下载你的证书,或者修改通配符,或者说修改你的appid 。选择工程 -》Bundle Identifier  修改为最新的appid 。造成这种原因是因为你修改了你的app sdk版本。

如果还不行,可以试试
Edit Project Setting 下面的那个菜单:Edit Active Target “Hello World” =》Build =》 Code Signing =》 Any ios 的值设置为iphone Developer

生成IPA文件

正常情况下IPA文件是从Xcode的Organizer中输出的,但是我们没有证书,这样输出会产生错误。我们只能用个小trick来完成这个操作了。

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

转载于:https://blog.51cto.com/zhangjiansong0/1430009

IOS 7 Xcode 5 免IDP证书 真机调试相关推荐

  1. IOS 7 Xcode 5 免IDP证书 真机调试(转载)

    最近转开发了,真的很久没有更新博客了,今天有空写一篇吧. 今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调 ...

  2. IOS 7 Xcode 5 免IDP证书 真机调试 【修改自无心圆的博客】

    修改自 IOS 7 Xcode 5 免IDP证书的真机调试. 注意:虽然可以用这个方法实现真机调试,不过不能实现向Apple store 发布APP,其次向Notification这种需要去Apple ...

  3. (转)IOS 7 Xcode 5 免IDP证书 真机调试

    原资料地址:http://bob-zhangyong.blog.163.com/blog/static/17610982013112855551277/ 最近转开发了,真的很久没有更新博客了,今天有空 ...

  4. IOS 7 Xcode 5 免IDP证书 真机调试[ZT]

    转自:http://bobzy.blog.51cto.com/2109336/1346061 最近转开发了,真的很久没有更新博客了,今天有空写一篇吧. 今天带来的是 IOS 7 Xcode 5 免ID ...

  5. x-code 4.61 无证书真机调试

    第一步:制作证书 1)打开Finder->应用程序->实用工具->钥匙串访问 2)单击:"钥匙串访问"选择  "证书" 再选择"创建 ...

  6. Xcode 5免证书真机调试

    今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调试,不过不能实现向Apple store 发布APP,其次 ...

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

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

  8. Xcode 6 免证书真机调试

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

  9. 【原】xcode5IOS7及以下版本免证书真机调试记录

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

最新文章

  1. Python 中的模块和包
  2. centos6安装mysql 5.5_CentOS6.5上安装MySQL5.5
  3. 【快代理】隧道代理使用教程
  4. android 数独实训报告,数独实验报告范文
  5. UML统一建模语言快速入门
  6. html圆圈里面问号,UTF-8编码的html页面显示-(问号)而不是字符
  7. linux 延迟 10 ms,网络延迟10ms怎么做到(增加网络延迟软件)
  8. 网络安全笔记-99-渗透-业务安全
  9. 计算机桌面图标有阴影,桌面图标有阴影怎么去掉?教你轻松解决
  10. 彻底关闭win10更新自动更新 卸载win10自带杀毒软件 新增联想软件 lenovo quick fix
  11. 启之航:抖音小店的新品优化怎么做?
  12. 开启xmp1还是2_家用门窗常见开启方式及优势
  13. 《初级会计实务》考试学习分享之第八章 ——政府会计基础【考试大纲】
  14. Eclipse在导入项目时显示 “Invalid Project Description”时的处理方法
  15. java继承a mya new c,java – 为什么外部类不能扩展内部类?
  16. Java除法结果带小数、进一法的实现
  17. 日程安排小程序实战教程(上篇)
  18. 对着Java性能调优,艿艿也很无奈···
  19. Linux 网络编程——浅谈 C/S 和 B/S 架构
  20. 稀疏表示理论问题优化模型

热门文章

  1. 建立ssh隧道_快速掌握 SSH 端口转发,助力远程工作
  2. 图灵机器人调用数据恢复_python:用itchat打造属于自己的微信聊天机器人,24小时运行...
  3. easyui 的 toolbar配合图标使用
  4. 删除部分mysql日志_正确删除MYSQl日志方法
  5. java异常机制_全面理解java异常机制
  6. 对于计算机专业的调查报告,计算机专业调查报告.doc
  7. phpcms v9 index.php,Phpcms V9后台登录地址修改方法
  8. linux资源异常无法fork,linux 下 fork 后的文件资源处理问题
  9. 北京大学生物信息学学习(6)隐含马尔可夫模型
  10. 英国PHP轴承,php – 纵向宽度将如何影响轴承