XCode5 免证书真机调试,开发IOS7应用程序。

本方法是结合网上的帖子,自己理解了一下,结合一些小命令,做的。

最后有个附件,可以方便你的操作过程。有不合适的地方自己修改一下吧。

我在 OSX10.8 环境下 配合 IOS7 SDK,XCode5.0 调试成功。

注意,无证书调试,需要保证你的设备需要越狱!!!!First!

第一步,制作证书。

1. 注意证书的名字必须是:iPhone Developer,注意大小写。

2. 注意密钥使用扩展那个选项一定要保证“签名”被选中。 已扩展的密钥使用扩展,代码签名要保证选中。

具体操作就不再赘述,实在不会的去百度一下吧。

第二步, 修改XCode破解程序。

1. 打开一个shell终端,敲一下命令 sudo su ,回车,可能会要求输入密码,root密码。

2. 打开路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk ,找到SDKSettings.plist文件,修改两个项目:

把CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED的值改 成NO

如果是用VI修改的话,直接查找,然后把值改成NO即可。而且可以直接保存。

如果是使用xcode打开,可能保存不了,先另存到另一个地方,然后拷贝回去,覆盖原来的文件即可。

3. 修改Info.plist文件

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ 用XCode打开该目录下的Info.plist文件,右击Add Row,增加两项: PROVISIONING_PROFILE_ALLOWED 值为 NO PROVISIONING_PROFILE_REQUIRED 值为 NO

同样,如果无法保存,只需要拷贝,修改,再拷贝回去覆盖即可。

注意,这个文件还有地方要改。把 “XCiPhoneOSCodeSignContext” 替换成 “XCCodeSignContext”(共3处)

4. 设置脚本。gen_entitlements.py,权限为777,放到/Applications/Xcode.app/Contents/Developer/iphoneentitlements 文件夹下,如果没有,创建它。

。脚本的内容如下:

#!/usr/bin/env python

import sys import struct

if 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=”UTF8″?><!DOCTYPE plist PUBLIC “//Apple//DTD PLIST 1.0//EN” “ 1.0.dtd”><plist version=”1.0″><dict>

<key>applicationidentifier</key> <string>%s</string> <key>gettaskallow</key> <true/>

</dict> </plist>“”" % APPNAME

f = 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()

好吧,我知道你懒得复制粘贴,甚至创建文件。

这里还有命令行方法:

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

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

sudocurl -O

sudomv gen_entitlements.txt gen_entitlements.py sudo chmod 777 gen_entitlements.py

sudo chmod 777 /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py

这就好了。

我会提供一个脚本链接的,放心哈。

最后一步(经过测试,第一个项目好像必须有,从网上下载或者新建的项目不用改也能真机调试???)

打开项目,,在Build Settings里边找到Code Sign Identity,全都改成“Don’t Code Sign”

在Build Phases 选项中,点击右下角的 Add Build Phase,选择类型为Run Script。

在Script中输入以下脚本:

xport CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Devel oper/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

OK,以下是文件链接:(注意修改属性为可执行)

gen_entitlements

(只要复制内容贴到对应的XCode框里边)

RunScript

Info (这个跟XCode以及IOS SDK的版本有关系,如果不是SDK7.0 + XCode5不要直接下载覆盖)

SDKSettings(这个跟XCode以及IOS SDK的版本有关系,如果不是SDK7.0 + XCode5不要直接下载覆盖)

只做第一个我,不做第二个谁。

XCode5 免证书真机调试,开发IOS7应用程序。

相关文章:

你感兴趣的文章:

标签云: