Swift 带额外符号的标准库

Swift Standard Library w/ Extra Symbols

包含以下内容的文件:

public class Foo {
  var x : Int = 0  
  var y : Unit?
}

当编译为 'MacOS Framework' 的一部分时成功(在 Xcode 8 beta 中)。请注意,没有 import 语句;我希望符号 Unit 不受约束 - 但显然它是从最新的 MacOS 'foundation'.

中找到的

如何确保文件被编译成 w/o Unit 符号?

注意:如果我使用 swift File.swift 从命令行编译,那么,实际上 Unit 是未绑定的,正如所希望的那样:

File.swift:12:11: error: use of undeclared type 'Unit'
  var y : Unit?

并且,如果我使用 Swift 包管理器编译,则不会隐式导入 Foundation。

那么,Xcode 如何插入我不需要的隐式 import

构建框架时,Xcode 创建一个 TheFramework.h 的头文件,其中包含如下内容:

#import <Cocoa/Cocoa.h>

//! Project version number for SBFrames.
FOUNDATION_EXPORT double TheFrameworkVersionNumber;

//! Project version string for SBFrames.
FOUNDATION_EXPORT const unsigned char TheFrameworkVersionString[];
#endif

包含 Cocoa.h 导入 Foundation。为避免包含 Foundation,将 TheFramework.h 编辑为空。