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 扩展配置文件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Xcode 8 和 watchOS3 配置 WatchKit 应用程序扩展