今天登陆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 I