带有额外符号的Swift标准库

时间:2016-06-14 19:59:01

标签: swift swift3

包含以下内容的文件:

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

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

如何确保使用Unit符号编译文件?

注意:如果我使用swift File.swift从命令行编译,那么事实上,Unit是未绑定的,如果需要:

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

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

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

1 个答案:

答案 0 :(得分:0)

构建框架时,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包含为空。