Operation Manual

Chapter 10 Appendices 86
If users already have the app, you may want to time your next released version so that it includes
the new provisioning prole. If not, you can distribute just the new .mobileprovision le, so users
won’t have to install the app again. The new provisioning prole overrides the one already in the
app archive.
Provisioning proles can be installed and managed using MDM and then downloaded and
installed by users through an app update or using MDM.
If your distribution certicate expires, the app won’t launch. Your distribution certicate is valid
for three years from when it was issued, or until your Enterprise Developer Program membership
expires, whichever comes rst. To keep your certicate from expiring, be sure to renew your
membership before it expires.
You can have two distribution certicates active at the same time, with each independent from
the other. The second certicate provides an overlapping period in which you can update your
apps before the rst certicate expires. When you request your second distribution certicate
from the iOS Dev Center, be sure not to revoke your rst certicate.
Certicate validation
The rst time a user opens an app, the distribution certicate is validated by contacting Apple’s
OCSP server. If the certicate has been revoked, the app won’t launch. Inability to contact or get
a response from the OCSP server isn’t interpreted as a revocation. To verify the status, the device
must be able to reach ocsp.apple.com. See Network conguration requirements.
The OCSP response is cached on the device for the period of time specied by the OCSP server—
currently, between three and seven days. The validity of the certicate isn’t checked again until
the device has restarted and the cached response has expired. If a revocation is received at that
time, the app won’t launch.
Revoking a distribution certicate invalidates all of the apps you’ve signed with it. Revoke a
certicate only as a last resort—that is, if youre sure the private key is lost or you think the
certicate has been compromised.
Sample app manifest le
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.
com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- array of downloads. -->
<key>items</key>
<array>
<dict>
<!-- an array of assets to download -->
<key>assets</key>
<array>
<!-- software-package: the ipa to install. -->
<dict>
<!-- required. the asset kind. -->
<key>kind</key>
<string>software-package</string>
100% resize factor