阅读 621

iOS Provisioning Profiles在证书有效期内变成invalid状态

今天登陆iOS开发者账号,突然发现签名文件变为了invalid状态,感到很莫名其妙,因为我们的开发者账号是前两个月刚续费的,当时整理了证书,所有的都是重新生成。

研究发现导致Provisioning Profile变“invalid”状态的原因有两个: 一个是和Provisioning Profile相关的证书发生改变,另一个是相关的 App ID发生改变。 这两种情况发生于自己生成相关文件的时候,Xcode管理生成的文件不会出现这种状况。

Certificate改变

如果和签名文件相关的代码签名证书过期或者被吊销,这个签名文件就必须要重新被编辑并且和关联到一个新的证书,才能从invalid状态恢复到active状态,并被重新用于代码签名。

App ID改变

当App ID发生改变时,比如在Xcode中打开或者关闭Capabilities中的某个功能,和App ID相关的签名文件必须被更新来相应的反应某个功能的关闭或开启。

Xcode自动生成管理的签名文件会自动更新,而手动创建的必须要重新生成,进入开发者账号Certificates, Identifiers & Profiles下,对Provisioning Profiles下的签名文件进行edit编辑,然后generate重新生成即可。

而我项目中就是因为开启了Capabilities下的功能导致文件状态变为invalid。

invalid状态的影响

由App ID改变而导致签名文件变为无效状态不会影响之前使用该文件签名过的应用程序,变为无效状态只是提示开发者必须要更新/生成新的签名文件来反映其关联的App ID的变化,之后才能再次使用它进行代码签名。

证书过期或吊销不会影响该证书已经签名过的任何应用程序,签名证书无效状态时必须重新生成/更新配置文件才能与新的有效证书相关联。

在签名证书状态从“invalid”变为“active”之后,使用新的签名文件签名代码之前需要在Xcode中同步新的Provisioning Profile.

参考资料:developer.apple.com/library/arc…

关注下面的标签,发现更多相似文章
评论