XCode中Provisioning profile doesn't include signing certificate解决方法

众所周知,iOS 证书分为两类:Development 和 Production(Distribution)。我们用Development作为日常Debug开发调试证书使用;Distribution作为上传AppStore,发布使用。
具体证书相关详解,请见下篇文章,讲解的很详细,这里不再复述。

https://blog.csdn.net/phunxm/article/details/42685597/

下面要说的是,当我们已经安装了正确的Certificates,并且也未过期的情况下,在XCode里,Automatically Signing 去掉勾,Development没有问题,但是Distribution会出现:

Provisioning profile "xxxx" doesn't include signing certificate "xxx"

如下图所示:


XCode中Provisioning profile doesn't include signing certificate解决方法_第1张图片
image.png

即Provision Profile 与 Signing Certifcate 不匹配。

在这种情况下,Certificates都是存在且安装正确的,但为什么还会出现这样的问题?

因为XCode默认匹配Signing Certifcate的时候,默认找到了Development的Certifcate,因此与Distribution不匹配。即本应组合如下:

Development的Provision Profile + Development的Signing Certificate;
Distribution的Provision Profile + Distribution的Signing Certificate;

这样才是正确的。

网上有人说删除本地的Provision Profile文件,重新下载,我试了这个方法,不起作用。

正确的方法是,在Build Setting里,设置Code Signing Identity:


XCode中Provisioning profile doesn't include signing certificate解决方法_第2张图片
image.png

将Release版本的 Code Signing Identity设置成对应的证书即可。设置对了之后,XCode General里可以看到如下图:


XCode中Provisioning profile doesn't include signing certificate解决方法_第3张图片
image.png

这样就正确了,Debug用开发证书,Release用发布证书。
两个证书各司其职,OK了!

你可能感兴趣的:(XCode中Provisioning profile doesn't include signing certificate解决方法)