2015-06-15 69 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

相關問題