更新 MacOS 和 Xcode 后,Xcode 8.1 出现“找不到匹配的配置文件”错误

19
我正在使用TestFlight测试我的应用程序,但在更新到MacOS 10.12和Xcode 8.1后,我无法上传我的存档文件。当我存档我的应用程序,点击“上传到App Store...”,选择我的开发者账号时,会出现以下错误:No matching provisioning profiles found for "Applications/app.app"。有效的配置文件中都没有包含以下权限:application-identifier、beta-reports-active 和 keychain-access-groups。
目前我已尝试以下方法:
  1. 重新打开Xcode(多次)
  2. +, > 选择Team > 删除每个配置文件 > 重新下载每个配置文件(每个步骤后重新打开Xcode)
  3. 重新下载并安装我的证书和配置文件
  4. 删除每个配置文件并重新构建应用程序

请查看以下问题: https://dev59.com/91kS5IYBdhLWcg3wp4XO#39633498 - Satish Mavani
你是否在使用两台不同的机器?今天我遇到了同样的问题,不知道你是如何解决的?你是在iTunes Connect中删除bundle并重新创建,还是在本地的Xcode上进行了操作呢? - Douglas Taggart
嗨,我在一台电脑上使用Ionic开发应用程序。由于某个未知的原因,在“config.xml”中的bundleID是默认值,即“my.ionic.project”,这与我在iTunes Connect中设置的不同。我刚刚编辑了该配置并重新构建了它。 - Devid Farinelli
5个回答

17

当我的Xcode通配符配置文件过期时,我也遇到了这个错误。尽管一切都设置为自动,但Xcode并没有自动更新它。

我登录门户网站,编辑了XC: *配置文件,点击生成,然后下载所得的证书。之后一切都好了。


这个问题也是我的问题。你的答案解决了它,应该标记为被接受的答案。 - Christine
问题解决了!这个错误真是太反直觉了 :-/ - Felipe Ferri
1
也解决了我的问题。对于其他人可能很明显,但是在这里的“portal”指的是苹果开发者门户网站(https://developer.apple.com/account)。登录后,转到“证书、标识和配置文件”,在左侧菜单的底部,您将看到“配置文件”,单击“全部”,然后您将看到XC:*配置文件。编辑和生成后,我通过Xcode - 首选项 - 帐户 - <选择您的帐户> - 下载所有配置文件,在Xcode中重新下载了配置文件。这为我解决了问题。 - Peter Eysermans

11

在Xcode的“Capabilities”屏幕上,将一个功能开启然后关闭将修复该问题。


5
我也受益匪浅。难以置信这就是解决方案。 - PeterK
1
哦我的天啊!这是什么鬼!干杯! - J.C
更新到iOS 12和XCode 10后,自动签名出现问题,导致应用程序无法正常运行。使用连接线将应用程序直接安装在iPhone 8上可以正常工作,但是当我尝试进行应用程序分发的存档操作时,存档设置始终为“NONE”。我可以手动签名并发布应用程序,但是云端容器始终缺失。我已经苦苦挣扎了好几天,每次Apple的更新都会让我烦恼不已... 到底有没有人知道如何解决这个问题。我已经尝试了所有可能的方法,甚至吊销并重新创建了所有证书和配置文件。我需要自动签名和配置文件。 - Nexus

1

其他答案对我都没有用。

我不得不从KeyChain中删除所有证书,并在Apple开发者门户中撤销它们。然后在KeyChain中手动请求分发证书。将其上传到开发者门户。

XCode(8.3)必须停止,因为它会在从KeyChain中删除证书时继续创建证书。

另外,KeyChain出现问题,并突然显示了一堆之前未显示的证书和密钥。我不知道为什么会这样。其中一些已过期,可能导致了最初的问题。我也把它们全部删除了。

最后,XCode成功完成了归档和上传到iTunes。这次只浪费了两个小时。


0

在Xcode中使用提供的自动选项,只需将相关的账户团队添加到Xcode中,让Xcode管理签名过程。然后进行归档并在制作存档时选择适当的选项。


嗨,感谢您的帮助。我已经有了这个配置,问题是我的应用程序的BundleID与我的预配文件中的不同(我不知道为什么)。 - Devid Farinelli

0

我遇到了同样的问题。由于我们的项目是由Ionic自动生成的,并且必须在CI环境中构建,因此打开项目并切换自动签名不是一个选项。我对比了切换前后的授权文件,并发现字典值排序方式不同:

 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+   <key>aps-environment</key>
+   <string>production</string>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
    </array>
-   <key>aps-environment</key>
-   <string>production</string>
 </dict>
 </plist>

尽管据我理解这不应该有任何影响,但在进行此更改后,构建成功了。

对于在Ionic项目中遇到此问题的所有人,解决方案是将此键值对添加到config.xml的配置编辑中:

<config-file parent="keychain-access-groups" target="*-Release.plist">
    <key>aps-environment</key>
    <string>production</string>
    <array>
        <string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
     </array>
</config-file>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接