iOS 中的Certificate,Provisioning Profile 等在code singing中用到的信息

注册apple id 有1年多了,这些概念还是模模糊糊的,决定在这里总结一下。

请参阅官方文档 App Distribution Guide

code singing的作用如下:

Code signing your app allows the operating system to identify who signed your app and to verify that your app hasn’t been modified since you signed it. Your app’s executable code is protected by its signature because the signature becomes invalid if any of the executable code in the app bundle changes. Note that resources such as images and nib files aren’t signed; therefore, a change to these files doesn’t invalidate the signature.

简单的说,就是保证程序的可靠性。这个机能主要用到2个文件,一个是certificate,一个是provisioning profile。

==========================================

Certificate

证明你的开发者身份。

There are different types of signing certificates for different purposes.(针对ios开发的话,就2种,详情见下面的表格)

There’s one Mac or iOS development certificate per team member. Therefore, development certificate names contain the person’s name. All other types of certificates are owned by the team (shared by multiple team members) and so, contain the team name. Individual developers are a one-person team, and so your name and the team name are the same.

Table 11-2  Certificate types and names

Certificate type

Certificate name

Description

iOS Development

iPhone Developer: Team Member Name

Used to run an iOS app on devices and use certain technologies and services during development.

iOS Distribution

iPhone Distribution: Team Name

Used to distribute your iOS app on designated devices for testing or to submit it to the App Store.

======================================

Provisioning Profile 可以理解为 “授权文件“,在程序sign的过程中用到的就是这个文件。ios用到的provisioning profile分为3种,一种用于开发,一种用于ad hoc测试,一种用于像app store 发布。一个profile把 一个app id,一个certificate,多个devices 信息联系起来,用于对具体的ios程序进行sign。

在程序的sign过程中,不单单需要provisioning profile,还需要生成这个provisioning profile时用到的certificate,这2个文件缺一不可。

上一篇:代码静态分析工具——splint的学习与使用


下一篇:解决visual studio不能发现单元测试、无法运行单元测试的方法