使用Xcode复制WatchOS2的目标应用和扩展

5
我有一个带有扩展程序的WatchOS2目标项目,我想复制WatchOS应用程序目标和扩展程序。但是,当我复制WatchOS应用程序目标时,它仍然与旧扩展程序链接在一起。由于我们不再可以访问WatchOS应用程序的构建阶段,因此无法在嵌入应用程序扩展阶段中进行更改。

初始状态

  • WatchAppTarget1(嵌入扩展程序-WatchAppExtension1)
  • WatchAppExtension1

最终状态

  • WatchAppTarget1(嵌入扩展程序-WatchAppExtension1)
  • WatchAppExtension1
  • WatchAppTarget-Duplicate(嵌入扩展程序仍指向-WatchAppExtension1)
  • WatchAppExtension-Duplicate

有没有办法更改WatchOS应用程序目标,以接受复制的扩展程序作为其嵌入选择(除了手动编辑.pbxproj文件)?

1个回答

7
到目前为止,我发现实现此目的最少烦人的方法是将WatchOS应用程序更改为像框架一样运行,以便Xcode提供“Build Phases”部分。打开project.pbxproj文本编辑器,找到类似于/* Begin PBXNativeTarget section */的部分,在配置中找到您要更改的WatchOS目标(即您想要更改的那个),它应该有一个行:productType = "com.apple.product-type.application.watchapp2";。将其更改为:productType = "com.apple.product-type.application";productType = "com.apple.product-type.framework";。现在在Xcode中打开项目,您应该能够看到“Build Phases”部分,进入并在“Target Dependencies”和“Embed App Extension”中删除旧的扩展引用,并替换为新的引用。完成后返回project.pbxproj,撤消更改并将WatchOS目标恢复为productType = "com.apple.product-type.application.watchapp2";。有时您可能需要为WatchOS应用程序和iOS应用程序创建新的构建方案,但这应该可以解决问题!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接