为啥 Xcode 12.5 `xcodebuild -archive` 抱怨在没有 AppClip 的应用程序中缺少 appclip 权利?
Posted
技术标签:
【中文标题】为啥 Xcode 12.5 `xcodebuild -archive` 抱怨在没有 AppClip 的应用程序中缺少 appclip 权利?【英文标题】:Why does Xcode 12.5 `xcodebuild -archive` complain about a missing appclip entitlement in an app that does not have an AppClip?为什么 Xcode 12.5 `xcodebuild -archive` 抱怨在没有 AppClip 的应用程序中缺少 appclip 权利? 【发布时间】:2021-05-21 12:59:55 【问题描述】:没有 App Clip 且在 Xcode 12.4 下成功构建的应用在使用 12.5 时会在存档阶段产生错误。
权利文件的相关域部分如下所示:
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:applinks.ourdomain.co.uk</string>
<string>applinks:www.ourdomain.co.uk</string>
<string>applinks:ourdomain.co.uk</string>
</array>
我的印象是,相关域中没有 <string>appclip:ourdomain.co.uk</string>
条目意味着我们没有声称拥有 App Clip。
我们 CI 上的错误输出显示:
error: exportArchive: Provisioning profile "Our App Name" doesn't
include the com.apple.developer.associated-appclip-app-identifiers entitlement.
Error Domain=IDEProfileQualificationErrorDomain Code=8
"Provisioning profile "Our Profile Name" doesn't include the
com.apple.developer.associated-appclip-app-identifiers entitlement."
UserInfo=NSLocalizedDescription=Provisioning profile "Our Profile Name" doesn't
include the com.apple.developer.associated-appclip-app-identifiers entitlement.,
IDEProfileQualificationError_RequiredEntitlements=
"application-identifier" = "$(AppIdentifierPrefix)uk.co.ourdomain.ourapp";
"aps-environment" = production;
"com.apple.developer.associated-appclip-app-identifiers" = (
"TeamName.uk.co.ourdomain.appname.Clip"
);
"com.apple.developer.associated-domains" = (
"applinks:applinks.ourdomain.co.uk",
"applinks:www.ourdomain.co.uk",
"applinks:ourdomain.co.uk"
);
我没有解释为什么这包含在所需的权利中:
"com.apple.developer.associated-appclip-app-identifiers" = (
"TeamName.uk.co.ourdomain.appname.Clip"
);
Other people 在有有 App Clips 但我们没有的应用遇到同样的错误。
【问题讨论】:
【参考方案1】:通过从 Apple 下载新生成的配置文件来解决这个问题,除了在权利部分添加了一个空的 appclip-app-identifiers
条目之外,该配置文件与原始配置文件相同。
【讨论】:
【参考方案2】:我通过删除 ~/Library/MobileDevice/Provisioning Profiles 中的所有配置文件解决了这个问题,并使用 XCode 再次安装它们,位于应用程序的目标 > 签名和功能中。
【讨论】:
以上是关于为啥 Xcode 12.5 `xcodebuild -archive` 抱怨在没有 AppClip 的应用程序中缺少 appclip 权利?的主要内容,如果未能解决你的问题,请参考以下文章
为啥在使用 XCode 和 xcodebuild 之间存在差异?
xcodebuild 使用嵌入式库创建 xcframework