我必须在这里概念性地遗漏一些东西,我希望有人可以让我直截了当。
我不太清楚为什么需要对iPhone应用程序进行Ad Hoc部署,以及为什么不能使用开发版本。
具体来说,我不明白为什么我不能只发送一个我的开发配置文件和我的应用程序,只要他们的机器ID包含在我的开发配置文件中。
因此,在Apple Provisioning Portal上,在“设备”下,我添加了我的iPhone的设备ID以及我朋友的设备ID。在证书下,我提交了一份CSR,根据我的理解,这里没有任何关于我的设备的具体内容(它将私钥写入我的机器,但我认为CSR中的设备没有任何具体内容)。然后我获得了我下载的证书。然后,我创建一个开发配置文件。在这个过程中,我选择刚刚创建的证书(以我公司的名义,但没有任何具体的设备),我检查所有设备,包括我朋友的设备。然后,我在我的iPhone上下载并安装该配置文件(仅限该配置文件,我的设备上没有其他配置文件或证书或任何内容)。然后我构建我的应用程序,使用该开发配置文件对其进行签名。然后我可以在我的iPhone上安装创建的.ipa,它可以工作。
那么是什么让我无法发送我的朋友(我在创建开发配置文件时检查了他的设备ID)相同的开发.mobileprovision和.ipa文件,他可以安装和运行相同的文件吗?
这不会给我带来与Ad Hoc部署相同的效果,没有额外的Ad Hoc部署麻烦吗? (我承认可能不会有很多,但也有一些)
答案 0 :(得分:3)
AdHoc不是发展分布;它是没有App Store的发布版本。这是一个生产水平的环境。对于大多数应用来说,这并不意味着很多,但对于处理iAd或推送通知的应用来说,这是一个大问题。
例如,iAd开发构建具有更高错误率(大约80%错误)的拉广告,以便开发人员可以解决错误条件的问题。这些错误情况在生产iAd环境(App Store / Ad Hoc版本)中表现得较低。
答案 1 :(得分:0)
Ad Hoc部署允许无法访问Mac的Beta测试人员或使用开发人员工具的Mac安装开发人员的应用程序。 Ad Hoc收件人可以在Windows PC上使用iTunes,只要他们的设备UDID是向开发者注册的最多100个之一,他们就可以安装通过电子邮件发送给他们的Ad Hoc应用程序。
公开私钥,允许其他人使用开发者注册名称签署应用程序可能不是每个开发人员都希望陌生人做的事情,只是让他们测试你的应用程序。