Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS8扩展需要自己的配置配置文件吗?_Ios_Xcode_Provisioning Profile_Ios App Extension_Bundle Identifier - Fatal编程技术网

iOS8扩展需要自己的配置配置文件吗?

iOS8扩展需要自己的配置配置文件吗?,ios,xcode,provisioning-profile,ios-app-extension,bundle-identifier,Ios,Xcode,Provisioning Profile,Ios App Extension,Bundle Identifier,我正在启动iOS 8扩展,但无法在我的设备上运行它。尝试运行时出现的错误是: 找不到匹配的配置文件 在生成设置中指定的设置配置文件 (“ExtensionName”)的AppID为net.company.AppName,但它没有 匹配您的捆绑包标识符net.company.AppName.ExtensionName。 Xcode可以通过下载新的配置文件来解决此问题 从会员中心 主应用程序和扩展程序是否需要单独的配置文件 它们是否应该共享捆绑包标识符(默认情况下,它会将扩展名添加到捆绑包标识符中,

我正在启动iOS 8扩展,但无法在我的设备上运行它。尝试运行时出现的错误是:

找不到匹配的配置文件

在生成设置中指定的设置配置文件 (“ExtensionName”)的AppID为
net.company.AppName
,但它没有 匹配您的捆绑包标识符
net.company.AppName.ExtensionName
。 Xcode可以通过下载新的配置文件来解决此问题 从会员中心

  • 主应用程序和扩展程序是否需要单独的配置文件
  • 它们是否应该共享捆绑包标识符(默认情况下,它会将扩展名添加到捆绑包标识符中,因此可能不会)
  • 如果它有一个单独的包标识符,那么该标识符如何反映在配置文件中(如果有单独的包标识符)

  • Xcode似乎更喜欢这种方式,但是在你想临时发布或发布到应用商店之前,没有什么可以阻止你使用通配符配置文件。不过,更重要的是,对于您拥有的每个目标,您都需要一个配置文件和捆绑ID。因此,是的,您的扩展“需要”另一个配置文件,尽管我希望苹果能够简化此过程


    总而言之,在需要资源调配配置文件之前,最好只使用通配符dev配置文件。请记住,这是一个测试版,他们仍在进行几乎所有的工作。

    我找到了有关的文档。如果您阅读了第20页的底部,您会发现实际上建议使用相同的分发证书。我已经为Today扩展更改了包标识符,以扩展我的应用程序。例如,
    com.DeveloperName.AppName.TodayExtension
    ,在中创建了一个应用程序ID以与之对应,并为其创建了分发配置文件。
    我的应用程序已通过以下步骤成功更新。我没有遇到应用程序或扩展的任何问题,但Xcode在尝试为我的扩展自动分配正确的配置文件时似乎有点困惑。手动选择它们可以解决此问题。

    扩展是主机应用程序的独立目标。您必须将它们视为具有不同捆绑标识和不同配置文件的独立应用程序

    最好是在测试期间创建它们,而不是使用通配符,因为您可能需要测试您启用的某些功能,例如应用程序组,以便您的扩展和主机应用程序可以访问相同的容器


    请注意,如果要为主机应用程序和扩展启用任何功能,则必须为所有应用程序和扩展分别启用这些功能

    您的扩展确实需要一个单独的配置文件,但是您的主应用程序拥有相同的证书。创建新的配置文件时,扩展的应用程序id也将显示在列表中,选择该应用程序id,然后继续创建新的配置文件

    还要在扩展的目标中选择该配置文件

    我只需使用“自动管理登录”,直到需要推送到应用商店。这在模拟器上是现成的,还没有在设备上试用过

    Appstore构建的几个指针:

  • 我为每个通知扩展创建了一个通配符id,但此通配符绑定id的前缀应与应用程序的绑定id的前缀匹配。如果不是这样,则会出现以下错误:“嵌入式二进制文件的包标识符未以父应用程序的包标识符作为前缀”。因此,如果应用程序的绑定id为:“com.companyName.appName”,则扩展名的通配符绑定id应为“com.companyName.appName.*”。然后,您可以在XCode中将*替换为特定的通知扩展名。注意:apple只允许在应用程序包id之后使用一个句点(“.”)来命名扩展包id
  • 扩展的版本和内部版本号应与应用的版本和内部版本号匹配
  • 创建应用程序Id后,使用该Id创建分发资源调配配置文件,并在XCode中使用它
    现在正在尝试归档(Xcode 6 GM和iOS 8 GM的发行版),它希望为扩展配置配置文件。Sigh.WildCard配置文件似乎不支持应用程序组,或者可能不支持任何其他类型的权限,因此如果您使用此功能,您需要为您的应用程序创建一个显式配置文件,并为每个扩展名创建一个。这个答案是否仍然是最新的?@BradThomas yes:)。在代码签名过程方面,除了有一个大的“自动”按钮之外,它们没有太大的变化。如果可以的话,我强烈建议您使用它。我甚至无法计算我将设备添加到配置配置文件并且忘记将设备添加到扩展配置文件的次数。除非两个配置文件对设备都有效,否则不会安装(临时/企业部署)。另一个用户报告您需要单独的证书:另一个用户报告您需要单独的配置文件。他没有提到单独的证书。TodayExtension不是最好的名称,因为它是Xcode控制台中用于调试输出的可执行文件名。如果太多开发人员使用该进程名,调试将变得更加困难。应用程序扩展链接是brokenDaniel,你是对的。在这种情况下,Xcode非常烦人。手动选择也适用于我。我需要使用主机应用程序的配置文件对扩展进行签名吗?我需要单独存档扩展吗?或者只存档主应用程序并上传到appstore?@Matt配置文件由以下部分组成:1个或多个证书+应用程序ID+设备列表。除非您使用的是应用程序ID,否则主机应用程序和应用程序扩展的应用程序ID不相同。因此,您无法使用主机应用程序的设置配置文件进行登录。但证书是一样的。设备列表可以是相同的