【问题标题】:Watchkit Extension - No matching provisioning profiles foundWatchkit 扩展 - 未找到匹配的配置文件
【发布时间】:2015-05-03 04:35:37
【问题描述】:

我创建了一个 iPhone 应用,其中还包含一个 WatchKit 扩展,我可以在模拟器中正常运行,但是在尝试部署到 iPhone 时,我遇到了 WatchKit 扩展目标的配置问题:

“在您的构建设置中指定的配置文件(“XXXX”)的 AppID 为“XXXX”,它与您的包标识符“XXXX.watchkitextension”不匹配。Xcode 可以通过从会员中心。”

Xcode 自动创建了带有 .watchkitextension 和 .watchkitapp 后缀的 WatchKit 目标,但这似乎会在使用配置文件和部署到 iPhone 时导致问题。

如果我删除 watchkit 目标,它运行良好,但这显然不是解决方案。

感谢您的帮助

【问题讨论】:

  • 我们需要再等一会儿。在正式发布日期前大约两周,Apple 将允许我们将应用上传到 App Store。
  • 在这里查看我的答案:stackoverflow.com/a/30663352/3717931希望这会有所帮助。

标签: ios xcode watchkit


【解决方案1】:

您需要在 Developer Portal 中创建两个新的 AppID,并为您的 Watchkit 应用和 Watchkit 扩展提供正确的包标识符。捆绑包标识符必须扩展主应用程序标识符,因此如果您的应用程序是 com.myapp 它应该是 com.myapp.watchkitextensioncom.myapp.watchkitapp

您还需要为 AppID 创建相关的Provisioning Profiles,一个用于扩展程序,一个用于应用程序。
如果您在 Watch 应用中使用它们,请添加所需的附加组件(如 Keychain)。

总而言之,您需要 6 个 PP,3 个用于开发,3 个用于归档/存储。随着 Xcode 6.3 开发团队配置停止工作 (for me)

接下来转到 Xcode > Preferences > Accounts > YOUR_ACCOUNT > 查看详细信息 ...,CTRL+单击其中一个配置文件并在 Finder 中打开。将所有配置文件移至回收站,然后刷新配置文件。

在你的目标中,确保你为你的主应用目标、Watchkit 扩展目标和 Watchkit 应用目标设置了正确的团队,还确保你有正确的配置文件分配给主应用目标和 Watchkit 扩展目标( Watchkit 应用程序配置文件无法设置,但会自动分配编辑:Xcode 6.3 必须设置它)。

为了确保一切正常,清理构建文件夹:在 Xcode 中按住命令并执行 Product > 清理构建文件夹 ...

现在您可以存档了。

【讨论】:

  • 我觉得奇怪的是 Xcode 为应用程序和 watchkitextension 创建配置文件,但它没有为分配了通用“XC *”配置文件的 watchkitapp。它也会像这样验证并上传到 iTunes Connect。
  • 尝试为扩展程序和应用程序创建新的应用程序 ID 时,我收到以下消息:“带有标识符 'com.myapp.watchkitextension' 的应用程序 ID 不可用。请输入不同的字符串。”我被困住了。需要创建新的应用程序 ID 和相关的配置文件,但 ios 开发中心不允许。
  • @dogsgod,知道如何为扩展程序和应用程序创建应用程序 ID 吗?
  • 当然:打开开发者门户并从那里创建它们。只需确保您的主应用程序的命名空间需要扩展(如第一段所述)。自从我发布此内容以来,Apple 提供了一些文档。还有一个提示 - 不要使用 cmets 发布问题...
  • 这这这这!在经历了很多挫折之后,完全为我解决了这个问题。这个过程如此不透明,错误信息如此神秘,真的很遗憾。
【解决方案2】:

在我的情况下,我已按照其他用户的建议清理了所有配置文件,然后我不得不从 App 父级和扩展目标中的“构建设置”中删除“代码签名权利”,并且在重建和存档之后,一切正常很好。

【讨论】:

  • 在为我工作了 2 天后,xcode 的发布变得非常嘈杂
【解决方案3】:

我让 3 个应用 ID(用于容器应用、watchkit 扩展和 watchkit 应用)属于 3 个配置文件。 (我打算使用 AppGroup,所以我的应用程序不能共享单个 App ID。) 为容器应用程序和 watchkit 扩展设置 2 个配置文件,我的应用程序的存档无法通过 Xcode 的验证过程。

在我的例子中,关键点是设置 WATCHKIT APP 的配置文件。设置它,它通过验证过程,并成功提交应用程序。

我的设置过程如下:

  1. 在 Xcode 中,打开 WatchKit App 的“TARGET”。
  2. 选择“构建设置”选项卡。
  3. 在选项卡的下一行,选择“全部”而不是“基本”。
  4. 您可以在“代码签名”部分找到“配置文件”行。
  5. 设置适合您的配置文件。

有一段时间,我认为 3rd 方应用程序开发人员无法在 Xcode 中设置 WatchKit 应用程序的配置文件。 注意到我们可以设置它,现在答案很清楚了……

【讨论】:

  • "设置您的适当配置文件。"对同一问题的其他答案建议使用“自动”,在我的情况下它不起作用。选择特定的配置文件确实有效。
【解决方案4】:

我关注了Technical Q&A QA1814,这一切都为我解决了。基本上,您将所有内容设置为 AutomaticiOS Developer。设置团队非常重要:首先,进行更改,然后更改回您的团队,然后重新启动 Xcode。

我的情况是,我已经为“普通”iOS 应用设置了配置文件和证书。我已经成功地发布了应用程序。 现在我需要在我现有的应用程序中添加一个新的 WatchKit 目标后让它工作。我遇到了很多错误,比如“没有匹配的配置文件”等。经过几个小时的麻烦后,我遵循了QA1814 文章,瞧! - Xcode 为我解决了一切。无需更改/解决/更新会员中心等中的任何内容。

正确使用捆绑 ID 也很重要。 WatchKit 应用和 WatchKit 扩展必须使用与 iOS 应用目标相同的捆绑 ID 前缀。

如果 iOS 应用具有捆绑 ID:[捆绑 ID],则 WatchKit 目标需要是:

  • WatchKit 应用程序:[Bundle ID].watchkit
  • WatchKit 扩展:[Bundle ID].watchkit.extension

【讨论】:

    【解决方案5】:

    通常当您收到该错误时,是因为您的捆绑包 ID 与配置中的应用 ID 不匹配。

    对于 watch 扩展程序,如果您在 developer.apple.com 门户网站上共享数据或文件,则需要将应用程序服务 App Group 添加到与您的配置相关联的应用程序 id 标识符中扩展程序和您的应用程序

    https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/DesigningaWatchKitApp.html

    【讨论】:

      【解决方案6】:

      就我而言,问题与其他问题不同。我尝试了一切,但没有解决我的问题。 在解释我如何解决它之前,让我先解释一下我的情况。 首先,它首先将 Today Extension 添加到我的项目中。我为我的应用扩展创建了不同的捆绑 ID。例如,如果我的应用程序的包 ID com.company.appname,我为我的扩展创建了类似“com.company.appname.TodayExtension”的内容。我正在使用 XCode 版本 6.3.2 (6D2105),并且 XCode 自动使用(在您的构建设置中指定的配置文件(“AppName”)的 AppID 为“BundleID”,它与您的包标识符“BundleID2”不匹配。Xcode 可以通过从会员中心下载新的配置文件来解决此问题...当然,我单击“修复问题”按钮)为 Today Extension 创建配置文件。

      就在这之后,我在我的应用程序中添加了“应用程序组”并继续编码一段时间。但是,当我尝试将我的应用程序发送到 AppStore(产品/存档/提交到 AppStore)时,我收到此错误消息“没有有效的配置文件允许指定的权利:beta-reports-active, com.apple.security .应用程序组”。

      您必须知道“应用程序组”也可能是您的重点......

      请转到会员中心/证书、标识符和配置文件/配置配置文件/分发部分。找到您的应用程序的分发配置文件并选择它。正如您所看到的,您的个人资料的状态是“无效”(就像我的情况一样)。然后这是解决方案,单击“编辑”按钮,在该“生成”按钮之后。现在请对所有“无效”个人资料重复此操作。在您的所有个人资料都重新验证,现在您可以返回您的 XCode 项目并更新 Mac 中的本地配置。转到:Xcode > Preferences > Accounts > YOUR_ACCOUNT > View Details ...,CTRL+单击其中一个配置文件并在 Finder 中打开。移动将所有配置文件删除,然后刷新配置文件”。

      现在产品/清洁和(希望是最后一次)产品/存档并提交到 AppStore。

      一般来说,这是因为您将应用组添加到您的应用程序,但之后您没有验证所有配置文件。

      也许这会对某人有所帮助。

      【讨论】:

        【解决方案7】:

        当你在Xcode更新你的证书并再次编译你的程序时,真机调试会出现“Your build Settings指定一个provisioning profile有UUID‘XXX’,清除,没有找到provisioning profile。Xcode可以通过从会员中心下载新的配置文件来解决此问题。”。


        1. 关闭工程,找到工程文件XXXX。 Xcodeproj,在文件上右击,选择“Show Package Contents”(显示包内容)。会打开一个新的Finder。
        2. 在新打开的 Finder 中查找项目。 pbxproj,然后打开,找到UUID你都包含错误'XXX'这一行,删除。
        3. 保存,重启项目,然后编译,就OK了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多