将 HealthKit 添加到 Apple Watch Extension 后出现冲突的应用程序标识符
Conflicting app identifiers after adding HealthKit to Apple Watch Extension
我正在向我现有的 iOS 目标添加一个 watchOS 目标。一切正常,直到我在 watchapp.extension 的 "Signing & Capability" 部分添加了 HealthKit 功能。
虽然在 iOS 目标上一切正常,但 watchapp 扩展在我添加相应功能后抱怨并收到 3 个错误。从第一个说:
“无法注册包标识符。
应用程序标识符“[...].watchkitapp.watchkitextension”无法注册到您的开发团队。将您的包标识符更改为唯一的字符串以重试。"
After adding the capability without details
After adding the capability with details
到目前为止我尝试并注意到的事情如下所列:
- Xcode 管理的 ("automatically signed") watchkitapp.watchkitextension 的配置文件比 iOS 目标的配置文件滞后一天。虽然这个缺少功能和 2 个权利,但后者是最新的。其他两个错误也说明了这一点:
"Provisioning profile "iOS 团队配置文件:*“不支持 HealthKit 功能。”
"Provisioning profile "iOS 团队配置文件:*“不包括 com.apple.developer.healthkit 和 com.apple.developer.healthkit.access 权利。”
在 Apple Developer 帐户中,我可以找到 iOS 标识符和 watchapp 标识符。但是,缺少 watchkitapp.watchkitextension 标识符并且无法手动添加,因为它已经被占用,因此不是唯一的。我不知道怎么办。
手动下载配置文件没有成功。
删除 watchapp 目标并将其添加到项目中确实重现了同样的错误。
该应用程序已经 运行 出现在应用商店中,因此无法更改 identifier/bundle ID。
当我删除 healthKit 功能时,一切正常。我可以 运行 它在我的设备上,甚至可以上传到商店。
我的 literal 猜测是 watchapp.extension 的配置文件是根本原因,并且它以某种方式附加到另一个团队 - 我不知道为什么。它比 iOS 目标晚了一天,并且还没有收到关于 healthkit 的更新。配置文件中的证书与有关 iOS 目标的证书相同。然而,即使从零开始并读取 watchapp 目标也无济于事。
watch 应用程序扩展与我的免费计划帐户使用相同的标识符注册并导致冲突。 Apple 必须删除该标识符才能将其分配给我的 'real' 开发者帐户。
我以某种方式设法使用与父应用程序相同的初始捆绑包标识符注册了我的手表应用程序扩展。但是,我没有使用我的真实开发者帐户注册它,而是使用我的免费计划帐户注册,因此出现 "Failed to register bundle identifier." 错误。
令人惊讶的是,我的手表应用程序(不是扩展程序)是在我的真实帐户下注册的,这让我很烦恼,因为它们是在您创建 watchOS 目标时同时创建的。
问题在于,作为免费用户,您无法查看在您的帐户下注册的标识符。您必须要求 Apple 为您删除标识符。之后 Xcode 正在创建一个新的配置文件。
我正在向我现有的 iOS 目标添加一个 watchOS 目标。一切正常,直到我在 watchapp.extension 的 "Signing & Capability" 部分添加了 HealthKit 功能。 虽然在 iOS 目标上一切正常,但 watchapp 扩展在我添加相应功能后抱怨并收到 3 个错误。从第一个说:
“无法注册包标识符。 应用程序标识符“[...].watchkitapp.watchkitextension”无法注册到您的开发团队。将您的包标识符更改为唯一的字符串以重试。"
After adding the capability without details
After adding the capability with details
到目前为止我尝试并注意到的事情如下所列:
- Xcode 管理的 ("automatically signed") watchkitapp.watchkitextension 的配置文件比 iOS 目标的配置文件滞后一天。虽然这个缺少功能和 2 个权利,但后者是最新的。其他两个错误也说明了这一点:
"Provisioning profile "iOS 团队配置文件:*“不支持 HealthKit 功能。”
"Provisioning profile "iOS 团队配置文件:*“不包括 com.apple.developer.healthkit 和 com.apple.developer.healthkit.access 权利。”
在 Apple Developer 帐户中,我可以找到 iOS 标识符和 watchapp 标识符。但是,缺少 watchkitapp.watchkitextension 标识符并且无法手动添加,因为它已经被占用,因此不是唯一的。我不知道怎么办。
手动下载配置文件没有成功。
删除 watchapp 目标并将其添加到项目中确实重现了同样的错误。
该应用程序已经 运行 出现在应用商店中,因此无法更改 identifier/bundle ID。
当我删除 healthKit 功能时,一切正常。我可以 运行 它在我的设备上,甚至可以上传到商店。
我的 literal 猜测是 watchapp.extension 的配置文件是根本原因,并且它以某种方式附加到另一个团队 - 我不知道为什么。它比 iOS 目标晚了一天,并且还没有收到关于 healthkit 的更新。配置文件中的证书与有关 iOS 目标的证书相同。然而,即使从零开始并读取 watchapp 目标也无济于事。
watch 应用程序扩展与我的免费计划帐户使用相同的标识符注册并导致冲突。 Apple 必须删除该标识符才能将其分配给我的 'real' 开发者帐户。
我以某种方式设法使用与父应用程序相同的初始捆绑包标识符注册了我的手表应用程序扩展。但是,我没有使用我的真实开发者帐户注册它,而是使用我的免费计划帐户注册,因此出现 "Failed to register bundle identifier." 错误。
令人惊讶的是,我的手表应用程序(不是扩展程序)是在我的真实帐户下注册的,这让我很烦恼,因为它们是在您创建 watchOS 目标时同时创建的。
问题在于,作为免费用户,您无法查看在您的帐户下注册的标识符。您必须要求 Apple 为您删除标识符。之后 Xcode 正在创建一个新的配置文件。