Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
437 views
in Technique[技术] by (71.8m points)

xcode7 - iOS 9 new feature Free Provisioning (Run your app on a device, just with your Apple ID, without Apple developer membership)

Would like to know about the new feature Free Provisioning introduced in iOS9 & Xcode 7.

How Apple is now achieving that, as before we knew our device ids were enrolled in the profiles and hence it was possible to deploy the app on devices.

Now only with Apple ID how the things in the background are achieved, also is there any restrictions on how many number of devices I can add my build with Free Provisioning.

Any help is greatly appreciated thanks...

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

1. How it works?

Apple Ref : How to use free provisioning

As stated in above link under Launch Your App on Devices Using Free Provisioning point 6. "Xcode creates a free provisioning profile for you"

Update: Above point 6 is removed from link, but there is no change in the way it works and steps in above link still work!

Profile created in this way is tied to your apple id, when you try to run app on new device that device's UDID gets added in this profile.


2. How to use free provisioning?

Requirements: Apple ID, XCode 7 or above

Steps:

  1. Go to XCode Preference

  2. Go to Accounts tab and hit plus "+" button on bottom left to add your Apple ID.

  3. After successfully adding Apple ID click on view details on bottom right enter image description here

  4. Click the Create button next to "iOS Development"

    enter image description here

  5. Connect your device and select your device as build destination.

  6. In target's general setting,

    a. Set app identifier you want to give to your free profile

    b. set team id as your apple id

    c. If using XCode 7, hit Fix Issue button below provisioning profile warning.

    enter image description here

    If using XCode 8, there is no Fix Issue button XCode will automatically do this. enter image description here

    In both cases of XCode versions, Xcode will either create new profile if not found for your apple id or add new device to your existing profile.

  7. Run the app, this will install app.

  8. Click app icon to start app manually, you will get "Untrusted Developer" dialog. To trust your apple id, Go to iPhone setting > General > Device Management > Select your apple id and click trust.
  9. After step 8 you can run and debug app using free provisioning.

3. What are the Limitations?

I tried to install app with free provisioning and could run/debug app. But there are few catches. Profile created by XCode is bit different than our usual developer profiles

From profile raw file

  1. There is new key LocalProvision with value true

    <key>LocalProvision</key>

    <true/>

    Many services like following are not available, See full list of services

    Apple Pay, Game Center, iCloud, In-App Purchasing, Push Notifications, Wallet (Was Passbook)

  2. Expires in 7 days (this was changed sometime in May, previously it was 90 days).

    <key>TimeToLive</key>

    <integer>7</integer>

    Old: 90 days enter image description here New: 7 days enter image description here

  3. Under <key>ProvisionedDevices</key> there is list of devices on which I tried to install app, still unknown maximum number of devices possible, I tried to install on 3 devices which worked successfully.

  4. This is not alternative to publishing app for free on app store, you still need to enroll to developer program to publish apps.

  5. Testflight based internal / External testing is not possible.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...