iPhone开发技巧之发布篇(4)--- 使用 Ad Hoc 发布自己的应用程序
iPhone应用程序的发布形式有两种,1种是通过 App Store 正式的贩卖,还有一种是 Ad Hoc,针对特定的用户发布自己的程序,不用经过Apple的审核。
使用 Ad Hoc 有什么好处呢,你可以:
- 发布自己的程序给亲朋好友,且不收取费用
- 程序正式上传之前,得到更多人的 review
- Apple 的设备开发 Provisioning Profile 有3个月的限制,用其安装的程序,3个月后如果不更换 Profile,程序就不能使用了,换成Ad Hoc的话,可延长期限到你的IDP截至日期
- 使用各种Private API等Apple禁止的功能,而不担心被Reject
但是使用 Ad Hoc 发布仍是有限制的,就是发布的设备最多只有 100 台。下面我们就来看看其发布和发布后安装的流程。
发布
下面列出了用 Ad Hoc 的发布流程,一些步骤是与?iPhone开发入门(10)--- 设备上运行程序?和iPhone开发入门(11)--- 在App Store上发布程序?重复的。你可以根据实际情况省略。
发布前的准备
发布前需要知道对方设备的的ID (iPhone UDID),可以让对方到 App Store 上安装一款叫 「Ad Hoc Helper」 的免费工具,然后用它给自己发一封邮件就好了(其中包含了对方设备的 UDID)。或者使用其他方式得到设备的UDID,比如 iTunes。总之需要得到发布目的的 UDID。
?
生成证明书
从应用程序点击「utility」→「Keychain access」。
?
然后点击「Keychain access」→「证明助手」→「发行证明书...」。
?
其中在「用户的邮箱地址」中填写注册 Apple ID 时的地址,并在 Common Name 中输入英文的名字。最后选择「保存到硬盘」和「指定对称键情报」后点击「下一步」。
?
适当选择文件保存的位置。
?
对称键情报中,确认键的大小为「2048位」,算法是「RSA」后点击「下一步」。
?
过上一会儿,出现结束画面。刚才保存的文件可以用来请求证明书。
注册证明书
如下图,点击左边的「Certificates」 可以注册刚才做好的证明书。
?
点击「Request Certificate」,在下面的画面中选择请求证明书的文件,最后点击「Submit」。
?
提交之后被添加到表格中,之后点击「Approve」等待。
?
之后,表格中显示「Download」按钮,点击它下载证明书。
?
同时不要忘了下载表格下面的「WWDR intermediate certificate」。之后分别双击这两个下载的文件,在「提交证明书」对话框中选择OK。这之后就可以在Keychain的「证明书」一项中确认添加的证明书了。
?
注册设备
接下来注册 iPhone 或者 iPod touch。选择「Devices」的右上角的「Add Device」。
?
在「Device Name」中输入任意的设备名称。在「Device ID」中输入刚才确认的UDID后就OK了。最多可输入100个设备的UDID。
?
生成App ID
接下来点击「App IDs」,来生成AppID。
?
在「App ID Name」中输入任意的名字,在右边的「App ID」中输入“*”。利用 App ID 将应用程序按不同的组管理起来。如果你输入的「Bundle Identifier」与应用程序中包含的「Bundle Identifier」不一致的话,程序是不会启动的。它主要是为了方便多人开发的项目,对于个人而言没有什么必要。所以这里将 App ID 写作「*」就是说含有任何 Bundle Identifier 的程序等可以运行。
最后点击 Submit,就完成了注册。
?
创建Provisioning Profile
最后来创建Provisioning Profile。选择「Privisioning → Distribution → New Profile」点击右上角的「Add Profile」。
- Distribution Method: Ad Hoc
- Profile Name: 任意
- Distribution Certificate: 刚才设置好的
- App ID: 刚才设置好的
- Devices: 选择你要发布的设备ID(可多选,最大100个)
随后点击 Submit 创建 Provisioning Profile。
?
等待一会儿,表格中「Download」显示出来。点击它下载 Provisioning Profile 文件。
安装Provisioning
打开应用程序程序的 Xcode 项目。由菜单打开「窗口」→「organizer」,拖动刚才创建的Provisioning文件到Provisioning项目中。
?
Entitlements.plist
Resources 中创建新文件 → Code Signing → Entitlements → AddHockEntitlements.plist
项目设定
为了创建 distribution build,需要向工程中添加新的编译目标。由 Xcode 的菜单点击「项目」→「项目设定」中的「构成」标签。
?
选择表中的「Release」,并点击在下的「複製」,生成「Release的拷贝」后,将其名称改为「Ad Hock」。结束后点击「编译」标签,选择「Ad Hock」。
?
最后,需要在「Any iPhone OS Device」项目上选择刚才安装的Provisioning Profile。Code Signing Entitlements 中设置刚才创建的 "AddHockEntitlements.plist" 。
编译
选择 Active SDK 为 Device、构成为「Ad Hock」就可以编译了。
?
安装
方法1:使用iTunes同步
将编译好的 xxxx.app 与 Provisioning Profile 文件一并打包发送给你的用户。用户解压后拖动 xxxx.app 文件夹和 profile 文件到 iTunes 的?资料库???应用程序?下,然后与目标iPhone设备同步即可。
?
方法2:使用iPhone 配置实用工具
到?这里?下载 iPhone 配置实用工具,然后同样将解压后的 xxxx.app 文件夹和profile 文件到 拖动到配置工具的?资料库???应用程序?下,点击右边的安装即可。
?
?
?
?