Fastlane Match构建报错:Provisioning profile不包含指定签名证书
针对你遇到的fastlane构建报错"match Development XXX" doesn't include signing certificate "Apple Development: XXXX",结合你已执行fastlane nuke命令仍未解决的情况,试试以下方案:
强制match重新生成证书与描述文件
执行命令:fastlane match development --force这个命令会跳过git仓库中已有的签名文件,直接从Apple开发者中心重新获取或生成全新的开发证书和描述文件,覆盖本地及仓库内的旧文件,能有效解决证书版本不一致的问题。
补全Matchfile中的开发者账号配置
你的Matchfile里注释掉了username字段,虽然fastlane可能会读取本地缓存的账号,但明确指定开发者账号可以避免因账号上下文不一致导致的证书匹配错误。取消注释并填入你的Apple开发者邮箱:username("your-dev-account@example.com")核对git仓库与本地证书的一致性
手动打开你的iOS-Profile.git仓库,查看development目录下的证书文件,对比本地钥匙串中对应证书的序列号。如果仓库内的证书是旧版本,即使本地有有效证书,match也会优先使用仓库内的文件,此时用--force参数重新生成即可同步。清理钥匙串中的重复证书
打开「钥匙串访问」,搜索“Apple Development”,如果存在多个同名证书,删除过期或多余的旧证书,只保留当前有效的那一个,避免match在选择证书时出现混淆。指定match使用具体证书
如果以上方法都无效,可在fastlane的lane配置中给match命令添加certificate_id参数,直接指定要使用的证书ID(证书ID可在Apple开发者中心的证书页面查看):match( type: "development", certificate_id: "你的证书ID" )
内容的提问来源于stack exchange,提问作者Cate Daniel

