如何使用 Objective-C 中的 Swift 文件?
How to work with Swift file in Objective-C?
我想使用一个用 Swift 编写的第三方库,但我在 Objective-C 环境中工作。怎么做?到目前为止我所做的是:
- 将第三方库拖放到我的项目中。
- 它要求我点击是的桥接头。
- 在构建设置中
defines Modules
两者都没有 yes
。
- 产品模块名称显示为
$(PRODUCT_NAME:c99extidentifier)
。我也尝试过使用我的项目名称。
现在我收到很多如下错误:
pDatePicker.swift:50:9: Consecutive declarations on a line must be separated by ';'
和
Ambiguous use of 'open'.
我收到大约 50 到 60 条与上述错误相同的错误。我的错误在哪里?有人可以帮助我吗?
确保您在设置中的 swift 版本与此库使用的版本相同;如果不行,自己翻译试试,或者设置Use Legacy Swift Version 为YES
您能在您的项目中看到 projectName-Swift.h 文件吗?
演示示例可在 github.
上获得
https://github.com/hasyapanchasara/UsingSwiftInObjectiveC
如果是,那么希望您在 Objectice C .m 文件中导入了#import "projectName-Swift.h"?
#import "projectName-Swift.h"
那么只有您可以使用 swift 代码访问 objective c 文件。
参考
- 签入构建设置
- Objective-C 桥接头
- ProjectName-Bridging-Header.h 位置完美。
如果该路径存在问题,那么桥接将无法正常工作,这就是编译 #import "projectName-Swift.h"
时未生成的原因。
下载上面的示例项目。
我想使用一个用 Swift 编写的第三方库,但我在 Objective-C 环境中工作。怎么做?到目前为止我所做的是:
- 将第三方库拖放到我的项目中。
- 它要求我点击是的桥接头。
- 在构建设置中
defines Modules
两者都没有yes
。 - 产品模块名称显示为
$(PRODUCT_NAME:c99extidentifier)
。我也尝试过使用我的项目名称。
现在我收到很多如下错误:
pDatePicker.swift:50:9: Consecutive declarations on a line must be separated by ';'
和
Ambiguous use of 'open'.
我收到大约 50 到 60 条与上述错误相同的错误。我的错误在哪里?有人可以帮助我吗?
确保您在设置中的 swift 版本与此库使用的版本相同;如果不行,自己翻译试试,或者设置Use Legacy Swift Version 为YES
您能在您的项目中看到 projectName-Swift.h 文件吗?
演示示例可在 github.
上获得https://github.com/hasyapanchasara/UsingSwiftInObjectiveC
如果是,那么希望您在 Objectice C .m 文件中导入了#import "projectName-Swift.h"?
#import "projectName-Swift.h"
那么只有您可以使用 swift 代码访问 objective c 文件。
参考
- 签入构建设置
- Objective-C 桥接头
- ProjectName-Bridging-Header.h 位置完美。
如果该路径存在问题,那么桥接将无法正常工作,这就是编译 #import "projectName-Swift.h"
时未生成的原因。
下载上面的示例项目。