繁体   English   中英

我可以将我的 xcode swift 应用程序重构为一个库吗?

[英]Can I refactor my xcode swift app into a lib?

我有一个 Xcode swift 应用程序,它使用“导入 CoreBluetooth”来访问可穿戴设备。

现在,我的队友想要使用我的功能,因此想要一个可以合并到他的 xcode GUI 应用程序中的库 (.a)。

我可以将我的应用程序重构为一个库,以便他添加到他的 GUI 应用程序中吗?

或者,是创建新 xcode lib 项目的唯一方法吗?

简短的回答是肯定的,您可以使用相同的项目。 你需要分开两件事:

  • 项目是一个设计时/代码组织实体。 一个项目可以同时包含框架、应用程序、测试等
  • 实际上决定要构建什么的是Targets 一些目标将构建一个应用程序,一些将构建库等。每个目标可能包含您项目中的任何文件子集(只要它们编译)。

所以这是一种方法:为 Framework 创建第二个目标,将相关文件添加到 Build Phases > Compile Sources 和瞧。

优点是简单。 缺点很多:你怎么知道你没有破坏与可穿戴设备的兼容性? 你怎么知道哪个文件属于应用程序,哪些文件属于应用程序和框架(当然,当你点击文件时你可以看到,或者文件夹结构可以提供帮助,但它不会阻止错误的发生)? 或者如果您的 iOS 应用程序需要的兼容性与可穿戴应用程序需要的兼容性不同怎么办? 您如何维护此类框架的版本? 等等等等

因此,更好的清洁方法是为您的框架创建一个单独的存储库,并将其作为您在各种组件之间共享的内部产品进行维护。 这样您就可以保持清晰的版本控制、兼容性和解决错误,而不必担心破坏应用程序或可穿戴设备。 您可以使用(如上面建议的)Swift Package Manager 或 CocoaPods,甚至手动在两个项目中包含该框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM