iOS 9 新功能 Free Provisioning(在设备上运行您的应用,只需使用您的 Apple ID,无需 Apple 开发者会员资格)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/30973799/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 06:32:43  来源:igfitidea点击:

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

iosxcode7ios9

提问by Rein rPavi

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

想了解iOS9 和 Xcode 7 中引入的新功能Free Provisioning

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.

Apple 现在是如何实现这一点的,因为我们知道我们的设备 ID 已注册到配置文件中,因此可以在设备上部署应用程序。

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.

现在仅使用 Apple ID 如何实现后台操作,对于我可以使用免费配置添加构建的设备数量也有任何限制。

Any help is greatly appreciated thanks...

非常感谢任何帮助,谢谢...

回答by Aditya Deshmane

1. How it works?

1.它是如何工作的?

Apple Ref : How to use free provisioning

Apple 参考:如何使用免费配置

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

如上面链接中在使用免费配置点 6在设备上启动您的应用程序中所述。Xcode 为您创建一个免费的配置文件

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!

更新:上面的第 6 点从链接中删除,但它的工作方式没有变化,上面链接中的步骤仍然有效!

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.

以这种方式创建的配置文件与您的 Apple ID 相关联,当您尝试在新设备上运行应用程序时,该设备的 UDID 会添加到此配置文件中。



2. How to use free provisioning?

2. 如何使用免费配置?

Requirements:Apple ID, XCode 7 or above

要求:Apple ID、XCode 7 或以上

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 Issuebutton below provisioning profile warning.

    enter image description here

    If using XCode 8, there is no Fix Issuebutton 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.
  1. 转到 XCode 首选项

  2. 转到“帐户”选项卡并点击左下角的加号“+”按钮以添加您的 Apple ID。

  3. 添加Apple ID成功后点击右下角查看详情 在此处输入图片说明

  4. 单击“iOS 开发”旁边的“创建”按钮

    在此处输入图片说明

  5. 连接您的设备并选择您的设备作为构建目标。

  6. 在目标的一般设置中,

    一种。设置您想要提供给您的免费个人资料的应用标识符

    湾 将团队 ID 设置为您的 Apple ID

    C。如果使用 XCode 7,请点击配置文件警告下方的修复问题按钮。

    在此处输入图片说明

    如果使用 XCode 8,则没有修复问题按钮 XCode 将自动执行此操作。 在此处输入图片说明

    在这两种 XCode 版本的情况下,如果没有找到您的 Apple id,Xcode 将创建新的配置文件,或者将新设备添加到您现有的配置文件中。

  7. 运行应用程序,这将安装应用程序。

  8. 单击应用程序图标手动启动应用程序,您将看到“不受信任的开发人员”对话框。要信任您的 Apple ID,请前往 iPhone 设置 > 通用 > 设备管理 > 选择您的 Apple ID,然后单击信任。
  9. 在第 8 步之后,您可以使用免费配置运行和调试应用程序。


3. What are the Limitations?

3. 有什么限制?

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

我尝试通过免费配置安装应用程序,并且可以运行/调试应用程序。但是很少有收获。XCode 创建的配置文件与我们通常的开发人员配置文件略有不同

From profile raw file

从配置文件原始文件

  1. There is new key LocalProvisionwith 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 hereNew: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.

  1. LocalProvision带值的新键true

    <key>LocalProvision</key>

    <true/>

    以下许多服务不可用,请参阅完整的服务列表

    Apple Pay、游戏中心、iCloud、应用内购买、推送通知、钱包(Was Passbook)

  2. 7 天后到期(这在 5 月的某个时候发生了变化,以前是 90 天)。

    <key>TimeToLive</key>

    <integer>7</integer>

    旧:90 天 新:7 天 在此处输入图片说明在此处输入图片说明

  3. <key>ProvisionedDevices</key>我尝试安装应用程序的设备列表下,仍然未知可能的最大设备数量,我尝试在 3 个成功运行的设备上安装。

  4. 这不能替代在应用商店免费发布应用,您仍然需要注册开发者计划才能发布应用。

  5. 基于 Testflight 的内部/外部测试是不可能的。

回答by Nilesh Patel

Apple haven't disclosed the thing like, how they are managing on their developer portal. But I think they just removed the restriction of Paid Developer program & rest of the thing kept as it is.

Apple 尚未透露他们在开发者门户上的管理方式。但我认为他们只是取消了付费开发人员计划的限制,其余部分保持原样。

For standard developer Program Apple support 100 device so I think same will apply here.

对于标准开发人员计划 Apple 支持 100 台设备,所以我认为同样适用于此。

Refer this linkfor more info..

有关更多信息,请参阅此链接

回答by Lofrank

Copied from: https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/free-provisioning/

复制自:https: //developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/free-provisioning/

Limitations

限制

Apple has imposed a number of limitations on when and how you can use free provisioning to run your application on an iOS device, ensuring that you can only deploy to your device. These are listed in this section.

Apple 对何时以及如何使用免费配置在 iOS 设备上运行您的应用程序施加了许多限制,以确保您只能部署到您的设备。这些在本节中列出。

Access to iTunes Connect is also limited and therefore services such as publishing to the App Store and TestFlight are unavailable to developers provisioning their applications freely. An Apple Developer Account (Enterprise or Personal) is required to distribute via Ad Hoc and In-House means.

对 iTunes Connect 的访问也受到限制,因此开发人员无法自由配置他们的应用程序,例如发布到 App Store 和 TestFlight 等服务。通过 Ad Hoc 和内部方式分发需要 Apple 开发者帐户(企业或个人)。

Provisioning Profiles created in this way will expire after three months, Signing Identities after one year. Furthermore, provisioning profiles will only be created with explicit App IDs and so you will need to follow the instructions above for every app that you wish to install.

以这种方式创建的配置文件将在三个月后到期,签名身份将在一年后到期。此外,配置文件将仅使用显式 App ID 创建,因此您需要针对要安装的每个应用程序按照上述说明进行操作。

Provisioning for most application services is also not possible with free provisioning. This includes:

免费供应也无法为大多数应用程序服务供应。这包括:

Apple Pay

苹果支付

Game Center

游戏中心

iCloud

In-App Purchasing

应用内购买

Push Notifications

推送通知

Wallet (Was Passbook)

钱包(是存折)

回答by PowHu

Some more informations.

还有一些信息。

You can archive app with free provisioning profile. But You can't export ipa in "XCode 7"

您可以使用免费的配置文件归档应用程序。但是你不能在“XCode 7”中导出 ipa

enter image description here

在此处输入图片说明

But you can use XCode 5 or Command line "xcodebuild" to export ipa file.

但是您可以使用 XCode 5 或命令行“xcodebuild”来导出 ipa 文件。

I tried using OTA to install this ipa file. And it's work!

我尝试使用 OTA 安装此 ipa 文件。这是工作!

So... If there has a way to add UUID to your account without XCode (REST api calls). You can distribute your app to anyone you want.

所以......如果有一种方法可以在没有 XCode(REST api 调用)的情况下将 UUID 添加到您的帐户。您可以将您的应用分发给您想要的任何人。