先说一下环境,系统是 mac 10.10.4 ,Xcode 6.3,iphone 6 plus,ios 8.2 已越狱
这种办法手机必须得越狱,没有越狱的就不用试了,去taobao买个证书折腾折腾,说不定也行,我没试过,可以的话请告知我
OK,进入正题,这里有几个问题
1、Xcode6.3 sdk只有ios8.3,想要在ios8.2的手机上调试,就需要安装ios 8.2 的sdk,在Xcode 升级完之后,旧版本的sdk会被删掉,所以要装旧版本的sdk,就必须要重新下载旧版本的Xcode,我这里下载的是Xcode 6.2 Beta版,安装完之后,在应用程序里面,找到Xcode Beta,显示包内容
sdk 目录 /Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
把ios8.2的sdk复制到Xcode 6.3同样的目录下面,这里需要注意的是iPhoneOS.sdk这个目录名会重复,先重命名,随便在后面加个123都行,复制完之后
重启Xcode就可以看到有ios 8.2 的sdk了。
2、创建证书,这个网上有很多,我这里随便说一下就行,首先打开钥匙串访问 -> 证书助理 -> 创建证书
名称:iPhone Developer,
一路继续,
在证书信息,电子邮件地址那里填你的Apple ID
接下来又是一路的继续,最后点击创建就可以了。
3、创建签名脚本,创建一个gen_entitlements.py文件,将以下代码复制进去
#!/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="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> """ % 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()
4、差不多了,打开Xcode,确保你的Xcode是完全退出,然后重新打开的,打开之后,点击你的工程,在右边的找到,sdk设置为 ios8.2,并且设置为不签名
在Build Phases 里面新建一个Run Script
里面的内容在这里
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
最后,用usb连上你的iphone,然后Xcode提示的时候选择你的Iphone,不要选择模拟器,几秒钟之后你的手机上就会自动你的app了,另外如果想讲app打包成ipa,可以先用Xcode调试一遍,装到手机里面,然后用itools导出即可
至此Xcode 6.3 免证书真机调试 告一段落
原文地址:http://blog.csdn.net/qq362228416/article/details/46573609