加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

开发中有多个iOS应用程序的组织应如何管理iOS分发证书?

发布时间:2020-12-14 19:43:48 所属栏目:百科 来源:网络整理
导读:我最近参与了一个有iOS开发组织帐户的小组. 他们有多个团队都开发独立的iOS应用程序.我有点惊讶地发现,使用该组织的“iOS发行版”证书并没有协调.相反,无论开发人员需要提交构建版本只需创建一个新版本,必要时撤销一个或多个现有版本(Apple似乎允许其中三个
我最近参与了一个有iOS开发组织帐户的小组.

他们有多个团队都开发独立的iOS应用程序.我有点惊讶地发现,使用该组织的“iOS发行版”证书并没有协调.相反,无论开发人员需要提交构建版本只需创建一个新版本,必要时撤销一个或多个现有版本(Apple似乎允许其中三个的有限供应同时“生效”).这种做法的理由似乎是以下观察的组合:

>一个开发人员创建的分发证书不能(容易)被另一个开发人员使用(你可以在这个主题上找到很多关于SO的问题;解决方案似乎是确保证书的私钥元素也是共享的,但是该组织尚未采取这一措施.Example,another example;还有更多).
> xcode7比以往任何时候都更容易流失分发证书,因此它显然是Apple的预期方式(xcode6需要访问开发人员中心).
>仅在appstore提交的相当小的窗口中需要分发证书;一旦应用程序在appstore中,分发证书是否被撤销没有区别.
>苹果公司似乎有一些关于发行证书续签的稍微奇怪的后进先出规则(如果你有“旧”,“更新”和“最新”,你撤销“更新”或“最新”…你’在你撤销“旧”之前,你会发现你仍然无法创建一个新的).或者至少那些规则对于一个组织而言似乎很奇怪,该组织本来希望在各个团队/项目之间划分有限的分发证书库存,但发现它不符合Apple实际提供的.

但是,我观察到这种快速分发证书流失政策的一个非常严重的负面后果是,testflight构建根本不会长时间保持有效,并且tesflight用户发现自己得到关于无效证书或应用程序的对话框他们应该是testflight测试员很快就从testflight中消失了. (实际上也可以看到this question沿同一行).

鉴于Apple明确将testflight视为appstore基础架构的重要组成部分,我发现很难相信这个组织正在以苹果实际上打算完成任务的方式开展工作.有人能够对正确的做事方式有所了解请赐教吗?

如果我的术语在上面的某些内容中没有了,我道歉…我只是涉足这个问题.

解决方法

正确的方法是拥有一个分发证书并共享私钥.我们共享一个小钥匙串,其中只包含我们组织中开发/分发所需的私钥和证书.您可以将此“存根”钥匙串添加到所有开发计算机,如果将其签入版本控制,则可以轻松地向所有人推送更新.您也可以用密码保护它,在这种情况下Xcode会要求您在使用编码时解锁它.

IMO,实际上是一个糟糕的事实,它可以“轻松”地推销证书.正如您所观察到的,团队中的其他开发人员很容易搞砸,特别是有关TestFlight的问题,尽管最近我从其他开发人员那里听说Apple可能已经解决了这个问题. (我自己没有证实.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读