开发者

iPhone signing conceptual question: why is Ad Hoc deployment needed?

开发者 https://www.devze.com 2023-01-19 16:50 出处:网络
I must be missing something concept开发者_如何学Pythonually here, and I\'m hoping someone can set me straight.

I must be missing something concept开发者_如何学Pythonually here, and I'm hoping someone can set me straight.

I'm not really clear why Ad Hoc deployments of iPhone applications are necessary, and why development builds can't be used instead.

Specifically, I don't understand why I can't just send someone my development provisioning profile and my app, as long as their machine id is included in my development provisioning profile.

So, on the Apple Provisioning Portal, under Devices, I add the device ID of my iPhone, and that of my friend. Under Certificates, I submit a CSR, which, to my understanding, does not contain anything specific about my device (it writes a private key to my machine, but I don't think there's anything specific about my device in the CSR). I then get a certificate which I download. I then create a development provisioning profile. In the process I select the certificate I just created (in my company's name but with nothing specific about my device), and I check all the devices, including those of my friend. I then download and install that provisioning profile on my iPhone (and only that provisioning profile, no other profiles or certificates or anything on my device). I then build my app, signing it with that development provisioning profile. I can then install the created .ipa on my iPhone, and it works.

So what keeps me from sending my friend (whose device id I checked when creating the development provisioning profile) the same development .mobileprovision and .ipa files, and he can install and run just the same?

Doesn't that get me the same effect as Ad Hoc deployment, without the additional hassles of Ad Hoc deployment? (of which I admit there may not be many, but there are some)


AdHoc is not developmental distribution; it is a release distribution without the App Store. It is a production level environment. For most apps, this doesn't mean much but for apps that deals with iAd or push notifications, this is a big deal.

For example, iAd development builds pull ads with higher frequency of error rates (roughly 80% errors) so that developers can work out the kinks of error conditions. These error conditions manifest in lower frequency with production iAd environments (App Store/Ad Hoc builds).


Ad Hoc deployment allows beta testers without access to a Mac, or a Mac with Developer tools, to install the developer's apps. The Ad Hoc recipient can use iTunes on a Windows PC, and long as their devices UDID is one of the up to 100 registered with the developer, they can install an Ad Hoc app emailed to them.

Exposing a private key, which would allow someone else to sign apps with the developers registered name may not be something every developer would want some stranger to do, just to let them test your app.

0

精彩评论

暂无评论...
验证码 换一张
取 消