iPhone App Minus App Store?
如果我在我的Mac上创建应用程序,有什么办法可以让它在iPhone上运行,而无需通过应用程序商店?
只要我仍然可以运行使用官方SDK创建的应用程序,iPhone是否越狱并不重要。 由于我不会介入的原因,我不能让这个程序通过应用商店。
官方开发者计划
对于标准的iPhone,您需要支付每年99美元才能成为开发者计划的成员。 然后,您可以使用adhoc系统将您的应用程序安装到最多100个设备上。 开发人员计划有详细信息,但需要将每个设备的UUID添加到您的应用程序包中。 使用App Store中的Ad Hoc Helper可以轻松检索UUID。 有关此方法的更多详细信息,请参阅Craig Hockenberry在iPhone 2.0上的Beta测试文章
越狱iPhone
对于越狱的iPhone,您可以使用以下方法,我使用iPhone OS 3.0上的AccelerometerGraph示例应用程序进行了亲自测试。
创建自签名证书
首先,您需要创建一个自签名证书并修补您的iPhone SDK以允许使用此证书:
启动钥匙串Access.app。 在未选择任何项目的情况下,从钥匙串菜单中选择证书助理,然后创建证书。
名称:iPhone开发者
证书类型:代码签名
让我重写默认值:是的
点击继续
有效期:3650天
点击继续
将电子邮件地址字段填空。
点击继续直到完成。
您应该看到“此根证书不可信”。 这是预料之中的。
设置iPhone SDK以允许使用自签名证书:
sudo / usr / bin / sed -i .bak'/ XCiPhoneOSCodeSignContext / XCCodeSignContext /'/Developer/Platforms/iPhoneOS.platform/Info.plist
如果您打开Xcode,请重新启动以使此更改生效。
通过WiFi手动部署
以下步骤需要openssh
,并且uikittools
安装uikittools
。 将jasoniphone.local
替换为目标设备的主机名。 安装SSH之后,请务必为mobile
用户和root
用户设置自己的密码。
手动编译和安装应用程序作为系统应用程序(绕过Apple的安装系统):
项目,设置活动SDK,设备并设置活动构建配置,发布。
正常编译您的项目(使用Build,而不是Build&Go)。
在build/Release-iphoneos
目录中,您将拥有一个应用程序包。 使用您的首选方法将其传输到设备上的/应用程序。
scp -r AccelerometerGraph.app root@jasoniphone:/Applications/
让SpringBoard知道已经安装了新的应用程序:
ssh mobile@jasoniphone.local uicache
这只需要在添加或删除应用程序时完成。 更新的应用程序只需要重新启动。
为了在开发过程中让生活更轻松,您可以设置SSH密钥身份验证,并在项目中添加这些额外的步骤作为自定义构建步骤。
请注意,如果您希望稍后移除应用程序,则无法通过标准SpringBoard界面执行此操作,而需要使用SSH并更新SpringBoard:
ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache
是的,一旦你加入了iPhone开发者计划,并支付99美元的Apple,你就可以在最多100个iOS设备上配置你的应用程序。