【原】xcode5&IOS7及以下版本免证书真机调试记录
搞了有一段IOS开发了,之前一直在企业做,近阶段主要在公司做C++服务端开发,打算在空闲实现搞搞个人开发,为自己赚钱,IDP还没申请下来,所以先用此方法在越狱设备上先做一下app的免证书真机调试,先记录如下:
想要免证书真机调试必须牢记以下的准则:
准则1:设备必须先越狱,而且用cydia装好appSync补丁
准则2:在前期操作过程中,xcode5必须保持完全关闭状态,否则有些变化无法更改
方法与低版本的xcode实现方法大同小异。
Let`s go.
1、创建证书:
利用mac的实用工具钥匙串创建,选项严格按照如下填写,剩下的就是下一步下一步,邮箱该填的填,不填也没事
2.直接双击/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk 此目录下的SDKSettings.plist
3. 双击/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/下的Info.plist
把全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext,有三个地方出现,可以按cmd+f查找。
4. (低版本xcode有介绍,但我没这么做,可以先跳过,后面报错了再回来补这个步骤)打个二进制补丁。
打上下面内容.
#!/bin/bash cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 printf "xc3x26x00x00" >> working /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original /bin/mv working iPhoneOS\ Build\ System\ Support chmod a+x iPhoneOS\ Build\ System\ Support
授予这个脚本执行权限并执行它
- 231+1 records in
- 231+1 records out
- 115904 bytes transferred in 0.001738 secs (66694555 bytes/sec)
5、准备脚本,为后面做准备,把下面的命令行在联网的情况下一行一行执行:权限不够的话先进入sudo -s 进入超级管理员权限
mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt mv gen_entitlements.txt gen_entitlements.py chmod 777 gen_entitlements.py
最后一句意思是将该脚本文件设为可执行。
6、以下的步骤每个想真机调试的工程都要执行!
7、添加自定义的脚本,这一步将会让xcode执行上一步的脚本文件:
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
8、脸上设备,到xcode->organizer中看设备是否是绿灯。然后点击运行,ok
过程中容易出现的问题以及解决方法见:
http://wenku.baidu.com/link?url=p5h0zFvPkvtav8z9f17n1wCItb8bqoAP4KbrCl91ewgVfIhPSuLGLBNjpru9dQGKFNh_TTGHVe3PsSKky_PuxJcIn4BUhr2aY2IBpNvEMKO