标题说明了一切。我在 SWIFT_MODULE_NAME 的构建设置中进行了搜索,但没有出现任何内容。我也在网上搜索过,并且引用了这个名称,但是没有关于它如何定义的信息。 此外,我无法在Apple文档中找到任何SWIFT_MODULE_NAME。
我知道这一点:它用于" Objective-C生成的接口标题名称"构建设置,可以通过双击设置值来查看:
$(SWIFT_MODULE_NAME)-Swift.h
它用于弥合Objective-C和Swift之间的差距,并且仅针对包含Swift文件的项目(以及我假设的Objective-C文件)出现。截至发布时,Xcode 7.3是最新最好的。
但是,这个值定义在哪里,我该如何修改呢?
答案 0 :(得分:20)
模块名称来自产品模块名称构建设置:
SWIFT_MODULE_NAME
设置显然是隐藏的,但您可以通过查看Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/XCLanguageSupport.xcplugin/Contents/Resources/Swift.xcspec
来看到它的推导:
...
{
Name = "SWIFT_MODULE_NAME";
Type = String;
DefaultValue = "$(PRODUCT_MODULE_NAME)";
CommandLineArgs = (
"-module-name",
"$(value)",
);
},
...
答案 1 :(得分:3)
答案 2 :(得分:0)
你看过这个doc:developer.apple.com/library/ios/documentation/Swift/Conceptual / ...?通常是你的产品名称。您可以在Build Settings中设置更改“Product Bundle Identifier”中的值。请注意,您无法覆盖框架中的产品名称
见截图:
答案 3 :(得分:0)
Build Settings
包含Product Module Name
,它确定import
语句在使用时的外观。例如,当您创建Library
或Framework
时。
默认情况下,它等于PRODUCT_NAME
。 (必须匹配名称)
默认值:
Product Name
:$(TARGET_NAME:c99extidentifier)
Product Module Name
:$(PRODUCT_NAME:c99extidentifier)
.modulemap
可以使用Objective-C更改此值
使用:
//Objective-C
@import module_name;
//Swift
import module_name