【发布时间】:2014-11-12 01:58:24
【问题描述】:
OS X 10.10 Yosemite 引入了Finder Sync extensions。我无法将这些集成到现有项目中。我有一个现有的组件,我希望扩展程序能够使用。该组件不通过应用商店分发,General->Settings下的“Identity->Signing”设置为“None”
在构建设置下,我有以下内容:
- 代码签名身份:开发者 ID 应用程序:
- 配置文件:无
我阅读了一些关于 distributing apps outside the app store 的信息,但它没有说明任何关于配置文件的信息。
当我使用 Xcode 6.1 beta 2 模板创建 Finder Sync 扩展目标时,它设置为“常规 -> 身份 -> 签名”为无,就像父组件一样。构建设置有以下内容:
- 代码签名身份:开发者 ID 应用程序:
- 配置文件:(未设置)
但是,当我构建时,它会显示以下内容:
“未找到匹配的配置文件”
“此产品类型必须使用配置文件构建,但未找到与身份“开发者 ID 应用程序:[团队帐户]”匹配的配置文件。Xcode 可以通过从会员中心下载新的配置文件来解决此问题。”
在构建应用扩展程序时是否有新的配置文件要求?我应该使用其他类型的证书吗?
我在App Extension Programming Guide中发现了这个有趣的sn-p:
要交付 OS X 应用扩展,建议您将包含的应用提交到 App Store,但这不是必需的。
注意:如果您在 Mac App Store 之外分发 OS X 应用扩展,Gatekeeper 会阻止扩展运行,直到用户打开并批准包含的应用。此外,如果您使用开发者 ID 以外的证书进行代码签名,则用户必须明确覆盖 Gatekeeper 才能打开包含的应用程序以使您的扩展程序可用。
Debug, Profile, and Test Your App Extension 部分的另一个相关 sn-p:
注意:您必须对包含的应用及其包含的应用扩展进行代码签名。
Xcode 项目中的所有目标都必须以相同的方式进行代码签名。例如,在测试期间,您可以使用临时代码签名或使用您的开发人员证书,但必须对项目中的所有目标使用相同的方法。要提交到 App Store,请将您的分发证书用于所有目标。
【问题讨论】:
-
你有什么解决办法吗?
-
您找到解决方案了吗?我有同样的问题,尝试使用开发人员 ID 证书签署包含应用程序,但扩展坚持使用配置文件进行签名。
标签: objective-c xcode macos code-signing provisioning-profile