【问题标题】:Duplicating target for WatchOS2 with App and Extension on Xcode在 Xcode 上使用应用程序和扩展程序复制 WatchOS2 的目标
【发布时间】:2015-10-07 19:10:46
【问题描述】:

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

初始状态

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

最终状态

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

无论如何改变 WatchOS 应用程序目标以接受重复的扩展作为嵌入的选择(除了手动编辑 .pbxproj)

【问题讨论】:

    标签: ios xcode apple-watch watchos-2 xcode-scheme


    【解决方案1】:

    在浪费大量时间后,我发现实现这一点的最不刺激的方法是通过将 WatchOS 应用程序更改为像框架一样运行,因此 Xcode 提供了构建阶段部分。

    在文本编辑器中打开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 应用程序创建一个全新的构建方案,但这应该可以解决问题!

    【讨论】:

      猜你喜欢
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多