2015-06-15 41 views
1

我正在尝试将watchkit应用程序集成到现有的应用程序中。因为我们有一个企业版本进行测试,以及公众的应用程序,有两种不同的应用目标: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扩展名不能将它们都作为前缀。任何建议来解决这个问题?

+0

不知道我完全理解。你为什么不能像错误所说的那样做?手表扩展和父应用程序具有相同的前缀。在我们的项目中,我们有一个单独的方案设置,我们可以在它们之间切换,以便为我们处理这些bundleID更改 –

+0

由于该应用程序有两个不同的目标,一个用于企业beta测试,另一个用于生产,它使用两个不同的包标识符。因此,watchapp只能匹配其中的一个。我正在寻找一种方法,允许我们为任一目标构建,而无需根据正在构建的目标切换watchapp项目的捆绑标识符 – mrosales

+0

我非常确定您无法做到这一点。 bundleID,内部版本号和版本号必须匹配。不过,手表扩展将在bundleID中具有“扩展名”。如果你想避免不断的切换,甚至在同一个设备上运行这两个应用程序,这个链接会给你一个关于如何使用这个方案的想法。 http://www.swwritings.com/post/2013-05-20-concurrent-debug-beta-app-store-builds/ –

回答

0

您可以添加另一个WatchKit应用目标到项目,并把它嵌入在你的其他构建目标。

的Xcode将创建一个新的故事板,Info.plist中有的视图控制器,但可以删除所有这些新创建的文件。

然后复制原来的WatchKit应用程序的Info.plist,将其重命名,并指出你的第二个WatchKit应用到这个副本。

两个WatchKit应用现在将使用相同的文件(故事板等),你将能够使用不同的捆绑标识符和供应曲线,因为他们每个人都有自己的Info.plist。

请让我知道如果你想利用我截图给解释一下。

+1

这是唯一的理智解决方案吗? – Nash

相关问题