图文并茂 在ML OS X 10.8 + XCode4.4下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
来源:互联网 发布:js设置div 的id 编辑:程序博客网 时间:2024/05/17 21:41
本贴理论上支持XCode4.x所有版本,但没有实际测试,如果你的版本不是4.4,可以搜索其他相关的帖子,结合本帖进行破解,步骤都是差不多的。如果你是XCode4.4 + IOS5.1,那么只要一步一步细心按照本帖操作,100%会成功的!
ps:使用无证书调试,也意味着你的设备要越狱!
第一步:制作证书
1)打开 Finder->应用程序->实用工具 -> 钥匙串访问
2)单击:"钥匙串访问"选择 "证书" 再选择"创建证书"过程如下图:
注意:证书名称必须填写为 iPhone Developer
第二步:修改XCode配置文件
1)修改SDKsettings.plist文件
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
打开该目录下的SDKSettings.plist文件,把CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED的值改成NO
2)修改Info.plist文件
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/
用XCode打开该目录下的Info.plist文件,右击--Add Row,增加两项:
PROVISIONING_PROFILE_ALLOWED 值为 NO
PROVISIONING_PROFILE_REQUIRED 值为 NO
3)将上面Info.plist文件中的 "XCiPhoneOSCodeSignContext" 替换成 "XCCodeSignContext"(共3处)
第三步:设置gen_entitlements.py脚本权限
1)文件的内容为:
/Applications/Xcode.app/Contents/Developer/iphoneentitlements/
#!/usr/bin/env pythonimport sysimport structif len(sys.argv) != 3: print "Usage: %s appname dest_file.xcent" % sys.argv[0] sys.exit(-1)APPNAME = sys.argv[1]DEST = sys.argv[2]if not DEST.endswith('.xml') and not DEST.endswith('.xcent'): print "Dest must be .xml (for ldid) or .xcent (for codesign)" sys.exit(-1)entitlements = """<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>application-identifier</key> <string>%s</string> <key>get-task-allow</key> <true/></dict></plist>""" % APPNAMEf = open(DEST,'w')if DEST.endswith('.xcent'): f.write("\xfa\xde\x71\x71") f.write(struct.pack('>L', len(entitlements) + 8))f.write(entitlements)f.close()
2)在终端执行如下命令:
mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlementscd /Applications/Xcode.app/Contents/Developer/iphoneentitlementscurl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txtmv gen_entitlements.txt gen_entitlements.pysudo chmod 777 gen_entitlements.py
第四部:修改项目属性
1)点击项目图标,找到"Build Settings"选项下的"Code Sign Identity",将其值全部改为"Don't Code Sign"
2)切换到Build Phases选项,点击右下角的Add Build Phase,然后单击Add Run Script,然后在Run Script中输入以下脚本:
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocateif [ "${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
第四部:连接设备(iphone/ipad)
点XCode右上角的Organizer图标,然后选中你的设备,在右边窗口中点击“Use for Development” 即可,此时你的设备名称旁边应该显示黄色的小灯,重新拔插数据线,Organizer中会出现一个进度条,等这个进度条跑完,小灯就会变成绿色,开发模式已经启用。
测试程序:
创建一个Page-based Application工程,修改Build Settings和Build Phases下面的相关配置(参考第四步)
1)选择你的设备
2)随便拖一个button,然后点击运行(Run)
3)我的iphone运行截图
- 图文并茂 在ML OS X 10.8 + XCode4.4下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- 图文并茂 在ML OS X 10.8 + XCode4.4/4.4.1下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- [环境搭建] 图文并茂 在ML OS X 10.8 + XCode4.4下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- 图文并茂 在ML OS X 10.8 + XCode4.4/4.4.1下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- 图文并茂 在ML OS X 10.8 + XCode4.4/4.4.1下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- 图文并茂 在ML OS X 10.8 + XCode4.4/4.4.1下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- 图文并茂 在ML OS X 10.8 + XCode4.4/4.4.1下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- ML OS X 10.8 + XCode4.4下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- Win7+虚拟机OS X 10.8.5+Xcode4.6.3+越狱iPhone4+iOS5.1.1真机调试及生成ipa包
- 破解Xcode实现无证书真机调试(Xcode4.6)
- Xcode实现无证书真机调试(支持Xcode4.6)
- XCode4.3.3/4.2/4.3 + iOS5.1 无证书开发 、真机调试、生成IPA
- XCode4.3.3/4.2/4.3 + iOS5.1 无证书开发 、真机调试、生成IPA
- XCode4.3.3/4.2/4.3 + iOS5.1 无证书开发 、真机调试、生成IPA
- 破解Xcode实现无证书真机调试(支持Xcode4.6)
- 破解Xcode实现无证书真机调试(支持Xcode4.6)
- 破解Xcode实现无证书真机调试(支持Xcode4.6)
- 破解Xcode实现无证书真机调试(支持Xcode4.6)
- easyUI ProgressBar
- 利用MEDIAPLAYER制作ANDROID播放器 .
- 编码知识学习笔记之三
- C#解析XML文件
- HDU-2795(线段树入门)
- 图文并茂 在ML OS X 10.8 + XCode4.4下实现无证书真机调试IOS5.1.1(亲测,附调试截图)
- RAII详解
- 遍历Map集合的多种方式
- 初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)
- 年终工作总结:给新手程序员的几个建议
- C语言程序设计第三版 谭浩强课后习题答案完整版
- UUID mismatch detected
- linux操作系统中,ctags的用法
- VI的使用命令