ios - 如何在多个 iOS Swift 应用程序之间模块化/共享代码?

标签 ios swift swift-package-manager

所以,我今天将启动第三个或第四个内部 iOS 应用程序。它们都是 Swift4,使用最新版本的 Xcode。我有一大组“扩展”,我最终将它们从一个项目复制到另一个项目。这并不能真正扩展。

我想了解如何将“支持”代码分解为单独的项目/模块。

提取两个或多个应用程序之间的通用代码并在单独的存储库/模块/包中管理它的基本路线图(对于新手开发人员)是什么?

作为一个简单的例子,假设我真的很喜欢这个小扩展:

// I like my print's to look like message sends instead of global free functions 
extension String {
    func print() {
        Swift.print(self)
    }
}

我要为其创建一个单独的项目吗?哪一种? Cocoa Touch FrameworkCocoa Touch Static Library 或其他东西(也许跨平台:空?)?我还需要将一些其他样板设置应用于该项目吗?

完成编译后,如何将其“包含”到我的最终用户应用程序中?

最佳答案

对于 iOS 应用程序,我想最简单的解决方案是使用 cocoaPods。 试试this

对于一些非iOS库,尝试使用swift包manager

关于ios - 如何在多个 iOS Swift 应用程序之间模块化/共享代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53213517/

相关文章:

android - 在 AIR Mobile 应用程序中显示列表项(一千个以上)的最佳方式是什么?

ios - 为什么单击按钮时会出现 NSUnknownKeyException?

swift - 使用 Apple 的 AVFoundationExporter 示例代码将 AIFF 导出到 AAC 让我有些问题

swift - Vapor 3 - 如何在保存对象之前检查类似的电子邮件

ios - 快速构建 : warning: '--product' cannot be used with the automatic product 'ProductName' ; building the default target instead

ios - 从 swift 包中使用 pod

swift - 如何使用 Swift Package Manager 更新 iOS Simulator 部署目标?

ios - 在 Swift 中搜索字符串中的子字符串不起作用

ios - 如何检查用户 JID 是否已在 XMPPFrameWork 中使用

ios - 如何修改 AVFoundation 视频副本(多次拆分和片段删除)?