Xcode 8.0的通配符App ID问题

时间:2016-09-06 08:09:16

标签: ios xcode

我曾经有一个配置文件,其中包含一个相关的通配符应用ID(*),可以为客户签署一系列应用。每个显式应用程序ID都声明为Xcode项目中的Bundle ID字段。问题是每个应用程序都使用无线附件配置功能。正如Apple(https://developer.apple.com/library/ios/qa/qa1713/_index.html)报道的那样,

  

由于应用程序ID指定了权利的唯一配置,因此通配符应用程序ID用于代码签名所有不启用应用程序特定功能的应用程序。

在Xcode 7.3之前,这不是什么大不了的事,它总能奏效。在更新到Xcode 8.0的上一个公开测试版后,我无法使用与我的配置文件相关联的通配符应用ID对我的应用进行代码签名,并且我无法为其添加明确的应用ID,因为它们是已经由客户管理。当我尝试使用新的自动代码签名功能时,它告诉我,我在Xcode项目的Bundle ID字段中建议的应用ID无法注册到我的开发团队(当然不是!,因为它属于客户&# 39;我不是其中一员的团队。

如果我点击Xcode托管个人资料旁边的信息泄露按钮,我唯一能看到的问题是无线附件配置功能缺失

enter image description here

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

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

  

"应用"没有代码签名但需要权利。如果没有签名,就无法将权利添加到二进制文件中。

     

产品类型'应用程序'需要进行代码签名。在SDK' iOS 10.0'

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

1 个答案:

答案 0 :(得分:1)

可能的解决方案清单:

  1. 让他们将您加入他们的开发团队。

  2. 使捆绑ID依赖于构建配置。然后,您可以自己注册App ID并添加功能。

  3. 根据配置制作entitlements.plist文件。有一个单独的entitlements.plist文件,但没有开发和测试的功能。