iOS开发之打包上传到App Store——(一)各种证书的理解

内容参考自:苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程 

    理解Certificate、App Id、Identifiers 和 Provisioning Profile


在我们平常的开发过程中,可以使用模拟器进行调试,也可以直接使用真机测试,真机测试的话,证书的申请也是相对容易的多,但是当我们要实际打包发布程序到App Store时,那个证书真叫一个头疼。

首先,我们打开https://developer.apple.com/account/ios/profile/profileList.action,看下左边:


可以看到有这么几个选项。其中,Devices指的是团队(公司账号是可以以Team的形式添加多个成员的)中的设备,每个开发者账号(不论公司还是个人)可以关联100台设备,可以通过在苹果开发者控制台中添加,也可以通过Xcode直接添加设备。

然后,我们今天的重点目标是各类的证书啊、App ID啊还有Provisioning Profile啥的,所以重点理解一下这几个。

Certificate(证书)

证书指的是由苹果颁发(先交钱后发货的说)给你的证明你有权利进行iOS开发(不买证书你就只能用模拟器的说)并且可以将你开发的应用上传到App Store(么有证书估计只能自己做越狱开发)的一个凭证,表示你是一个开发者,就跟护照啊、身份证啊啥的一样。一个开发者账号只有一套,这个套装里呢包含两个证书,一个是Development证书,也就是所谓的开发证书,凭借这个证书你可以进行开发和真机调试(么有这个就只能用模拟器啦);另一个是Distribution证书,也叫Production证书,即所谓的分发证书或者说生产证书。其中呢,Development证书可以制作多个副本分发到多台设备,但是Distribution证书只能有一个,不能制作副本分发到多台电脑。

下面大致介绍一下证书的种类以及分别包含的子分类啥的:
  • Development
    • App Development (1年):用来开发和真机调试应用程序。
    • Push Development (1年):用来调试Apple Push Notification
  • Production
    • In-House and Ad Hoc (3年):用来发布In-House和AdHoc的应用程序。

    •  

          App Store :用来发布提交App Store的应用程序。
    • MDM CSR
    • Push Production (1年):用来在发布版本中使用Apple Push Notification。
    • Pass Type ID Certificate
    • Website Push ID Certificate
    需要注意的是:

在我们申请添加一个Certificate之前,需要先申请一个Certificate Signing Request(CSR)文件,这个过程呢,实际上是生成了一对公钥和私钥,保存在我们电脑上的钥匙串中。代码的签名也就是使用这种基于非对称密钥的加密方式,用私钥进行签名,用公钥进行验证。如下图:

我们的钥匙串中存储着相关的公钥和私钥,而证书里则包含了公钥。我们只能使用私钥来进行签名,如果不小心把私钥弄丢了,那么就表示这个证书基本上已经被咔嚓了,不要怕不要慌,你只是不能签名了而已,解决的办法就是revoke掉已经咔嚓了的证书,再重新申请一个,不过由此带来的麻烦可也是不少,所以可见备份的重要性啊,在申请完证书的时候,最好导出并且保存好你的私钥。这么做的另一个好处是当你需要跟其他人共享证书时(尤其是手头儿银子不多的个人开发者),只需要把私钥发给他人就好。当你用自己的私钥对代码进行签名后,苹果就可以用证书中的公钥来进行验证,确保真的是你对代码进行签名了,一来防止冒名顶替,二来确保代码的完整性。

App ID

App ID的主要用途是标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者说,可以匹配的。App ID有以下两种:
  • Explicit App ID:唯一的App ID,这种类型的App ID只能用来标识一个应用,例如,com.aiscot.whatever,用来标识Bundle ID为com.aiscot.whatever的应用程序,其他的不行。
  • Wildcard App ID:通配符App ID,这种类型的App ID用来标识一组应用程序,例如,com.aiscot.*可以用来标识Bundle ID为com.aiscot.whatever1和com.aiscot.biteme1等所有Bundle ID以com.aiscot开头的应用程序
每次创建一个新的App ID,我们可以设置该App ID所使用的App Services,比如有的使用Game Center,有的不使用,需要注意的是如果你要使用推送服务,那么你要新建的这个新的App ID必须是Explicit类型的App ID,这样儿,苹果的Apns才能识别到唯一的一个应用从而进行推送提醒,而不会出现所谓“一呼百应”的现象,下面是目前的一些可选服务和相对应的配置要求:

配置的时候,一定仔细瞅瞅哈,搞错了不要打我~\(≧▽≦)/~啦啦啦

Identifiers

Identifiers是标识符的意思,相当于身份证吧,用于创建以下三个:
App IDs
Pass Type IDs
Website Push IDs
其中,App ID是应用的唯一标识符,每个应用的App ID是不一样的。

Provisioning Profile

Provisioning Profile是配置文件,一个Provisioning Profile文件包含了刚刚我们上面讲的所有的内容:证书、App ID、设备。

试想一下,如果我们要打包或者在真机上运行一个应用程序,我们首先需要证书来进行签名,用来标识这个应用程序是合法的、安全的、完整的等等;然后需要指明它的App ID,并且验证Bundle ID是否与其一致;再次,如果是真机调试,需要确认这台设备能否用来运行程序。而Provisioning Profile就把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用,这样我们只要在不同的情况下选择不同的profile文件就可以了。而且这个Provisioning Profile文件会在打包时嵌入.ipa的包里。

例如,如下图所示,一个用于Development的Provisioning Profile中包含了该Provisioning Profile对应的App ID,可使用的证书和设备。这意味着使用这个Provisioning Profile打包程序必须拥有相应的证书,并且是将App ID对应的程序运行到Devices中包含的设备上去。


如上所述,在一台设备上运行应用程序的过程如下:


与证书一样,Provisioning Profile也分为Development和Distribution两种:


(注:前面提到不同账户类型所能创建的证书种类不同,显然Profile文件的种类是和你所能创建的证书种类相关的)


Development (1年)
Distribution (1年)
In House
Ad Hoc
App Store
In House 与Ad Hoc的不同之处在于:In House没有设备数量限制,而Ad Hoc是用来测试用的,Ad Hoc的包只能运行在该账户内已登记的可用设备上,显然是有最多100个设备的数量限制。所以这两种Provisioning Profile文件的区别就在于其中的设备限制不一样而已,而他们所使用的Certificate是相同的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将Ionic应用上传到App Store,首先要创建一个有效的开发者账号。你可以前往苹果的开发者网站或使用Xcode进行注册与创建账号。注册成功后,登录到苹果开发者网站,并进入App Store Connect。 在App Store Connect中,你需要创建一个新的App Store记录来描述你的Ionic应用。在创建记录时,你需要填写App的名称、版本号、支持的设备、类别等信息。 接下来,你需要为你的应用生成一个存储证书,以便在App Store上签名和发布你的应用。你可以使用Xcode的自动化工具来生成这个证书。完成这一步之后,你需要在App Store Connect中上传应用的元数据和预览图像,这些信息将在App Store中展示给用户。 当所有的元数据和预览图像都上传完成后,你可以创建一个App Store上的App版本。在创建版本时,你需要指定版本号、构建版本号、发布日期等信息。然后,你需要上传通过Ionic构建的应用文件。这个应用文件可以通过在终端中运行`ionic build ios`命令来生成。 上传应用文件后,你需要设置应用的定价和可用性。在App Store Connect中,你可以选择免费或付费等不同的定价策略,并指定应用可以在哪些国家/地区上架。你还可以选择是否提供订阅或应用内购买等功能。 最后,你需要进行一些验证和审核的步骤。苹果公司会对你的应用进行审核以确保符合他们的指南和规定。一旦审核通过,你的Ionic应用将可以在App Store上下载和安装了。 上传Ionic应用到App Store可能会涉及到一些额外的细节和步骤,但以上是基本的流程和步骤。希望这些信息能够对你有所帮助。 ### 回答2: 将Ionic应用程序上传到App Store需要按照以下步骤进行: 1. 注册开发者账号:首先,你需要在Apple的开发者网站上注册一个开发者账号。这可能需要支付一笔费用,具体金额取决于你选择的开发者计划。 2. 准备应用程序:在将应用程序上传到App Store之前,确保应用程序在各个方面都符合苹果的规定和要求。检查应用程序是否具备良好的用户体验、功能稳定性和合规性。 3. 创建应用程序标识符:在Apple开发者中心创建应用程序标识符。这是一个唯一标识你的应用程序的字符串。确保将此标识符与你的Ionic应用程序代码中的Bundle Identifier字段匹配。 4. 生成证书:为了将应用程序提交到App Store,你需要创建一个分发证书。你可以使用Apple开发者中心的证书工具来创建和下载证书。 5. 生成描述文件:描述文件将与你的应用程序一起上传到App Store。你需要为你的应用程序创建合适的描述文件,以便苹果能够验证你的应用程序并将其分发给用户。 6. 使用Xcode构建应用程序:使用Xcode打开你的Ionic项目,并构建应用程序。你可以选择使用Xcode的GUI界面或通过命令行运行构建命令。 7. 配置应用程序信息:在Xcode中,配置应用程序的一些信息,比如名称、图标、版本号等。确保正确填写这些信息,以便在App Store上展示正确的应用程序信息。 8. 运行验证:在将应用程序上传到App Store之前,可以在Xcode中运行验证工具,以确保应用程序符合苹果的规定和要求。 9. 上传到App Store:完成所有准备工作后,你可以使用Xcode将构建好的应用程序上传到App Store。在上传过程中,你需要提供描述文件和证书。 10. 提交应用程序审核:一旦应用程序上传成功,你需要登录App Store Connect,并提交应用程序以进行审核。审核通常需要一段时间,取决于苹果的审核队列长度。 上传到App Store是一个相对复杂的过程,但按照上述步骤逐步进行,你应该能够成功将你的Ionic应用程序提交到App Store并分发给用户。 ### 回答3: 将Ionic应用程序上传到App Store需要经过以下几个步骤: 1. 注册为苹果开发者:首先,您需要在苹果开发者中心注册一个开发者账号。注册成功后,您将获得一个开发者身份和相关证书。 2. 创建Provisioning Profile:接下来,您需要创建一个Provisioning Profile,并关联到您的应用。这个文件将与您的应用一起安装到用户设备上,并确保应用在设备上运行正常。 3. 生成应用存档文件:然后,您需要使用Ionic的命令行界面或相关工具生成一个应用存档文件(.ipa文件)。存档文件包含了您的应用的所有代码和资源文件。 4. 使用Xcode进行上传:使用苹果的开发工具Xcode,您可以选择将应用存档文件上传到App Store。在Xcode中,打开"Organizer",选择“Archives”选项卡,然后选择您的应用的存档文件。点击"Validate"验证应用是否符合App Store的要求,并修复任何错误。然后,点击"Submit"提交您的应用。 5. 等待审核和发布:一旦您的应用提交成功,苹果将进行审核。审核时间通常需要几天到几周不等。如果您的应用通过审核,您将收到一封电子邮件通知。在此后,您的应用将在App Store上发布。 需要注意的是,为了成功上传应用到App Store,您必须确保您的应用符合Apple的规定和要求,并且具备完整的功能和优质的用户体验。此外,您还应注意遵循规范、正确设置应用的名称、描述和其他相关信息,以便吸引用户并提高应用的可见度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值