Finder Sync Extensions是否需要配置文件?

Rob*_*rtR 10 macos xcode code-signing objective-c provisioning-profile

OS X 10.10 Yosemite引入了Finder Sync扩展.我在将这些集成到现有项目时遇到了麻烦.我有一个现有的组件,我希望扩展生活.此组件不通过应用商店分发,并且General-> Settings下的"Identity - > Signing"设置为"None"

在Build Settings下,我有以下内容:

  • 代码签名身份:开发者ID应用程序:
  • 供应配置文件:无

我阅读了一些有关在应用程序商店之外分发应用程序的信息,但没有提及有关配置文件的任何信息.

当我使用Xcode 6.1 beta 2模板创建Finder Sync扩展目标时,它会将其设置为None的"General - > Identity - > Signing",就像父组件一样.构建设置具有以下内容:

  • 代码签名身份:开发者ID应用程序:
  • 配置文件:(未设置)

但是,当我构建时,它会说:

"找不到匹配的配置文件"

"此产品类型必须使用配置文件构建,但未找到与"开发者ID应用程序:[团队帐户]"标识匹配的配置文件.Xcode可以通过从成员中心下载新的配置文件来解决此问题.

在构建应用扩展时是否有新的配置配置文件要求?我应该使用不同类型的证书吗?

我在App Extension Programming Guide中找到了这个有趣的片段:

要提供OS X应用程序扩展,建议您将包含的应用程序提交到App Store,但这不是必需的.

注意:如果您在Mac App Store之外分发OS X应用程序扩展,Gatekeeper会阻止扩展程序运行,直到用户打开并批准包含该应用程序.此外,如果使用除开发者ID之外的证书对签名进行编码,则用户必须明确覆盖Gatekeeper以打开包含的应用程序以使您的扩展可用.

Debug,Profile和Test Your App Extension部分中的另一个相关代码段:

注意:您必须对包含的应用及其包含的应用扩展程序进行代码签名.

Xcode项目中的所有目标都必须以相同的方式进行代码签名.例如,在测试期间,您可以使用临时代码签名或使用开发人员证书,但必须对项目中的所有目标使用相同的方法.要提交到App Store,请使用您的分发证书来获取所有目标.

rob*_*cer 1

我使用 Xcode 6.1“GM”时遇到了类似的问题,并出现相同的错误消息。就我而言,我正在使用“今日”和“共享”扩展,但我不知道这是否确实与问题相关。我尝试在某一时刻删除它们,但仍然遇到相同的错误。

无论如何,我最终通过将配置文件设置为“XC:*”来构建它。我不知道为什么,因为它实际上并没有嵌入配置文件。我假设您可以选择对应用程序有效的任何配置文件,但我只使用通配符进行了测试。

打开包含的应用程序并允许其运行后,我的扩展程序可以正常工作。