swift 私有模块映射,试图在框架内使用 Swift 中的 objC 代码
swift private module map, trying to use objC code in Swift from within framework
在这里拉我的头发:
- 我正在开发一个 swift 框架,今天我发现了一个很好的控件,我也想修改它的代码和子类。源代码是 ObjC.
所以(对我来说是第一次),我创建了一个模块映射:TTRangeSlider.modulemap,简单的:
module TTRangeSlider {
export *
}
我将文件添加到项目和源文件中,模块映射和源文件都在我的文件夹文件内的 TTRangeSlider 文件夹中。
然后我创建一个 xconfig 文件:
SWIFT_INCLUDE_PATHS = ${SRCROOT}/MYFramework/TTRangeSlider
MODULEMAP_PRIVATE_FILE = ${SRCROOT}/MYFramework/TTRangeSlider/TTRangeSlider.modulemap
配置我的项目以便所有配置都使用此 xconfig 文件
编译没有问题,但是:
正在尝试导入模块:
import Foundation
import UIKit
import TTRangeSlider <------------ NO SUCH MODULE 'TTRangeslider'
internal class TBRangeSliderImproved {
}
@杰森
原来我不需要模块映射,只需要一个桥接头,如下所述:
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
-> 从同一框架目标中导入代码
-> 将 Objective-C 导入 Swift,希望它有所帮助,但我确实必须在构建设置下为我的目标手动设置桥接头的名称
在这里拉我的头发: - 我正在开发一个 swift 框架,今天我发现了一个很好的控件,我也想修改它的代码和子类。源代码是 ObjC.
所以(对我来说是第一次),我创建了一个模块映射:TTRangeSlider.modulemap,简单的:
module TTRangeSlider {
export *
}
我将文件添加到项目和源文件中,模块映射和源文件都在我的文件夹文件内的 TTRangeSlider 文件夹中。
然后我创建一个 xconfig 文件:
SWIFT_INCLUDE_PATHS = ${SRCROOT}/MYFramework/TTRangeSlider
MODULEMAP_PRIVATE_FILE = ${SRCROOT}/MYFramework/TTRangeSlider/TTRangeSlider.modulemap
配置我的项目以便所有配置都使用此 xconfig 文件
编译没有问题,但是:
正在尝试导入模块:
import Foundation
import UIKit
import TTRangeSlider <------------ NO SUCH MODULE 'TTRangeslider'
internal class TBRangeSliderImproved {
}
@杰森
原来我不需要模块映射,只需要一个桥接头,如下所述: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
-> 从同一框架目标中导入代码
-> 将 Objective-C 导入 Swift,希望它有所帮助,但我确实必须在构建设置下为我的目标手动设置桥接头的名称