如何在没有99美元的Apple证书的情况下将iPhone应用程序从Xcode部署到真实的iPhone设备?
如何在没有99美元的Apple证书的情况下将iPhone应用程序从Xcode部署到真实的iPhone设备?
Answers:
听起来该应用程序未签名。从Cydia下载ldid,然后像这样使用它:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
另外,请确保将二进制文件标记为可执行文件: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
我混合使用了两种方法:Jason和alex。在第二个方面,我们具有能够调试的优势。我将主要只复制以下内容(并简化alex的内容):
2012年1月更新:这仍然适用于SDK 4.2.1和iOS 5.0.1-我刚刚在新计算机和设备上对其进行了测试!
修补您的iPhone SDK,以允许使用此证书:
启动Keychain Access.app。在未选择任何项目的情况下,从“钥匙串”菜单中选择“证书助手”,然后选择“创建证书”。
点击继续
点击继续
空出的电子邮件地址字段。
单击继续,直到完成。
您应该看到“此根证书不受信任”。这是预期的。
设置iPhone SDK以允许使用自签名证书:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
如果您打开了Xcode,请重新启动它以使更改生效。
而且,如果您使用的是iOS 5,就可以了!现在就试试!它可能不允许调试,但是该应用程序将在那里!
我对此感到非常惊讶,因为,如您所知,我不知道所有这些黑客行为到底是什么!正如我所指出的,我所做的只是在一点点改进。
所以,是的,整个方法不再以相同的方式工作,我再也不用费心去寻找一个新的方法了……除此之外,它使用了一个名为Theos的工具,但我无法完成整个过程。
最后,如果您出于任何原因需要将其卸载,请查看本文的结尾。就我而言,我不得不这样做是因为我不知道为什么整个方法都无法正常工作,而且我已经在等待很长时间了,所以我不在乎。(吓人的DUNS号码需要很长时间...)
。
。
。
。
。
在越狱的iPhone上,通过添加源** http://repo.hackyouriphone.org ** 安装应用程序AppSync。
删除代码签名和权利的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设备”,并将两者都设置为条目“ Do n't Code Sign”:
在此之后,可以随意撤消第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。打开窗口>整理器。从左侧列表中选择设备,然后单击“用于开发”。系统将提示您输入配置网站登录名,单击“取消”。它的存在使合法的配置更加容易,但不会使非法的非配置更加困难。
现在,您必须为制作的每个新项目做最后一部分。转到菜单项目>新构建阶段>新运行脚本构建阶段。在窗口中,复制/粘贴以下内容:
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
。
。
。
。
对于第一部分:
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
The identity used to sign the executable is no longer valid. ... (0xE8008018)
即使我将3650天过期。手机本身似乎正在检查。
为了在真实设备上测试您的应用程序而不是支付Apple Developer费用(或越狱您的设备),您可以使用Xcode 7和iOS 9支持的新的免费配置。
以下是文档中或多或少采取的步骤(这很好,请阅读):
1.在Xcode中添加您的Apple ID
转到XCode>首选项>帐户选项卡>添加按钮(+)>添加Apple ID。请参阅文档以获取更多帮助。
2.单击项目浏览器中的“常规”选项卡
3.从“团队”弹出菜单中选择您的Apple ID。
4.连接设备,然后在方案菜单中选择它。
5.单击修复问题按钮
如果您收到有关捆绑包名称无效的错误,请将其更改为唯一的名称。
6.运行您的应用
在Xcode中,单击“生成并运行”按钮。
7.在设备设置中信任应用程序开发人员
运行您的应用程序后,您将收到一个安全错误,因为您要运行的应用程序不是来自App Store。
在您的设备上,转到设置>常规>配置文件> 您的Apple ID名称 >信任您的Apple ID名称 >信任。
8.再次在设备上运行您的应用程序。
而已。现在,您可以运行自己的(或您拥有源代码的任何其他应用),而不必花$ 99美元。谢谢Apple,终于允许这样做了。
有一种无需支付苹果费用即可部署iPhone应用程序的方法。您必须越狱设备并按照http://www.alexwhittemore.com/?p=398中的说明进行操作
昨晚我正在查看Apple Developer,在Provisioning Certificate中,我发现了类似“签署团队成员”之类的东西。我认为有一种方法可以将团队成员添加到付费个人资料中。您只需向应用ID所有者(已付费)要求,即可将您添加为团队成员。我不确定。仍在搜索。
不,这很容易做到。在Xcode中,将“活动配置”设置为“发布”。将设备从Simulator更改为Device-无论是哪种SDK。如果要直接导出到iPhone,请将其连接到计算机。按Build and Go。如果您的iPhone未连接到计算机,则会出现一条消息,指出您的iPhone未连接。
如果这适用于您:(未连接iPhone)
转到项目文件夹,然后转到内部的build文件夹。转到Release-iphoneos文件夹,将应用放入其中,拖放到iTunes图标上。当您同步iTouch设备时,它会将其复制到您的设备。它还将作为iPhone的应用程序显示在iTunes中。
希望这可以帮助!
PS:如果它说明证书无效,请单击Xcode中的项目,在文件堆栈左侧的小项目图标上,然后按Apple + I,或从菜单栏中执行获取信息。单击顶部的构建。在“代码签名”下,将“代码签名身份-任何iPhone OS设备”更改为“不签名”。
没有解决方法。如果设备中注册了临时部署的应用程序,则只能进行临时部署。这样可以防止您建立自己的应用商店。