1

我有一个 Xcode 项目,其中包含一个主应用程序和一个名为Networking. 现在我想将该Networking模块拆分为仅包含一些实用程序类的子模块,以便它们仅在显式导入时才可用于主应用程序。所以我想实现的用途是

import Networking
import Networking.Utils

// Public class in Networking
MyNetworking.doStuff()

// Public class in Networking.Utils
// Should not compile unless Networking.Utils is imported
MyNetworkingUtils.doSomething()

所以我的模块具有以下文件结构

.
├── Core
│   ├── MyNetworking.swift
│   └── Networking.h
├── Info.plist
├── Utils
│   ├── NetworkingUtils.h
│   └── Utils.swift
└── module.modulemap

module.modulemap用这个内容创建了一个自定义:

framework module Networking {
  umbrella header "Networking.h"

  export *
  module * { export * }

  explicit module Utils {
      header "NetworkingUtils.h"

  }
}

这会创建Networking模块,但问题是这些Utils类在主Networking模块中可用。

问题是,如何在模块映射中指定哪些 Swift 文件(最好是子文件夹)属于哪个module.

Networking只有 Swift 文件,所以伞形文件.h基本上是空的。

4

0 回答 0