我目前正在开展有很多(10+)目标的项目。 这是一个白色品牌的应用程序,每个目标都专用于客户,所有目标共享完全相同的代码,但编译不同的资源(特别是.xcsassets)。
我想将Apple Watch集成到我的项目中,只是为了在手表上启用通知。它需要添加2个目标,Watchkit Extension和App。 (注意:WatchKit App目标将链接到相同的.xcassets,而不是相关的iPhone App继承AppIcon)。
虽然对于只有少数目标的项目来说没问题,但在我的情况下这实际上并不实用。在我的subversion文件夹中创建了很多新文件,.plist,并使目标列表非常庞大。
是否可以向所有客户分享这2个额外目标? 也许通过脚本使WatchKit应用程序/扩展目标能够自动匹配(更新目标名称,包ID等)以构建/ iOs目标?
任何想法都会受到欢迎。
答案 0 :(得分:0)
您可以使用配置和用户定义的设置来控制依赖于监视的目标plist来控制捆绑ID。假设您有10个目标,并且您需要创建监视应用程序,然后将每个主应用程序的软件包ID定义到项目设置下的用户设置(不是特定于目标),这允许您将该名称与两个监视目标一起扩展到目标。
例如,对于目标A,您将捆绑ID定义为BUNDLE_A_ID as com.company.a
,您可以将$(BUNDLE_A_ID)
作为捆绑ID用于应用目标,$(BUNDLE_A_ID).watchapp or $(BUNDLE_A_ID).watchappextension
到您的监视目标中,这样您就不需要在每个目标中定义捆绑ID,您对这些设置的定义将与一个地方(项目设置)捆绑在一起。
答案 1 :(得分:0)
注意:复制项目或创建新分支以尝试此解决方案。
我找到了解决方法。我假设您正在使用iOS应用程序和Apple手表应用程序,并且您需要添加更多Apple手表应用程序而无需重复代码。
第1步: 文件/新建/目标 选择" WatchOS"选项卡,然后选择" WatchKit App" 选择您想要与这个新的Apple Watch应用程序链接的应用程序 单击“下一步”
第2步: 查看为新Apple Watch应用程序创建的新文件夹,并删除所有* .swift和* .storyboard
第3步: 选择最初工作的拳头Apple Watch应用程序的.storyboard和.swift文件,您应该为他们分配新的和旧的目标成员资格。 将来,您的所有观看应用文件都应该选择这些目标。