如何在我的测试文件中调用实际应用程序的Objective-C类?
我尝试过以下操作.
@testable import MyModule
但是,这似乎只有在所有文件都在Swift中时才有效,而对我来说并非如此.
我已经尝试了其他一些项目设置但是,这些似乎都不起作用.
我错过了一些明显的东西吗?
class MyTests: XCTestCase { override func setUp() { super.setUp() // Put setup code here. This method is called before the invocation of each test method in the class. } override func tearDown() { // Put teardown code here. This method is called after the invocation of each test method in the class. super.tearDown() } func testExample() { let vc = HomeViewController() //this line is failing. How do I expose this view controller written in objective c? // This is an example of a functional test case. // Use XCTAssert and related functions to verify your tests produce the correct results. } }
解决方法
创建一个桥接头YourProductName-Bridging-Header.h,然后导入HomeViewControllerin桥接头.
To import Objective-C code into Swift from the same target
In your Objective-C bridging header file,import every Objective-C
header you want to expose to Swift. For example:import “XYZCustomCell.h”
import “XYZCustomView.h”
import “XYZCustomViewController.h” In Build Settings,in Swift Compiler – Code Generation,make sure the Objective-C Bridging Header
build setting under has a path to the bridging header file. The path
should be relative to your project,similar to the way your Info.plist
path is specified in Build Settings. In most cases,you should not
need to modify this setting.
以下是一些可以帮助您的资源
> Using swift with Objective-C
> Answer to another stack overflow qustion
> How to use Objective-C in swift
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。