我曾经有一个配置文件和一个关联的通配符应用程序 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 托管配置文件旁边的信息披露按钮,我能看到的唯一问题是缺少无线附件配置功能
那么,我是否可以要求客户将此功能添加到显式应用 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'
有人可以帮我解决这个问题吗?我被困了好几天了。
最佳答案
可能的解决方案列表:
让他们将您添加为他们开发团队的成员。
使包 ID 依赖于构建配置。然后你就可以自己注册一个App ID,添加capability了。
使 entitlements.plist 文件依赖于配置。有一个单独的 entitlements.plist 文件,但不具备开发和测试功能。
关于ios - Xcode 8.0 的通配符 App ID 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39343784/