WatchKit 扩展配置文件?

Posted

技术标签:

【中文标题】WatchKit 扩展配置文件?【英文标题】:WatchKit Extension Provisioning Profile? 【发布时间】:2015-04-10 05:04:09 【问题描述】:

我正在尝试将我的 ios 应用程序发送到 App Store。它编译良好并安装到我的测试设备上,没有任何错误甚至警告。我有一个 Apple Watch 应用程序可以配合它,但它似乎给我带来了问题。当我创建应用程序的存档时,我收到以下 5 个警告:

[App Name] WatchKit Extension

warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** Watch App.app/_WatchKitStub/WK

warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** Watch App.app/*** Watch App


[App Name]

warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** WatchKit Extension.appex/*** Watch App.app/_WatchKitStub/WK

warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** WatchKit Extension.appex/*** Watch App.app/*** Watch App

warning: skipping copy phase strip, binary is code signed: /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates/ArchiveIntermediates/***/IntermediateBuildFilesPath/UninstalledProducts/*** WatchKit Extension.appex/*** WatchKit Extension

然后它继续出现这个错误:

还有其他人遇到这些问题吗?任何帮助将不胜感激!

【问题讨论】:

仅供参考 - 我用星号掩盖了上面的任何个人信息并剪掉了任何名字。感谢您的理解! 您是否为手表扩展设置了应用商店配置文件? @RhythmicFistman 我有一个用于应用程序(显然:]),我为 WatchKit 应用程序设置了一个。我以为我需要一个扩展,但是当我从 Xcode 复制扩展的捆绑 ID 并将其粘贴到新的 prov 中时。开发者门户中的个人资料,它说这是一个无效的名称。我认为它可能不需要任何以 .watchkitextension 结尾的东西。我错了吗?如果是这种情况,那么我必须联系 Apple,因为就我而言,捆绑 ID 必须与 App Bundle ID 相似(相同前缀)。 见this answer我昨天写的 Watchkit Extension - No matchin provisioning profiles found的可能重复 【参考方案1】:

我在创建 WatchKit 应用时遇到了这两个问题。

(1) 对于您的第一个问题:警告:跳过复制阶段条。

我在这里找到了解决方案:

Warning during archive App with iOS 8 Extension in Xcode 6

这里:

Xcode 6 Archiving and get a warning "Skipping copy phase strip ,binary is code signed" when add "share extension" to target

具体来说,这里是我用来解决问题的步骤:

    启动 Xcode 并打开您的项目。

    选择左上角的蓝色项目图标。

    在包含以下部分的第二列中:项目和目标, 在 TARGETS 部分下选择您的主要目标。

    选择“构建设置”选项卡。

    向下滚动到“部署”部分。

    找到并展开名为“复制期间剥离调试符号”的部分

    找到名为“Release”的行。

    将值从“是”更改为“否”。

(2) 对于您的第二个问题:未能找到或生成匹配的签名资产 解决方案在这里:

No matching provisioning profiles found for WatchKit extension when submitting to App Store

这里:

Submit WatchKit Provisioning Error

在包含 WatchKit 扩展之前,我必须重新生成用于提交整个应用程序的“分发”配置文件。具体来说,这些步骤解决了我的问题:

我登录到 developer.apple.com,选择“证书、标识符和配置文件”。

    在证书 ID 和配置文件网站 > 配置配置文件页面上,单击 App Store 配置文件。 点击“编辑” 点击“生成”

【讨论】:

因此,在我让您的第二步开始工作之前,您列出的关于“复制期间剥离调试符号”的第一步不起作用。我不知道为什么,它们似乎有些无关。第二步是 Xcode 在我不知道的情况下(我的错)为我生成了一个配置文件,并给它起了一个不寻常的名字(这就是为什么我每次进入开发门户时都会错过它的原因)。当我仔细看时,我看到了它并用我想要的名字重新创建了它。它起作用了,它也使第一步起作用了!谢谢! 不客气!我没想到第二步会帮助解决第一步,但我很高兴它现在对你有用。【参考方案2】:

我有一个可行的解决方案(对我来说)

首先:只需确保您在 (Watch Kit App) 和 (Watch Kit Extension) 上启用了您在应用中使用的所有服务,

例如,如果您在原生应用上使用了 iCloud,即使您的手表应用上没有使用 iCloud,您也应该在 (Watch Kit App) 和 (Watch Kit Extension) 上启用 iCloud。

应用组也是如此。

第二:确保(Watch Kit App)和(Watch Kit Extension)上的bundle标识符必须扩展原生应用,

例如,如果应用程序 com.company.myapp(Watch Kit 应用程序)标识符应为:com.company.myapp.watchkitapp 并且(Watch Kit Extension)应为:com.company.myapp.watchkitextension

希望这会有所帮助。

【讨论】:

以上是关于WatchKit 扩展配置文件?的主要内容,如果未能解决你的问题,请参考以下文章

Watch Kit 的推送通知证书/配置文件

提交 WatchKit 配置错误

watchkit 应用程序的企业配置?

使用 Xcode 8 和 watchOS3 配置 WatchKit 应用程序扩展

Watchkit - 共享代码 - 框架、应用程序扩展、应用程序组、添加目标或只是复制文件?

在 App-Group 文件夹中创建领域文件在 WatchOS(WatchKit 扩展)下不起作用