当前位置: 首页 > 科技观察

XCode6.0的iOS免证书真机测试方法(MAC和黑苹果都有效)

时间:2023-03-16 15:00:22 科技观察

目前在XCode上开发的iOS程序只能在模拟器Simulator中运行。如果要在真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年!作为一个刚开始学习iOS编程的菜鸟,花这么大一笔钱真的很痛苦。..折腾了好久,借鉴了各位大神的帖子,终于在真机上编译运行成功了!下面就把方法分享给大家。我的运行环境是:[电脑]XCode6.0.1+OSX10.9.5[真机iPodTouch]iOS6.1准备工作:1、首先你需要一个越狱的iPhone/iPod/iPad。越狱方法如下:哪里都不可用。2、测试用的真机Cydia添加源:http://apt.weiphone.com,下载适合真机系统版本的AppSync。3.在将用于签署生成的程序的计算机上创建一个证书。创建证书创建证书的过程比较简单,在电脑上打开“其他-钥匙串访问”。然后点击菜单栏中的“KeychainAccess-CertificateAssistant-CreateCertificate...”打开向导。注意这里的三个地方,必须命名为iPhoneDeveloper,类型设置为codesigning,勾选“Letmeoverridethesedefaultvalues”。后面的步骤不需要做任何改动,一路点击“确定”和“继续”即可,最终完成这个向导。4.如果Xcode正在运行,请Command+Q完全关闭它。然后打开“Other-Terminal”,我们需要使用一些UNIX命令,这可能看起来很麻烦,但相信我,这样一年可以节省99!①进入iPhoneSDK目录,命令如下:cd/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/备注:不同版本的Xcode***有不同的版本号。在Xcode6.0中为iPhoneOS8.0.sdk,以后的版本可能会高一些,之前的版本可能会低一些。请根据实际情况进行修改。(如果实在不知道自己的版本号,可以用“ls”命令查看所有文件。)②备份原文件。如果电脑有密码,系统会提示输入密码(输入后不会显示,回车即可)sudocpSDKSettings.plistSDKSettings.plist.orig③编辑配置文件SDKSettings.plist,以便方便修改,我们可以直接用Xcode打开这个文件。首先,打开这个文件所在的目录:open。在弹出的Finder窗口中双击SDKSettings.plist,启动Xcode图形界面,展开DefaultProperties分支,将下面两个属性ENTITLEMENTS_REQUIRED和CODE_SIGNING_REQUIRED改为NO。备注:这里可能会遇到系统提示【"SDKSettings.plist"islockedforediting...】,这是因为文件读写权限问题,解决方法如下:首先,修改文件夹权限。此时我们所在的目录是iPhoneOS8.0.sdk,如果输入命令“cd..”返回上级目录,“ls-al”查看所有文件,会发现系统显示iPhoneOS8.0.sdk->iPhoneOS.sdk,也就是说iPhoneOS8.0.sdk是指向iPhoneOS.sdk的快捷方式,所以我们真正要修改的文件夹是iPhoneOS.sdk,命令如下:sudochmod-R777iPhoneOS.sdk然后,修改文件夹下所有文件的读写权限:sudochmod777*现在双击打开SDKSettings.plist,你会发现刚才不能修改的属性可以修改了!④编辑另一个配置文件Info.plistcd/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platformsudocpInfo.plistInfo.plist.origopen。在弹出的Finder窗口中双击打开Info.plist。DefaultProperties分支下,RuntimeRequirements分支下,OverrideProperties分支下,一共3个地方。将所有XCiPhoneOSCodeSignContext更改为XCCodeSignContext。备注:同步骤③,可能会遇到权限问题,修改Platforms文件夹和该文件夹下所有文件的权限即可,步骤同上。5.准备自定义后生成脚本(这一步需要在联网状态下完成)/www.alexwhittemore.com/iphone/gen_entitlements.txtsudomvgen_entitlements.txtgen_entitlements.pysudochmod777gen_entitlements.py6。修改项目设置备注:在此阶段之前,修改配置文件,准备脚本等,只需要做一次。但是这个阶段的操作对于每个需要真机调试的项目都必须做一次。①关闭Xcode的自动签名操作。将项目配置“BuildSettings”中的所有CodeSigning选项设置为Don'tCodeSign,如图。②添加自定义构建脚本在BuildPhases中,点击左上角的“+”号,添加一个“NewRunScriptPhase”,输入如下脚本:exportCODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/平台/iPhoneOS.platform/Developer/usr/bin/codesign_allocateif["${PLATFORM_NAME}"=="iphoneos"]||["${PLATFORM_NAME}"=="ipados"];then/Applications/Xcode.app/目录/Developer/iphoneentitlements/gen_entitlements.py"my.company.${PROJECT_NAME}""${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";codesign-f-s"iPhoneDeveloper"--entitlements"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent""${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"fivia:LiuLiu的笔记本现在配置完成了!!!连接到您的iPhone/iPod/iPad,编译运行,当您在真机屏幕上看到程序运行时,您将节省99!!!感谢大神贴出Xcode5+iOS7免证书(iDP)真机调试生成IPA攻略。