从通配符应用更改为显式 ID 应用

Posted

技术标签:

【中文标题】从通配符应用更改为显式 ID 应用【英文标题】:Changing from wildcard app to explicit ID app 【发布时间】:2017-03-20 14:55:45 【问题描述】:

我创建了一个应用程序,它不使用 iAP、GameCenter、推送通知之类的任何东西......所以我离开 Xcode 来管理配置文件和所有内容。

但我决定制作一个带有明确 ID 的应用。尽管如此,在我在 iTunesConnect 中执行此操作并适当更改捆绑 ID 后,当我单击 Xcode Managed Profile 按钮(在 General 选项卡上的 Signing 部分下)时,我看到了:

我可以说正确的捆绑 ID 是匹配的,但我应该会看到类似的内容:

ios 配置文件:com.blahblah.myappname

应用 ID com.blahblah.myappname

此外,当我在归档后尝试验证应用程序时,我收到此错误:

我有许多其他应用程序(具有显式 ID),我让 Xcode 自动管理这些应用程序的签名。唯一的区别是,我从一开始就没有使用显式的应用程序 ID……如何让 Xcode 指向正确的应用程序 ID,而不禁用自动代码签名功能?

顺便说一句,我在团队中有一个管理员角色...

【问题讨论】:

您是否在 Xcode 中设置了多个开发者帐户?您是否添加了任何权利,使 Xcode 决定您需要在您的配置文件中显示明确的 ID?如果没有,Xcode 将简单地为应用程序选择最佳配置文件,它仍然是带有通配符 ID 的配置文件。你的措辞似乎有点混乱。你的应用总是有一个明确的 ID;但是,您可以选择使用链接到通配符或显式 ID 的配置文件对应用程序进行签名。应用必须有一个唯一的捆绑包 ID。 @wottle 我有一个帐户,有两个团队,(个人帐户,另一个是我的成员角色)。到目前为止,我还没有真正添加任何权利......如果这是 Xcode 选择带有通配符 ID 的配置文件的原因,那么我想我的问题得到了回答。另一个问题(权限失败)与证书和私钥对有关......一旦我将两者都放入我的钥匙串中,那部分就起作用了(私钥丢失)。 我相信是的。我从未做过任何测试,但我知道 iOS 在运行应用程序时,只关心设备上是否存在对应用程序有效的有效配置文件(可能是通配符 ID)配置文件或显式 ID)。至于自动代码签名,当有多个有效的签名选项时,我不知道 Xcode 使用什么逻辑来选择。我的猜测将是最灵活的选择(通配符之一)。但是,当您进行 iOS 分发构建时,它必须是配置文件中的明确 ID。 【参考方案1】:

首先在 Apple Developer 网站上创建您的 App ID。

然后只需在 Xcode 的 Identity 选项卡中的 Bundle 标识符上引用相同的 App ID。

您可以让 Xcode 自动管理签名。

为安全起见,为您的团队创建 1 个生产证书。 并在 Xcode 的 Signing Team 部分使用它。

从这里你应该没有任何问题。

我不太明白您的问题,或者您为什么不想引用显式 App ID?

【讨论】:

我没有说我不想引用显式 ID ...你从哪里读到的? ;) 我说如果 Xcode 管理签名,我会从图像中得到结果。如果我生成证书、配置文件等,一切正常(例如,我能够验证并提交应用程序)。所以我想知道自动代码签名有什么问题......

以上是关于从通配符应用更改为显式 ID 应用的主要内容,如果未能解决你的问题,请参考以下文章

无法使用通配符标识符为 iOS 应用程序配置文件创建用作应用程序 bundleId 的显式 AppID

XCode 导出应用程序,通配符错误

将通配符捆绑标识符转换为单个 ID

是否可以将带有通配符应用程序 ID 的 iOS 应用程序上传到 iTunes 连接?

Xcode 8:为通配符 App ID 启用无线功能

我们可以在 iPhone 中使用单个通配符 App ID 安装多个应用程序吗?