这篇文章与一个快速变化的事件有关。
我已经尝试了所有其他问题并搜索了我已经可以搜索的所有问题,许多其他问题涉及正在更新的现有应用程序或拥有开发者帐户的人,但这就像我第二次使用 Xcode 并且它之前已经工作过.
这只是凭空发生的。我不断收到这两个错误,它允许我运行模拟器但不能构建到我的 iPhone 上:
自动签名无法解决“LearningSpriteKit”目标的权利问题。自动签名无法将 application-identifier 和 keychain-access-groups 权利添加到您的配置文件中。切换到手动签名并通过从开发人员网站下载匹配的配置文件来解决问题。或者,要继续使用自动签名,请从您的权利文件中删除这些权利,并从您的代码中删除它们的相关功能。配置文件“iOS 团队配置文件:#####.LearningSpriteKit”不包括应用程序标识符和钥匙串访问组权利。
此问题与 Bug 1534145. SSL.com: P-384 curve / ecdsa-with-SHA256 certificates 有关。
Apple 的一位代表估计有 558,000 个证书将失效:Bug 1533655. DigiCert: Apple: Non-compliant Serial Numbers
GoDaddy、谷歌、苹果和 Facebook(这可以解释为什么 Facebook 今天会出现故障)受到影响。
他们正在努力解决这个问题。
伙计们,这将解释我们的问题!
更新:问题已解决。尝试刷新您的项目。
解决方法:更改捆绑标识符和/或版本。
~/Library/MobileDevice/Provisioning Profiles
并更改捆绑标识符后,此解决方法对我有用。
我从 Time Machine 恢复了一个配置文件,当它工作时,Xcode 立即删除并用一个新的替换它。主要区别似乎是旧配置文件具有 get-task-allow
权利,而新配置文件没有权利。这在苹果的最后肯定被打破了。
编辑:权利还应该包括一个钥匙串访问组,但同样,根本没有权利。应该看起来像:
https://i.stack.imgur.com/p36iQ.png
苹果似乎打破了自动签名系统。我在玩一些项目,Xcode 只是获取了不正确的配置文件。
这对我有用:
关闭项目目标中的“自动管理签名”转到 ~/Library/MobileDevice/Provisioning Profiles 删除以前下载的配置文件 再次打开“自动管理签名”
编辑
根据最新更新,Apple 成功解决了使用免费帐户自动进行代码签名的问题。我试过了,我可以确认它已解决。请在你的最后尝试。
更新
使用最新的 XCode 10.2 进行测试,运行良好 + 他们提高了整体 Xcode 和协同设计功能的性能。
当我从 Xcode 创建一个新的配置文件时,我也面临同样的问题,如果我去其他项目并在那里检查,我也会面临与以下相同的问题。
https://i.stack.imgur.com/ABKED.png
由于这个问题,我的任何项目都不能使用旧的配置文件和证书构建。
奇怪的问题,于是我检查了一个新创建的 Profile 并与旧的进行比较,发现 App ID 未知,并且新创建的配置文件中没有 Entitlement 详细信息。
检查以下新旧配置文件比较的屏幕截图:
旧档案:
https://i.stack.imgur.com/VdYiA.png
新的配置文件:
https://i.stack.imgur.com/YBEje.png
所以这意味着它无法在新配置文件中设置 App Id 和 Entitlements。因此,最终结果不适用于所有旧配置文件并在所有项目中给出相同的错误。
问题解决方法:
第 1 步:转到 Provisioning Profile 文件夹(路径:~Library ▸ MobileDevice ▸ Provisioning Profiles)。
或使用快捷方式直接跳转到此文件夹,如 CMD + Shift + G 并输入 ~/Library/MobileDevice/Provisioning Profiles
它将直接在配置文件文件夹。
步骤2:按修改日期对该文件夹内的文件进行排序。
步骤 3:检查具有未知应用程序 ID 的配置文件并删除所有未知配置文件。
第 4 步:返回 Xcode 并检查所有旧项目是否按预期工作。
注意:确保在进行上述更改时没有打开任何项目。否则,它将创建一个具有未知应用程序 ID 的新配置文件。
我希望这会有所帮助,Apple 会尽快解决这个错误!
更新:此解决方案在 2019/Mar/20 7:00 UTC+0 仍然有效
解决方案:无需重新安装 Xcode。我使用了一个全新的免费 AppleId,但后来检查了我的旧 AppleID,它也可以工作。
在 Xcode 中,在 General 选项卡下,取消选中 Automatically manage signing 选项 Close Xcode。擦除 ~/Library/MobileDevice/Provisioning Profiles 中的旧配置文件: cd ~/Library/MobileDevice/Provisioning\ Profiles rm -rf * 在MacOS上,运行Launchpad → Other → Keychain Access 并删除所有与iPhone开发相关的证书,如以下四个图片上:Apple Worldwide Developer Relations Certification Authority Developer ID Certification Authority iPhone Developer: your_name_or_email 在 iPhone 上卸载旧应用程序。重新启动 iPhone 和 Mac 打开 Xcode 并更改应用程序的 Bundle Identifier,至少一个字符(稍后您可以恢复此更改) 在 Xcode 中启用自动管理签名选项。
在此之后,您应该能够在您的设备上运行和调试您的应用程序。
如果您遇到“iPhone 已拒绝启动请求”问题,则解决方案在 answer to Stack Overflow question iOS 12 iPad Denied Launch Request - Xcode 中。
简而言之,您需要在 Xcode 中转到菜单 Product → Scheme → Edit Scheme... 并选择 Executable: ask on launch。
这个问题已经解决了,但是有些人还是有问题。如果您是其中之一,请尝试以下操作:
1. 在目标设置的常规选项卡中 - 取消选中自动管理签名选项
2.关闭Xcode(完全关闭,不仅仅是你的项目)
3. 删除 ~/Library/MobileDevice/Provisioning Profiles/
下的 .mobileprovision
个文件
4. 在钥匙串访问中,删除以下内容:
iPhone 开发者:yourremail@email.com
开发者 ID 证书颁发机构
Apple 全球开发者关系认证机构 3.
5. 删除 iOS 设备上的应用
6. 重启你的 Mac 和 iOS 设备
7.再次打开Xcode
8.更改Bundle Identifier(即使它是单个字符,您也可以在使用后将其更改回原来的)
9. 选中 Automatically manage signing
选项
10. 使用 USB 连接您的 iPhone/iPad。
11. 确保您信任 iOS 设备上的证书
这应该对你有用。
现在看来这个问题已经解决了,个人帐户可以再次自动退出他们的应用程序。
关于@Paul 的回答,它与卸载 Xcode 无关。它是从服务器端固定的。
唯一需要做的就是从您的钥匙串中删除 Apple 开发者证书(用于个人帐户),以便 Xcode 重试生成并下载一个新证书。
这是解决方案:
让 Xcode 打开。选择您的开发者帐户,让错误再次出现。转到钥匙串应用程序
4.a) 转到证书部分
4.b)删除所有(有效和无效)证书(我有三个有效的和许多无效的!)
https://i.stack.imgur.com/vhueU.png
删除最后一个证书后,macOS 将自动为活动的开发者帐户重新创建一个新证书。在您的 iDevice 中运行您的应用程序。您需要输入系统密码才能将新创建的证书添加到钥匙串中。
如果在第二次运行中它说
您的 iPhone 拒绝了启动请求
只需前往:
产品 → 方案 → *编辑方案:取消选中“调试可执行文件”
我希望它能解决你的问题。
我通过执行以下步骤使其工作:
转到 Xcode 首选项 帐户 管理证书 加号 iOS 开发完成 下载手册 配置文件 关闭 转到您的目标 将开发团队更改为无 将开发团队更改为您以前的团队
它应该工作。
我终于能够再次部署到我们的 iOS 设备上。这是我为使其工作而采取的步骤。
首先,我关注了all 10 steps in Zameer's answer here。我在下面复制了它们:
在 XCode 中打开您的项目。从项目导航器中选择您的项目,然后从列中选择您的目标。单击“常规”选项卡并在“签名”部分下,确保启用“自动管理签名”。单击功能选项卡并打开“应用程序组”和“钥匙串共享”设置。这可能会引发“自动签名失败”弹出错误,只需单击取消即可使其消失。这应该会在项目导航器的项目文件夹中为您生成一个名为 nameProject.entitlements 的权利文件。将此权利文件移到文件夹之外,就在您的项目文件下方。再次选择您的目标并返回到“功能”选项卡以关闭“应用程序组”和“钥匙串共享”设置。这可能会再次引发“自动签名失败”弹出错误,只需单击取消即可使其消失。现在选择目标上方的项目,然后转到“建筑设置”选项卡。向下滚动到 Signing 标题下的 Code Signing Identity 设置,然后从每个下拉列表中选择 iOS Developer。在上面的签名标题下,双击代码签名权利旁边的文本字段,然后输入您的权利文件的名称,nameProject.entitlements。
完成这 10 个步骤后,XCode 中的 2 个红色权利错误消息消失了,我能够构建 XCode 测试应用程序并将其部署到 iPhone 并运行它。
尽管该 XCode 测试应用程序可以构建和部署,但我在使用 Xamarin 的 PC 上进行开发,但无法将 Xamarin.iOS 应用程序部署到我的 iOS 设备,并且在 Visual Studio 中不断出现错误:the executable was signed with invalid entitlements
。我做了以下事情,现在我可以部署我的 Xamarin 应用程序并在我的 iOS 设备上运行它:
我从 Mac 的 ~/Library/MobileDevice/Provisioning Profiles 目录中删除了配置文件。 XCode 立即生成了一个新的配置文件(我不确定这一步是否必要,但我只是在编写它,因为我就是这样做的)。我更改了 Xamarin.iOS.csproj 文件并从 CodesignEntitlements 元素中删除了 Entitlements.plist,因此它现在看起来就像
也许论坛帖子[iOS 12 SDK] - deadline March 2019 - Legacy Mode 可能会有所帮助。
它谈到 Apple 拒绝在 2019 年 3 月(2018 年 12 月的 OP)下在 SDK 12 下构建 iOS 应用程序。
我还没有尝试过,但它可能与问题有关。我有一个免费的开发者帐户,也遇到了这个错误。
这是链接更改时的屏幕截图(下面的屏幕截图1)。
这是来自 first screenshot 的链接(下面的屏幕截图 2)
1 2
此错误还有另一个潜在来源。如果您的 Xcode 环境中没有有效的签名开发证书设置,它将引发 OP 发布的类似错误。
您可以通过 Apple 链接 here 查看您的开发证书状态。
适用于 macOS Big Sur 测试版
在 Xcode 11 中存档 使用 Xcode 12 beta 管理器上传(窗口 -> 管理器)
对我来说,它终于再次起作用了。他们只是修复了它,或者我的任何其他步骤都有帮助:
卸载 Xcode 和所有相关文件(使用 AppCleaner) 通过 App Store 安装 Xcode 更改应用程序的捆绑标识符 从钥匙串中删除所有“iOS 开发人员”密钥
这是一个临时解决方法:
更改捆绑标识符:目标→常规→身份→捆绑标识符(将其设置为与现在不同的值)更改版本:目标→通用→身份→版本禁用调试可执行文件:产品→方案→编辑方案(取消选中该框说“调试可执行文件”)删除配置文件:~/Library/MobileDevice/Provisioning Profiles 删除此文件夹中的所有内容。
您现在应该能够在模拟器和设备上构建和运行项目。
不定期副业成功案例分享