ios - 为同一个项目编译不同的代码 - Swift 框架

标签 ios xcode swift

我有几个使用相同核心框架的应用程序,由于每个应用程序都有一些细微差别,我正在寻找使用相关代码和参数构建框架的最佳方法。 我找到的最佳解决方案(不太好)是:

  1. 针对不同的代码编译——使用包含不同类的目标
  2. 对于不同的配置,为每个配置使用不同的 Swift 标志(例如调试、发布...)

问题是:

  1. 我正在使用多个目标,每个目标都复制项目配置,我需要维护所有目标。如果我在一个目标中更改配置但忘记在其他目标上更改它,这种方法可能会导致一些错误。
  2. 对于调试/发布和 stagingA/stagingB/production,我正在创建特定配置而不是组合它们(此解决方案有问题,因为对于每个暂存,我需要复制它以进行发布和调试):
    1. 发布制作
    2. 调试生产
    3. 发布stagingA
    4. 调试 stagingA
    5. 发布stagingB
    6. 调试阶段B

应用结构是:

  • 应用 A 包含 CoreFramework 并为 A 进行了代码调整
  • 应用程序 B 包含 CoreFramework 并为 B 进行了代码调整

每个应用程序都有调试、发布、生产...配置。此配置会影响框架(这些配置也会在框架上运行)

==> 我正在寻找其他/更好的方法来配置我的应用项目

最佳答案

不要根据调用它的客户端在框架中进行“代码调整”。

构建您的框架,就好像它是由外部供应商提供的二进制版本一样。任何可能可变的行为都只能通过公共(public) API 由运行时配置来控制。

关于ios - 为同一个项目编译不同的代码 - Swift 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813461/

相关文章:

ios - 如何访问对象库中的复选框、弹出按钮、单选组等

iphone - 清除 UIImage 上的绘图?

objective-c - iOS/Objective-C:NSNotification

ios - 如何仅在中国推出我的 iOS iPhone 应用程序?

ios - UIGraphicsGetImageFromCurrentImageContext() 返回 nil

iphone - 代码行之间的数据没有执行

xcode - 从 SWIFT Playground 到自定义 View (IBDesignable?)

swift - 为什么这个 SwiftUI Picker 代码不起作用?

swift - Swift 中的单例

json - 序列化 [字符串 :Any] to JSON