iOS8扩展需要自己的configuration文件?

我开始iOS 8的扩展,但我不能在我的设备上运行它。 试图运行时的错误是:

未find匹配的configuration文件

在您的构build设置(“ExtensionName”)中指定的configuration文件具有与您的包标识符net.company.AppName.ExtensionName不匹配的net.company.AppName.ExtensionName 。 Xcode可以通过从成员中心下载新的configuration文件来解决此问题。

  1. 我是否需要为主应用程序和扩展程序分别设置configuration文件?
  2. 他们是否应该共享一个包标识符(默认情况下,它将扩展名添加到包标识符,或许不是)?
  3. 如果它有一个单独的包标识符,那么它是如何反映在configuration文件中(如果有单独的包)?

看起来Xcode会更喜欢这种方式,但是在使用通配符configuration文件之前,没有什么能够阻止您使用通配符configuration文件,直到您想要对App Store进行Adhoc或Release。 更重要的是,您的问题,对于每个目标,你有,你需要一个configuration文件和包ID。 所以是的,你需要为你的扩展“需要”另一个configuration文件,不过我希望苹果能简化这个过程。

总而言之,最好只使用WildCard开发者configuration文件,直到您需要configurationconfiguration文件为止。 请记住,这只是一个testing版,他们仍然在努力工作。

我find了有关应用程序扩展的文档。 如果您看到第20页的底部,似乎实际上build议使用相同的分发证书。 我已经走了,改变了今天的扩展我的包标识符来扩展我的应用程序。 例如, com.DeveloperName.AppName.TodayExtension ,在开发人员中心中创build一个应用程序ID以与其对应,并为其创build一个分配configuration文件。 我的应用+报价已成功通过执行以下步骤进行更新。 我没有遇到任何与应用程序或扩展有关的问题,但是当尝试为我的扩展自动分配正确的configuration文件时,Xcode似乎有点困惑。 手动select它们解决了这个问题。

扩展程序是主机应用程序的单独目标。 您必须将它们视为具有不同包标识符和不同configurationconfiguration文件的独立应用程序。

最好是在testing过程中创build它们,而不是使用通配符,因为您可能需要testing一些已启用的function,例如App Group,以便您的扩展和主机应用程序可以访问同一个容器。

请注意,如果您希望为您的主机应用和扩展程序启用任何function,则必须为其中的所有function分别启用它们。

你确实需要一个单独的configuration文件为你的扩展,但与主应用程序具有相同的证书。 当您创build新的configuration文件时,您的扩展程序的应用程序ID也将出现在列表中,select该configuration文件,然后继续创build新的configuration文件。

还要select您的扩展目标中的configuration文件。

在这里输入图像说明

Interesting Posts