【发布时间】:2015-07-03 17:17:25
【问题描述】:
我正在尝试将 watchkit 应用程序集成到现有应用程序中。由于我们有用于测试的企业版以及公共应用程序,因此有两个不同的应用程序目标:
com.mycompany.productname
com.mycompany.internal.productname
我在内部目标上成功构建了 watchkit 应用程序,但我无法将相同的 watchkit 应用程序链接到应用程序目标。这是我收到的错误:
Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier
我知道这是因为 WatchKit 扩展应该有一个以应用程序目标的包标识符为前缀的包标识符,但不幸的是,这两个目标的这些标识符并不相同,所以我的 WatchKit 扩展不能将它们都作为前缀。有解决此问题的建议吗?
【问题讨论】:
-
不确定我是否完全理解。为什么你不能按照错误所说的那样做?具有相同前缀的手表扩展程序和父应用程序。在我们的项目中,我们有一个单独的方案设置,我们可以在它之间切换,为我们处理这些 bundleID 更改。
-
由于该应用程序有两个不同的目标,一个用于企业 beta 测试,一个用于生产,它使用两个不同的包标识符。因此,watchapp 只能匹配其中一个。我正在寻找一种方法,允许我们为任一目标构建,而无需根据正在构建的目标切换 watchapp 项目的捆绑标识符
-
我很确定你不能那样做。 bundleID、内部版本号和版本号必须全部匹配。不过,手表扩展在 bundleID 中会有“扩展”。如果您想避免连续切换甚至在同一设备上运行这两个应用程序,此链接将为您提供有关如何使用方案做到这一点的想法。 swwritings.com/post/…