Gla*_*uco 12 frameworks objective-c clang ios swift
我正在尝试将Swift集成到现有的具有公共,私有和项目文件的objective-c框架中.为了让swift访问项目文件,我添加了一个模块图,它通过包含所有项目头来定义一个新模块(例如MyFramework_Internal),如下所述:http://nsomar.com/project-and-private-headers-in -a-迅速-和Objective-C的框架/
这个设置有点工作,但有一点让我惊讶的是,现在客户端可以通过导入MyFramework_Internal(@import MyFramework_Internal)来访问内部类.有没有办法隐藏模块,因为它只需要框架本身?modulemap现在看起来像这样:
module MyFramework_Internal {
header "Folder1/Baz.h"
header "Folder1/Folder2/Bar.h"
export *
}
Run Code Online (Sandbox Code Playgroud)
modulemap 文件适用于 Objective-C,而 Objective-C 没有internal. 它只知道公共(头文件中声明的内容)和私有(仅在实现文件中声明的内容)。
因此,模块映射文件中最终出现的任何内容都将是公开可用的。
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |