gpt4 book ai didi

ios - 将 WatchKit 扩展代码 (git repo) 与现有的 iPhone 代码 (repo) 分开

转载 作者:行者123 更新时间:2023-12-01 16:06:08 25 4
gpt4 key购买 nike

我想在我现有的应用程序(目标 iOS12)中添加一个 WatchKit 扩展(在 iOS13+ 上支持 SwiftUI),同时保持两个代码库分开(两个存储库)。

  • 如何将 WatchKit 扩展代码与 Mobile One 分开?
  • 我的带有 SwiftUI 的 Watch App 是否仅适用于使用 WatchOS 6 和 iOS13 的用户,而不会影响使用 iOS12 的现有用户?
  • 应用程序二进制大小增加如何?

  • 谢谢阅读!

    最佳答案

    我不确定是否有更简单的解决方案,但这应该可行:

    两个应用程序的分离:

    如果您在 Xcode 中打开 Source Control 导航器,您会看到 Branches、Tags 和 Remotes 属于项目导航器中的主要条目,即属于 Xcode 项目。因此,为了拥有单独的存储库,您需要单独的 Xcode 项目,您可以为其分配单独的存储库。
    但是,您可以在一个工作区中拥有多个项目,以便在此工作区中可以使用所有文件。
    要拥有一个独立应用程序和一个带有 watch 扩展的应用程序,只需使用您的独立应用程序设置一个工作区,然后添加另一个新项目。这个新项目需要原始应用程序的所有文件以及 watch 扩展。
    由于您需要一个项目中的文件也在另一个项目中,您可以将它们从一个项目拖动到新项目,但随后它们将被复制(拖动过程中会显示绿色 + 标记)。通常这不是您想要的,因为您通常不想分别维护两个副本。相反,您可以在查找器中显示这样的文件,然后将它从查找器拖到新项目中。在这种情况下,您只能选择复制引用。

    两个应用程序的独立性:

    由于您有两个单独的项目,您可以根据需要在目标的build设置中设置部署目标。

    尺寸:

    每个项目都会得到单独的产品,独立应用只有一个 xxx.app,新项目 xxx.app、Watch.app 和 Watch Extension.appex。所以应该没有开销。

    编辑 (由于 Ouadie 在他的问题中的评论):

    我不确定我是否理解您的问题:
    通过上述过程,您将获得一个工作区,其中包含共享部分文件的两个独立项目。
    “移动项目”与您现在使用的相同。它只有一个专门使用所需源构建的目标(尽管有测试目标)。因此它的大小与现在相同。
    “ watch 项目”是新的。它有 3 个目标,“移动”目标、观察目标和观察扩展目标(尽管有测试目标)。它是用共享源和额外的 watch 扩展源构建的。因此它的大小更大,但增加当然取决于您的来源。
    由于您有 2 个存储库,因此项目是解耦的,但两个存储库共享一些文件。如果你想完全解耦它们,你可以将文件从当前项目复制到新项目(而不是只复制引用),但是你必须维护 2 个副本。
    我希望这有帮助!

    关于ios - 将 WatchKit 扩展代码 (git repo) 与现有的 iPhone 代码 (repo) 分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60121468/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com