这篇文档是苹果官网对证书描述的解释的文章原文地址(https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/CreatingYourTeamProvisioningProfile/CreatingYourTeamProvisioningProfile.html)
感兴趣的朋友可以读一下

Creating Your Team Provisioning Profile

If you enter information about your app and assign a team to your app, Xcode creates the necessary signing identities and provisioning profiles for you. Specifically, Xcode creates a team provisioning profile that allows your app to run on all your devices and use app services. For iOS and tvOS apps, you also connect the device to the Mac that you want to use for testing. For watchOS apps, connect an iPhone that is paired with an Apple Watch.

Mac Note: If you only enable App Sandbox, you’re not required to use a development provisioning profile to code sign. However, it’s more convenient and less error-prone to use the team provisioning profile that Xcode manages for you than to set the code signing build settings yourself.

About Team Provisioning Profiles

Provisioning is the process of preparing and configuring an app to launch on devices and to use app services. During development, you choose which devices can run your app and which app services your app can access. A provisioning profile is downloaded from your developer account and embedded in the app bundle, and the entire bundle is code-signed. The embedded provisioning profile is installed on the device before the app is launched. If the information in the provisioning profile doesn’t match certain criteria, your app won’t launch. You indirectly configure a development provisioning profile by choosing options in Xcode.

To save you time, Xcode creates and manages a type of development provisioning profile, called a team provisioning profile, for you. The team provisioning profile allows all your apps to be signed and run by all team members on all your team’s devices. For an individual, the team provisioning profile allows all your apps to run on all your devices. Xcode also performs configuration steps for each app service you enable that requires some type of provisioning. Although Xcode simplifies this process, it helps to understand your code signing and provisioning assets and to know where they reside.

Xcode creates a team provisioning profile and its components as needed in your developer account. Xcode requests a development certificate for you if it’s missing. The development certificate is used in the team provisioning profile to identify you. A device must be registered to create a provisioning profile, so Xcode may ask you to connect an iOS or tvOS device. For Mac apps, Xcode automatically registers the Mac that is running Xcode.

Xcode creates an App ID to match your bundle ID, which is a unique identifier for your app stored in the app bundle. An App ID is used to identify one or more of your apps. An App ID is compared to the app’s bundle ID to determine if it matches. It can be an explicit App ID, which matches a single app, or a wildcard App ID, which matches multiple apps. Xcode initially creates a wildcard App ID and an explicit App ID only if needed. For example, if you enable an app service that requires an explicit App ID, Xcode creates and uses an explicit App ID in a new team provisioning profile it also creates. Therefore, you may have one team provisioning profile used by all your apps or multiple app-specific team provisioning profiles in your developer account. Xcode creates separate team provisioning profiles for iOS, tvOS, and Mac apps.

You use a signing identity to code sign your app. When Xcode requests your development certificate, the certificate with its public key is stored in your developer account, and the signing identity—the certificate with its public and private key—is stored in your keychain. You can’t code sign without this private key.

Set the Bundle ID

After an app is available on the store, its bundle ID can’t be changed. Verify it now, and change it if necessary. If you don’t belong to the Apple Developer Program, you can perform this step later.

The store and services use the bundle ID to uniquely identify an app. The bundle ID string should be in reverse DNS format. To create the default bundle ID for a new project, Xcode concatenates the company identifier with the product name—for example, it concatenates com.example.ajohnson with MyFirstApp to create com.example.ajohnson.MyFirstApp. Unlike domain names, bundle IDs are case-sensitive. You may prefer to use a lowercase bundle ID or a different prefix.

To change the bundle ID, replace the company identifier prefix in the bundle ID. Alternatively, replace the entire bundle ID in the Info.plist file or in the project editor Info pane. Later, you’ll enter the same bundle ID in iTunes Connect.

watchOS Note: If you change the bundle ID, make sure the WatchKit app and WatchKit extension targets have the same bundle ID prefix as the iOS target. The WatchKit app bundle ID must end with .watchkitapp and the WatchKit extension must end with .watchkitextension.

To change the bundle ID prefix in Xcode

  1. To display the project navigator, choose View > Navigators > Show Project Navigator.
  2. Choose the target from the Project/Targets pop-up menu or in the Targets section of the second sidebar if it appears.
  3. Click General, and if necessary, click the disclosure triangle next to Identity to reveal the settings.
  4. In the Bundle Identifier field, replace the bundle ID prefix.

Assign Your App to a Team

You can join multiple teams using the same Apple ID—for example, you can enroll as an individual and later join another team. Therefore, the Xcode project needs to be assigned to a specific team so that Xcode knows where to create your code signing and provisioning assets. If you don’t belong to the Apple Developer Program, you are automatically a member of your personal team.

To assign the Xcode project to a team

  1. In the project navigator, view the Identity settings.
    If necessary, select the target, click General, and click the disclosure triangle next to Identity to reveal the settings.

  2. For Mac apps, select a signing identity.
    If you want to submit your app to the store, select Mac App Store. If you want to distribute your app outside of the store or you aren’t a member of the Apple Developer Program, select Developer ID or Apple ID.

  1. Choose your team from the Team pop-up menu.
    If you’re an individual, choose your name from the pop-up menu. If you don’t belong to the Apple Developer Program, choose your personal team.

Xcode may attempt to create a team provisioning profile if you have a device connected or have previously registered a device. The warning message under the Team pop-up menu may change. You’ll resolve any issues in the next section.

Create the Team Provisioning Profile

Xcode saves you time by performing multiple steps on your behalf to create the team provisioning profile. For example, Xcode automatically registers your device and requests your development certificate, both of which are needed to create a team provisioning profile. Xcode performs these steps when you click the Fix Issue button below the Team pop-up menu. Xcode may also perform these steps when you assign a team to your project or refresh provisioning profiles in the Accounts preferences.

Note: If no warning message and Fix Issue button appear below the Team pop-up menu, Xcode already created your team provisioning profile and you can skip these steps.

To create a team provisioning profile

  1. In the project navigator, if necessary, select the target, click General, and click the disclosure triangle next to Identity to reveal the settings.
  2. For iOS, watchOS, and tvOS apps, connect a device that you want to use for development to your Mac, and select it from the Scheme pop-up menu.
    A device is eligible to be registered if you can select it from the Scheme pop-up menu.

If your device is ineligible, fix the issue before continuing. For example, if the device doesn’t match the deployment target, upgrade the operating system on the device or choose the target version from the Deployment Target pop-up menu in the Deployment Info section. Then select the device from the Scheme pop-up menu.
3. Choose your team from the Team pop-up menu.
For Mac apps, Mac App Store, Developer ID, or Apple ID must be selected as the type of signing identity before you can choose a team.

  1. If a Fix Issue button appears below the Team pop-up menu, click it.
    If Xcode successfully creates your team provisioning profile, the warning message under the Team pop-up menu in the General pane disappears.

The screenshot below shows the General pane for an iOS app when Xcode successfully creates the team provisioning profile.

Export Your Signing Identities To Back Up Private Keys

After you create the team provisioning profile, export your signing identities to back up your private keys. Xcode exports all your signing identities and provisioning profiles to a file. The signing identities include your public and private keys so that you can import the file on another Mac and continue code signing your app. You primarily export your assets to back up your private keys. Because your signing identities represent your store credentials, the file is encrypted and should be stored in a safe place. If you delete the private key from your keychain and lose this backup file, you need to re-create the associated certificate.

To export your signing identities

  1. Choose Xcode > Preferences.
  2. At the top of the window, click Accounts.
  3. Select the team you want to view, and click View Details.
  4. Click the Action button (the gear icon to the right of the Delete button) in the lower-left corner, and choose Export Developer Accounts from the pop-up menu.


5. Enter a filename in the Save As field, and enter a password in both the Password and Verify fields.
The file is encrypted and password protected.
6. Click Save.
The file is saved to the location you specified with a .developerprofile extension.

Recap

In this chapter, you learned how to enter identity information about your app in Xcode and create your team provisioning profile. You also learned how to back up your signing identities to keep them safe. In the next chapter, you’ll learn how to code sign and launch your app on a device through Xcode.

Team Provisioning Profile相关推荐

  1. 报错:Provisioning profile iOS Team Provisioning Profile: doesn't match the entitlements file's

    问题:Provisioning profile "iOS Team Provisioning Profile: com.jiejing.WebDriverAgentRunner" ...

  2. iOS开发Provisioning profile iOS Team Provisioning Profile:xxx doesn't include signing certificate

    连接真机设备时爆红(因博主忘了截图已经处理过的截图) 问题如下: Provisioning profile "iOS Team Provisioning Profile: com.xxx.x ...

  3. Provisioning profile iOS Team Provisioning Profile:xdoesn't include the currently selected device

    ios小白,真机遇到这个问题,卒.搞不太懂ios,可能这是个很小的问题吧. 解决方案,使用开发者账号登陆app developer.增加设备的uuid到Devices中 如何查看设备的uuid:htt ...

  4. Provisioning profile iOS Team Provisioning Profile:XXXXdoesn't include the currently selected devi

    真机调试的时候,以前的设备在xcode上运行都没事,新的设备都运行不了,报三个错误跟证书有关系,附图一张 这里只解决这个问题,去苹果官网,进入自己的开发者账号,进入证书,重新下载真机调试证书devel ...

  5. “Provisioning profile “iOS Team Provisioning Profile“ doesn‘t include the currently selected device

    mac m1芯片 1.网络上通用的解决方法无效,无效方法举例如下解决方案 在脚本文件中,在xcodebuild的命令后追加相应参数为: -destination 'generic/platform=i ...

  6. Swift Build system information error: Provisioning profile iOS Team Provisioning Profile: wwy.demo

    今天打开swift项目,直接就报错了,完全不知道什么原因,昨天还好好的,这是一个截图: 这是运行错误.然后在 General中,是这样的错误: 这错误,对我来说,一脸懵逼,请教人,自己百度,谷歌,找不 ...

  7. iOS Provisioning Profile(Certificate)与Code Signing详解

    引言 关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做 iOS 开发的同学没少被折腾.对于一个 iOS ...

  8. Certificate、Provisioning Profile、App ID的介绍及其之间的关系

      1.概念介绍 如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可以看到如下的列表: Prof ...

  9. 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

    刚接触iOS开发的人难免会对苹果的各种证书.配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解.这篇文章就对Certificate.Provisioni ...

最新文章

  1. NRF52832编译micro-ecc是指编译器路径
  2. 【git】git 入门使用手册
  3. servlet中用out.print输出中文为“乱码”如何解决
  4. updatepanel失效怎么办_[转]jquery与updatepanel二次失效问题解决方案-阿里云开发者社区...
  5. u盘启动怎么修复计算机,电脑店u盘启动winpe如何修复系统引导
  6. Chinalinuxpub.com初学版精华
  7. unity3d UI粒子特效裁剪
  8. python nlp 中文伪原创_人工智能伪原创工具(AI伪原创)
  9. Mac 软件和学习经验分享
  10. 2019辽宁公务员考试行测常识大全:公务员常识40000问(五十九)(2)
  11. Ubuntu 下图像标注工具 labelImg 的安装及使用
  12. radmin配置说明
  13. NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM(方法签名,CallXXXMethod)
  14. MySQL使用GROUP BY分组时如何留下指定的行
  15. 我的北大考古,我的无悔选择。
  16. 又一经典音乐,不说了,你懂得
  17. 【大数据入门核心技术-HBase】(七)HBase Python API 操作
  18. 易微联服务器不稳定,易微联离线了怎么办?
  19. 基于AD7606八通道高速数据采集模块
  20. windows7系统损坏修复_UEFI?安装纯净的 Windows 7/10 系统

热门文章

  1. 在线时区时间转换器 - online time zone converter
  2. 区域分布图怎么做,怎么做地图网点分布图
  3. 猫叫老鼠跑-观察者模式
  4. 东华大学2020考研计算机复试准备上机题解析答案_进阶篇(61-95)
  5. 从深圳寄东西到加拿大,用什么快递比较好?
  6. Bentley 软件公司公布 2021 基础设施数字化光辉大奖赛决赛入围者名单
  7. php 监听条码枪输入,运用jQuery监听扫码枪输入并制止手动输入的完成要领
  8. 深入理解机器学习:从理论到算法-习题全解之第十二章:凸学习问题
  9. 怎样解决升级macOS Big Sur后HandOff 接力功能失效?
  10. percona-toolkit之pt-online-schema-change(在线更改表结构)