几个月来,我一直在无线分发我的应用程序,没有任何问题.诚然,我是根据企业许可证发行的,该许可证的费用为每年299美元,用于内部商业用途.这可能适用于普通的开发人员许可证,但您必须进行一些测试以确保.我想如果它真的起作用,这个过程是一样的.我使用的是XCode 4,所以如果您使用的是不同的版本,这可能会略有不同.基本上,你必须增加一项福利.plist文件到您的资源:
New->File->Code Signing->Entitlements
在分发之前,您必须更改:
"Can be debugged" to NO
确保您的项目设置了正确的代码签名配置文件.现在转到:
Product->archive
然后使用新创建的条目,单击:
Select "iOS App Store Package (.ipa)"
并 Select 您想要使用的适当的分发配置文件.单击"下一步",然后 Select 保存文件的位置.ipa文件到.在单击"保存"之前,需要判断
Save for Enterprise Distribution
这个ipa文件需要保存在FTP服务器上,或者至少我是这样让它工作的.对于"应用程序URL"字段,使用.例如,要保存的ipa文件,
ftp://ftp.company.com/Installers/myApp.ipa
给它一个标题,然后在"大图像URL"和"小图像URL"中给它一个指向大(512x512)和小(72x72)图标文件的路径(我是为iPad开发的,所以iPhone可能会有所不同).例如
ftp://ftp.company.com/Installers/small.png
拯救世界.ipa文件.现在你需要把你的.ftp服务器上的mobileprovision文件.任何想要运行该应用程序的人都需要安装该文件,否则他们将无法运行它.现在,我不确定你是否需要帮助.mobileprovision文件,其中内置了所有设备ID,如果您不是企业计划的一部分,但您可以try 查看.一旦你的文件都在ftp服务器上,你需要创建一封邮箱,其中包含指向这两个文件的链接,但不包括文件的链接.ipa文件必须采用特殊格式.对于配置文件:
ftp://ftp.company.com/Installers/profile.mobileprovision
而且是为了.ipa文件:
itms-services:///?action=download-manifest&url=ftp%3A%2F%2Fftp.company.com%2FInstallers%2FmyApp.plist
现在,当你向某人发送此邮箱时,他们只需首先下载并安装.mobileprovision文件,然后是.ipa文件.瞧,他们在运行你的程序.如果没有企业订阅,请告诉我这是否有效.我想,只要有一天.mobileprovision文件包含设备ID.
编辑:
我已经找到了一种更好的分发应用程序的方法,但它需要你有一个PHP服务器.您要做的是创建一个PHP文件,动态生成plist文件并返回该文件.在"大图像"、"小图像"和"ipa文件"的链接中,您将传递到其他PHP文件的链接,这些文件将为您的特定程序返回这些内容.当您想从链接安装应用程序时,只需按如下方式传入url:
itms-services:///?action=download-manifest&url=http://mycompany.com/php/installApp.php?app=myappname
在PHP函数中,只需将myappname插入到其他PHP调用中,即可从服务器中提取适当的文件.使用这种方法,您不需要在生成应用程序时存储任何应用程序的plist文件,这使得更新应用程序更容易,因为您不需要每次重新键入信息,甚至不必选中企业分发复选框,只需将ipa文件保存在旧文件上即可.此外,使用这种方法很容易实现安全性和登录功能.此外,你不需要专门安装移动设备配置文件,因为它会在你安装应用程序时自行安装.它存储在ipa文件中.
编辑:
为了澄清PHP方法,您创建了一个PHP文件,用于创建plist文件.复制从企业发行版生成的标准plist文件,然后在php文件中设置如下标题:
$pathToAddFi = "installers/".$_GET['app'].".plist"; //points to the php server file location of your .ipa files. when you call this php script, you pass in the name of the ipa file you want to install. Note: this location doesn't actually contain any plist files!
$root = "http://yourserver.com/php/root/"; //path to this PHP file's directory
header('content-type: application/xml');
header('Content-Disposition: attachment; filename='.basename($pathToAddFi));
header('Content-Transfer-Encoding: binary');
然后构建一个字符串来替换项目的URL,如下所示:
<string>".$root."ipa_serve.php?app=". $_GET['app']."</string>
并在 echo xml字符串之前以最后一个标题结束:
header('Content-Length: ' . strlen($myXml));
最后,创建一个php文件来服务于ipa文件,一个用于服务于大图像,另一个用于服务于小图像.除非你对PHP不是很熟悉,否则应该非常直接.