xcode 4.6 破解及真机调试
来源:互联网 发布:iptables禁止端口访问 编辑:程序博客网 时间:2024/05/22 07:40
从安卓到IOS,从 eclipse 到xcode跨度还是比较大的。在研究的过程中发现,许多时候不仅仅是C,C++,JAVA和OBJECT-C的区别,相对于编程语言来说,操作习惯和开发工具带来的困惑要更大。常规的回到桌面,文件管理,复制,粘贴,切换输入法,已经让人有些不舒服了。而 xcode的使用也比较痛苦,既不同于ECLIPSE,也不同于NET,也没有找到可以使用终端开发的方法。由于版本的不同,再也没有比在一堆菜单和设置选 项中翻来翻去更痛苦的事了。不过后来找到了不少和LINUX相类似的终端命令 ,才使 我终于在开发中松了一口气,开发的效率才有了一些保证。不同操作系统平台原始级的字符操作界面是如此的相似,这也许可以解释为什么在强力IDE时代,为什么还有人喜欢抱着巴掌大的黑窗口不放的原因吧。各种操作平台的提供了差不多一致的命令和相似的操作,熟练掌握一套,遇到其他系统也可以差不多八九不离十的使用了,甚至不需要去阅读MAC使用手册。
xcode 4.6是比较新的xcode 版本,与以后的版本变化比较大,网上很多资料不太准确。
第一步:制作证书
1)打开 Finder->应用程序->实用工具 -> 钥匙串访问
2)单击:"钥匙串访问"选择 "证书" 再选择"创建证书"过程如下图:
注意:证书名称必须填写为 iPhone Developer,在4.6中,几乎一步就完成了,不需要做什么特殊设置,默认就一步通过。其他版本不是这样,需要设置邮箱,密钥长度,用途等。第二步:修改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
注:A。这是4.6的配置文件路径,其他版本似乎在别的路径,如:/Developer/Platforms/iPhoneOS.platform,B。最好先把SDKSettings.plist备份,以保证在修改出错时能够还原。即使 你不会犯错,最好还是备份下,以后如果拿到了开发者帐号,成了正规军后,这个仍然可以用于还原。可以使用CP命令做一副本。C。如遇到文件无法解锁没有权限不能修改,可以在终端使用sudo -i切换到ROOT,然后使用chmod修改该文件属性为A+X
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处)分别在DefaultProperties分支下、RuntimeRequirements分支下和OverrideProperties分支下。注:A。Info.plist在修改之前,最好做一个备份,以用于还原。B。在4.6中是一个二进制文件,必需使用XCODE 编辑,如果修改不成功,同样先使用ROOT权限chmod修改这个文件属性为A+X
第三步:设置gen_entitlements.py脚本权限
注:如果你的电脑联网了,那么执行1)的命令后会在相应的目录自动创建iphoneentitlements文件夹及其下的gen_entitlements.py文件,如执行后没有生成指定文件,请重复执行下面的命令或者换第二种方法,两种生成脚本文件的方法任选一种。
1)在终端执行如下命令: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.py
sudo chmod 777 gen_entitlements.py这几行指领就是创建一个gen_entitlements.py的文件,内容从网络获取。
2)上面的命令执行成功之后,会在/Applications/Xcode.app/Contents/Developer/目录下生成一个iphoneentitlements文件夹和其下的gen_entitlements.py文件,如果你的电脑没有联网或者不能自动生成相关目录文件,那么需要手动在相应的目录创建指定的文件,随后需要给gen_entitlements.py设置权限。
gen_entitlements.py脚本文件的内容如下:
#!/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()
第四步:修改项目属性
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中会出现一个进度条,等这个进度条跑完,小灯就会变成绿色,开发模式已经启用。
第六步:打包应用程序,生成ipa文件
在xcode上选择product菜单,选择Build For ---> Build for Achiving,就能成一个APP文件了。
然后把这个APP文件拖到itunes,就可以生成一个ipa文件,IPA可以分发给你的朋友和客户或者认识的人,让他们帮你测试程序。参考:
http://blog.csdn.net/abcddtt/article/details/9074099
http://www.cnblogs.com/flyingzl/articles/2207717.html
http://kqwd.blog.163.com/blog/static/4122344820117191351263/
- xcode 4.6 破解及真机调试
- xcode 破解,真机调试
- XCode破解真机调试
- Xcode 4.x 破解及真机调试
- xcode 3.2.5 真机调试破解
- 破解xcode无证书真机调试
- Xcode真机调试及打包
- xcode 4.0.2破解,实现真机调试
- 免99美刀XCode破解真机调试
- 破解Xcode实现无证书真机调试(Xcode4.6)
- 免99美刀XCode破解真机调试
- 免99美刀XCode破解真机调试
- xcode 真机调试
- xcode 4.4.1 for Mountain Lion破解及真机器调试
- iOS杂谈20—Xcode破解免证书真机调试(包含4.1以上xcode)
- XCode 4.6无证书真机调试
- xCode 4.X 免证书真机发布及调试
- xCode 4.X 免证书真机发布及调试
- SSH反向连接及Autossh
- 全文索引-lucene,solr,nutch,hadoop之solr
- HDU 4758 Walk Through Squares && AC自动机+状压DP
- MySQL中select语句详解
- stretchableImageWithLeftCapWidth:topCapHeight:函数用法
- xcode 4.6 破解及真机调试
- 初识Objecive-C 之 面向对象(一)
- 2-sat->poj 3207 Ikki's Story IV - Panda's Trick
- java中package打包之后使用javac编译的格式
- 空格和基本格式,c++里面的一些知识!
- 拒绝采样(rejection sampling)
- 导航电子地图的一些研究团队
- ios cell 样式
- make初试