如何在没有99美元的Apple证书的情况下,将Xcode的iPhone应用程序部署到真正的iPhone设备?
我用过两个混音:Jason和alex's.第二,我们有能力调试的优势.我将大部分只是复制下面的两个(并简化alex's):
更新2012年1月:这仍适用于SDK 4.2.1和iOS 5.0.1 - 我刚刚在新的计算机和设备上测试了它!
修补iPhone SDK以允许使用此证书:
启动Keychain Access.app.如果未选择任何项目,请从"钥匙串"菜单中选择"证书助理",然后选择"创建证书".
名称: iPhone开发者
证书类型: 代码签名
让我覆盖默认值: 是的
单击继续
有效期: 3650天
单击继续
空出的电子邮件地址字段.
单击继续直到完成.
您应该看到"此根证书不受信任".这是预料之中的.
设置iPhone SDK以允许使用自签名证书:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
如果您打开Xcode,请重新启动它以使此更改生效.
如果你在iOS 5上,那就是它!现在就试试!它可能不允许调试,但应用程序将在那里!
我对此感到非常惊讶,因为你应该知道,我不知道所有这些黑客都是关于什么的!正如我指出的那样,我所做的只是改进了我在其他地方发现的一点点.
所以,是的,整个方法不再以同样的方式工作,我无法找到一个新的...除了这个,它使用一个名为Theos的工具,但我无法完成整个过程.
最后,如果您因任何原因需要卸载它,请查看此帖子的结尾.在我的情况下,我不得不因为我无法弄清楚为什么所有蓝色这整个方法都停止工作,我不能再关心了,因为我们已经获得了漫长的等待许可.(FUNING DUNS号码需要很长时间......)
.
.
.
.
.
2.启用Xcode以在Jailbroken设备上构建在越狱的iPhone上,通过添加源**安装app AppSync**http://repo.hackyouriphone.org**
删除代码签名和权利的SDK要求(我很喜欢sed!):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
要注意的iPhoneOS5.0.sdk
部分.例如,如果你使用iOS 4.2 SDK,只需相应地替换它:
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
通过修补Xcode来结束需求删除.这意味着二进制编辑:
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 printf "\xc3\x26\x00\x00" >> 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
如果您打开了Xcode,请重新启动它以进行此更改(以及最后一次)以使其生效.
打开"项目>编辑项目设置"(从菜单中).单击"构建"选项卡.在列表中找到"代码签名标识"及其子"任何iPhoneOS设备",并将两者都设置为"不要代码签名"条目:
在此之后可以随意撤消第3步.至少在我的情况下它很好.
使用我们自定义的自签名证书(第一个操作方法)将Xcode设置为代码签名.如果您不想调试,可能会跳过此步骤:
mkdir /Developer/iphoneentitlements401 cd /Developer/iphoneentitlements401 curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt mv gen_entitlements.txt gen_entitlements.py chmod 777 gen_entitlements.py
插入iPhone并打开Xcode.打开窗口>管理器.从左侧列表中选择设备,然后单击"用于开发".系统将提示您输入配置网站,单击"取消".它可以使合法配置更容易,但不会使非法配置变得更加困难.
现在,您必须为您制作的每个新项目执行此最后一部分.转到菜单Project> New Build Phase> New Run Script Build Phase.在窗口中,复制/粘贴此:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate if [ "${PLATFORM_NAME}" == "iphoneos" ]; then /Developer/iphoneentitlements401/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
.
.
.
.
卸载第1部分:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
第二部分:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
如果您确实执行了步骤3而不是2,那么也只需相应地修改它:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
其余的,只是恢复你在XCode上所做的事情并删除/Developer/iphoneentitlements401/gen_entitlements.py
你想要的:
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
听起来应用程序没有签名.从Cydia下载ldid,然后像这样使用它:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
还要确保二进制文件标记为可执行文件: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
为了在真实设备上测试您的应用程序而不是支付Apple开发人员费用(或越狱您的设备),您可以使用Xcode 7和iOS 9支持的新免费配置.
以下是文档中或多或少采取的步骤(非常好,所以请阅读):
1.在Xcode中添加Apple ID
转到XCode>首选项>帐户选项卡>添加按钮(+)>添加Apple ID.请参阅文档以获取更多帮助.
2.单击"项目导航器"中的"常规"选项卡
3.从"团队"弹出菜单中选择Apple ID.
4.连接设备并在方案菜单中选择它.
5.单击"修复问题"按钮
如果您收到有关捆绑包名称无效的错误,请将其更改为唯一的.
6.运行您的应用程序
在Xcode中,单击"生成并运行"按钮.
7.在设备设置中信任app开发人员
运行应用程序后,您将收到安全性错误,因为您要运行的应用程序不是来自App Store.
在您的设备上,转到设置>常规>配置文件> 您的Apple-ID-name > Trust your-Apple-ID-name > Trust.
8.再次在您的设备上运行您的应用程序.
而已.您现在可以运行自己的(或任何其他具有源代码的应用程序),而无需支付99美元.感谢Apple,最终允许这样做.
您不能,如果您正在讨论使用官方SDK构建的应用程序并直接从xcode部署.
你必须越狱你的设备.
有一种方法可以部署iPhone应用程序而无需支付给苹果.您必须越狱设备并按照http://www.alexwhittemore.com/?p=398中的说明进行操作
我在任何地方都看不到任何东西表明你可以在没有(付费)证书的情况下临时部署到真正的iPhone.