ios - Xcode 8.0 的通配符 App ID 问题

标签 ios xcode

我曾经有一个配置文件和一个关联的通配符应用程序 ID (*) 来为客户签署一堆应用程序。每个明确的应用程序 ID 都在 Xcode 项目的 Bundle ID 字段中声明。问题是每个应用程序都使用无线配件配置功能。据 Apple ( https://developer.apple.com/library/ios/qa/qa1713/_index.html ) 报道,

Because an App ID specifies a unique configuration of entitlements, Wildcard App IDs are for use with code signing all apps that do not enable app-specific capabilities.

在 Xcode 7.3 之前这不是什么大问题,它总是有效。更新到 Xcode 8.0 的最后一个公开测试版后,我无法再使用与我的配置文件关联的通配符应用程序 ID 对我的应用程序进行代码签名,并且我无法向其添加显式应用程序 ID,因为它们已经由客户管理.当我尝试使用新的自动代码签名功能时,它告诉我我在 Xcode 项目的 Bundle ID 字段中建议的应用程序 ID 无法注册到我的开发团队(当然不能!,因为它属于客户的团队我不是其中的成员)。

如果我单击 Xcode 托管配置文件旁边的信息披露按钮,我能看到的唯一问题是缺少无线附件配置功能

enter image description here

那么,我是否可以要求客户将此功能添加到显式应用 ID 中以解决此问题?

如果我尝试使用旧方法和我的供应配置文件(我再次重新生成)直接在build设置中对应用程序进行代码签名,我总是会遇到以下问题:

"App" isn't code signed but requires entitlements. It is not possible to add entitlements to a binary without signing it.

Code signing is required for product type 'Application' in SDK 'iOS 10.0'

有人可以帮我解决这个问题吗?我被困了好几天了。

最佳答案

可能的解决方案列表:

  1. 让他们将您添加为他们开发团队的成员。

  2. 使包 ID 依赖于构建配置。然后你就可以自己注册一个App ID,添加capability了。

  3. 使 entitlements.plist 文件依赖于配置。有一个单独的 entitlements.plist 文件,但不具备开发和测试功能。

关于ios - Xcode 8.0 的通配符 App ID 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39343784/

相关文章:

ios - 切换屏幕时存储数据

ios - 如何允许用户单击 iOS map 以快速显示标注?

c# - Mvvm交叉导航结构

ios - 从数组 Swift 中按字母生成排序字典

ios 无法识别的选择器发送到实例

ios - 未调用 Swift UITableViewDelegate 方法

objective-c - 如何在 UIImageView 上方显示一个不可见的交互按钮

ios - 当强制退出/向上滑动以终止 iOS 应用程序而不点击横幅/警报时,如何获取推送通知有效负载?

c - 在 Mac 上的 Xcode 中查看 C 代码的输出

ios - Xcode 6.3.2 - iOS - 使用自动布局定位图像和文本