mkt*_*kto 61 iphone xcode objective-c
我需要知道人们用什么方法无线地分发(内部)iPad应用程序的演示而不必管理UDID?
我不需要像testflight或betabuilder这样的解决方案,所有这些都要求我在apple provisioning配置文件门户中管理UDID.
我问这个问题,因为我看到了另一个工作室做一个更聪明的方式,现在,我想知道他们是如何做到的 - 随着他们给了我们一个链接,我们可以从一个简单的HTML在空中安装的演示应用程序,和配置文件神奇地出现在我的iPad上.所有这一切都发生在没有我告诉他们我的iPad的UDID,因此绝对没有他们重新编译项目.
他们是如何做到的呢?
Dav*_*ido 75
我已经无线地分发我的应用程序几个月了,没有任何问题.当然,我是根据企业许可证分发的,每年的费用为299美元,用于内部业务.这可能适用于普通的开发人员许可证,但您必须进行一些测试以确保.我想如果它确实有效,那么这个过程就是一样的.我正在使用XCode 4,因此如果您使用的是其他版本,则可能略有不同.基本上,您必须向您的资源添加Entitlements.plist文件:
New->File->Code Signing->Entitlements
Run Code Online (Sandbox Code Playgroud)
在分发之前,你必须改变:
"Can be debugged" to NO
Run Code Online (Sandbox Code Playgroud)
确保使用正确的代码签名配置文件设置项目.现在去:
Product->archive
Run Code Online (Sandbox Code Playgroud)
然后使用新建的条目,单击:共享
Select "iOS App Store Package (.ipa)"
Run Code Online (Sandbox Code Playgroud)
并选择您要使用的正确分发配置文件.单击"下一步",然后选择要将.ipa文件保存到的位置.在单击"保存"之前,需要进行检查
Save for Enterprise Distribution
Run Code Online (Sandbox Code Playgroud)
.ipa文件需要保存在FTP服务器上,或者至少我是如何工作的.对于"应用程序URL"字段,请使用要保存的.ipa文件的路径,例如,
ftp://ftp.company.com/Installers/myApp.ipa
Run Code Online (Sandbox Code Playgroud)
给它一个标题,然后在"大图像URL"和"小图像URL"给它一个路径到你的大(512x512)和小(72x72)图标文件,(我正在为iPad开发,所以iPhone可能会有所不同) .例如,
ftp://ftp.company.com/Installers/small.png
Run Code Online (Sandbox Code Playgroud)
保存.ipa文件.现在您需要将.mobileprovision文件放在ftp服务器上.任何想要运行应用程序的人都需要安装该文件,否则他们将无法运行该文件.现在,如果你不是企业程序的一员,我不确定你是否需要一个内置了所有设备ID的.mobileprovision文件,但你可以试试看.一旦您的文件都在ftp服务器上,您将需要创建一个包含这两个文件的链接的电子邮件,但.ipa文件的链接必须采用特殊格式.对于配置文件:
ftp://ftp.company.com/Installers/profile.mobileprovision
Run Code Online (Sandbox Code Playgroud)
对于.ipa文件:
itms-services:///?action=download-manifest&url=ftp%3A%2F%2Fftp.company.com%2FInstallers%2FmyApp.plist
Run Code Online (Sandbox Code Playgroud)
现在,当您将此电子邮件发送给某人时,他们只需先下载并安装.mobileprovision文件,然后再安装.ipa文件.瞧,他们正在运行你的程序.如果没有企业订阅,请告诉我.我想只要.mobileprovision文件包含设备ID就可以了.
我发现了一种更好的分发应用程序的方法,但它需要你有一个PHP服务器.你要做的是创建一个PHP文件,动态生成plist文件并返回它.在大图像,小图像和ipa文件的链接中,您将链接传递给其他PHP文件,这些文件将为您的特定程序返回这些内容.当您想要从链接安装应用程序时,您只需传递这样的URL:
itms-services:///?action=download-manifest&url=http://mycompany.com/php/installApp.php?app=myappname
Run Code Online (Sandbox Code Playgroud)
在PHP函数中,您只需将myappname插入到其他PHP调用中,这将从您的服务器中提取适当的文件.使用此方法,您无需为生成的任何应用程序存储plist文件,这样可以更轻松地更新应用程序,因为您不需要每次都重新键入信息,甚至不选中复选框企业分发,只需将ipa文件保存在旧文件上,就可以了.此外,使用此方法可以轻松实现安全性和登录功能.此外,您无需专门安装移动配置文件,因为它在您安装应用程序时会自行安装.它存储在ipa文件中.
只是为了澄清PHP方法,您创建一个创建plist文件的php文件.复制从企业分发版本创建的标准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');
Run Code Online (Sandbox Code Playgroud)
然后你构建一个字符串替换你的项目的网址,如下所示:
<string>".$root."ipa_serve.php?app=". $_GET['app']."</string>
Run Code Online (Sandbox Code Playgroud)
在回显xml字符串之前用最后一个头结束它:
header('Content-Length: ' . strlen($myXml));
Run Code Online (Sandbox Code Playgroud)
最后,您创建一个php文件来提供ipa文件,一个用于提供大图像,另一个用于提供小图像.除非你不熟悉PHP,否则应该相当直接.
小智 8
我刚刚经历过同样的事情.我认为最大的不同是企业分发配置文件(每年299美元) - 如果你有其中一个,你不需要在列表中有设备UDID.如果你有正常的每年99美元的交易,你必须.就那么简单.
好消息是Apple最近放弃了"500名员工"的限制,因此任何公司都可以获得以下其中一项:http://blog.apperian.com/2010/10/apple-opens-ios-developer-enterprise.html
你只需要从Dun和Bradstreet获得一个免费的DUNS号码,这需要30天.我们申请了我们的,并将看到它们如何平息.
您确实需要配置文件,但它嵌入在.ipa文件中,不需要通过iTunes安装作为单独的可安装程序.
您应该查看TestFlight,这是一个用于管理OTA Ad Hoc构建分发的Web应用程序; 这是梦幻般的.它可以做各种聪明的事情,包括为你收集用户设备的UDID.(你,开发人员,仍然需要将这些输入到iPhone开发中心的配置门户,但是用户仍然可以保持不知道UDID甚至存在,更不用说他们必须将它发送给你.也许这是你的老板以前用过的.)
| 归档时间: |
|
| 查看次数: |
69308 次 |
| 最近记录: |