如果我在我的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以允许使用此证书:
启动Keychain Access.app.如果未选择任何项目,请从"钥匙串"菜单中选择"证书助理",然后选择"创建证书".
名称:iPhone开发人员
证书类型:代码签名
让我覆盖默认值:是
单击继续
有效期:3650天
单击继续
删除电子邮件地址字段.
单击继续直到完成.
您应该看到"此根证书不受信任".这是预料之中的.
设置iPhone SDK以允许使用自签名证书:
sudo/usr/bin/sed -i .bak的/ XCiPhoneOSCodeSignContext/XCCodeSignContext /'/Developer/Platforms/iPhoneOS.platform/Info.plist
如果您打开Xcode,请重新启动它以使此更改生效.
以下步骤需要openssh
并uikittools
首先安装.替换jasoniphone.local
为目标设备的主机名.安装SSH后,请务必在mobile
和root
用户之间设置自己的密码.
要在手机上手动编译和安装应用程序作为系统应用程序(绕过Apple的安装系统):
项目,设置活动SDK,设备和设置活动构建配置,发布.
正常编译项目(使用Build,而不是Build&Go).
在build/Release-iphoneos
目录中,您将拥有一个应用程序包.使用您首选的方法将其传输到设备上的/ Applications.
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开发者计划并支付了Apple 99美元,您就可以在多达100台iOS设备上配置您的应用程序.
构建您的应用
上传到破解网站
(如果你的应用程序足够好)破解版将在几分钟后发布并准备好供所有人下载;-)
在这篇文章的帮助下,我制作了一个脚本,它将通过应用程序Installous安装,以便快速部署:
# compress application. /bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload /bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload /bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork /bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist cd $CONFIGURATION_BUILD_DIR # zip up the HelloWorld directory /usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist
在上面引用的帖子中缺少的是iTunesMetadata.如果没有这个,Installous将无法正确安装应用程序.以下是iTunesMetadata的示例:
appleId artistId 0 artistName MYCOMPANY buy-only buyParams copyright drmVersionNumber 0 fileExtension .app genre genreId 0 itemId 0 itemName MYAPP kind software playlistArtistName MYCOMPANY playlistName MYAPP price 0 priceDisplay nil rating content label 4+ rank 100 system itunes-games releaseDate Sunday, December 12, 2010 s 143441 softwareIcon57x57URL softwareIconNeedsShine softwareSupportedDeviceIds 1 softwareVersionBundleId com.mycompany.myapp softwareVersionExternalIdentifier 0 softwareVersionExternalIdentifiers 1466803 1529132 1602608 1651681 1750461 1930253 1961532 1973932 2026202 2526384 2641622 2703653 vendorId 0 versionRestrictions 0
显然,将MyApp的所有实例替换为您的应用程序名称,将MyCompany替换为您公司的名称.
基本上,这将安装在安装了Installous的任何越狱设备上.设置完成后,这可以实现非常快速的部署,因为它可以从任何地方安装,只需将其上传到您公司的网站,然后将文件直接下载到设备,然后将其复制/移动到~/Documents/Installous/Downloads
.
使用即将推出的Xcode 7,现在可以在没有Apple开发人员许可的情况下在您的设备上安装应用程序,因此现在可以跳过应用程序商店而不必越狱您的设备.
现在每个人都可以在Apple设备上获取他们的应用程序
Xcode 7和Swift现在让每个人都可以更轻松地构建应用程序并直接在Apple设备上运行它们.只需使用您的Apple ID登录,即可将您的想法转变为可在iPad,iPhone或Apple Watch上触摸的应用程序.下载Xcode 7 beta并立即自行试用.不需要计划会员资格.
引用自:https://developer.apple.com/xcode/
更新:
XCode 7现已发布:
免费的设备开发 现在每个人都可以免费在设备上运行和测试自己的应用程序.您可以在Mac,iPhone,iPad,iPod touch或Apple Watch上运行和调试自己的作品,无需任何费用,也无需加入任何程序.您只需在Xcode中输入免费的Apple ID即可.您甚至可以使用已用于App Store或iTunes的相同Apple ID.一旦您完善了应用程序,Apple开发人员计划可以帮助您在App Store上获取它.
有关在设备上安装和运行的详细信息,请参阅在设备上启动应用程序.