开发者

ProvisionsAllDevices vs ProvisionedDevices in embedded.mobileprovision

I recently received an ipad app as a .ipa file.

To install the app, i renamed it to .zip and fished out the app file and using the Iphone Configuration Utility was able to smoothly install it onto my iPad (it is iOS 4.2.1 and it is not Jail Broken.)

Normally when we deliver our apps, we need to prepare a provision profile with a list of enabled devices, and it would install only on those devices.

I opened the file embedded.mobileprovision and was surprised to see this setting:

<key>ProvisionsAllDevices</key>
<true/>

Normally in our profiles, there is a predefined set of UDID's that can install it:

<key>ProvisionedDevices</key>
    <arra开发者_开发百科y>
        <string>caf2b03e4a4e1a80d9492c8bdcea0ea8df6a14a7</string>
        <string>1a5b7515ed0751d6de312f9520267f502b20eab0</string>
        <string>f4c368bb6c27119feb877e0d95d3891166ab48c8</string>
        <string>72234de7149e980a9e659e5417f764c47c5e7327</string>
    </array>

I tried to create an Ad Hoc profile on the iOS portal, but it immediately want to know the list of devices enabled for the profile.

So i'm really curious how this was done!

My questions are:

  1. Any ideas what this "ProvisionsAllDevices" setting is?
  2. Could it be something that is only possible with an Enterprise Developer Account?


I checked the provisioning profiles from my Entreprise account:

<key>ProvisionsAllDevices</key>
<true/>

is present in all In House Distribution profiles. As far as I know, it's only available for Enterprise accounts:

Enrolled iOS Developers in the Enterprise program have the ability to distribute their in-house applications without the requirement of identifying individual devices or submitting the application to the App Store.

[...]

Please ensure to protect the distribution mechanism of this type of application as it can be installed on any Apple device if compromised.

(from the Developer Program User Guide — Enterprise Program)


I checked it myself and figure out that when you create an enterprise IPA - it for all devices, with:

<key>ProvisionsAllDevices</key>

and when it an ad Hoc, it only for limited devices:

<key>ProvisionedDevices</key>
<array>
    <string>caf2b03e4a4e1a80d9492c8bdcea0ea8df6a14a7</string>
    <string>1a5b7515ed0751d6de312f9520267f502b20eab0</string>
    <string>f4c368bb6c27119feb877e0d95d3891166ab48c8</string>
    <string>72234de7149e980a9e659e5417f764c47c5e7327</string>
</array>
0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜