swift私有模块映射,尝试从框架内在Swift中使用objC代码

大卫·霍姆斯

在这里拉我的头发:-我正在开发一个快速的框架,今天我发现一个很好的控件,我也想修改其代码和子类。源代码是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中,希望对您有所帮助,但是我确实必须在“构建设置”下为目标手动设置桥接头的名称

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Swift中使用索引映射或缩小

什么时候在Swift中使用@objc?

如何在Swift框架中导入私有框架标头?

如何在Swift框架中使用Cocoapods?

在Swift中使用Accelerate框架

在Swift中使用Comparable扩展@objc协议

iOS混合动态框架-使用私有模块桥接objc标头

如何使用Swift的私有iOS框架?

在Swift 2.3中使用Swift 3框架

如何在私有仓库中使用Swift Package Manager?

在Swift中使用Hashable扩展@objc协议

Objc中定义的枚举>在Swift中声明>在Objc中使用

在Swift Playground中使用Firebase的导入框架(“缺少必需的模块'Firebase'”)

带有模块映射的框架内的Objective-C和Swift互操作性

带有Chromecast的Swift框架:框架模块内部包含非模块化标头

如果类没有以@objc为前缀,是否可以在Objective-C项目中使用用Swift编写的pod?

Swift中使用ObjC编写的消除歧义的重写方法

带有 ObjC 静态库的私有 Swift Pod

使用 Swift 和 ObjC 代码库时未找到 PojectName-Swift.h

Swift:无法在 Xcode 中导入框架,遇到错误:“没有这样的模块”(使用 cocoapods 安装)

在 ObjC 中工作,而不是在 swift 中工作。我在 swift 中使用 JSON 解析有什么问题

在 SWIFT 中使用 C++ FFT 代码

在 Swift 中使用 CLLocationManager 的正确代码设计

在混合的 objc/swift 模块中,Xcode 总是尝试包含模块本身

swift中的私有变量

在 Swift 和 Pythonkit 中使用 Python 模块

如何在没有桥接头的情况下在 Swift 中使用 Objective-C 框架?

如何在swift框架中使用cocoapods

在 Typescript 中使用带有模块增强的私有属性