我将Xcode更新到版本8.3(8E162),在我的单元测试文件中,我有这个警告:
通过隐式导入桥接头'myframe-Bridging-Header.h' 模块'myframe'已弃用,将在以后的版本中删除 斯威夫特
在这一行:
@testable import myframe
如何修复此警告?
答案 0 :(得分:19)
该文章帮我修正了警告:https://bugs.swift.org/browse/SR-3801
我选择了:
通过将#import“App-Bridging-Header.h”添加到任何链接来链接导入 你现有的单元测试桥接头
答案 1 :(得分:6)
所以它与该行本身无关(它让我为一个循环)并且你不应该改变它。发生的事情是@testable import
通常会自动导入模块桥接头,现在它不再存在。
与SR-3801类似,解决方案是:
- 将App桥接标头明确导入您的单元测试(通过构建设置)或
- 通过将#import“App-Bridging-Header.h”添加到您拥有的任何现有单元测试桥接头来链接导入
醇>
我已经有Test-Bridging-Header.h
我在其中添加#import "MODULE-Bridging-Header.h"
作为解决方案2的一部分,我认为这是更可取的。现在模块桥接标题中的测试桥接标题链和警告消失了。
答案 2 :(得分:0)
有点不同的情况(框架,没有单元测试):
我有一个组合Swift和ObjC的项目(意思是我已经有了一个桥头)。项目嵌入了第三方框架。随着框架的增加,警告产生了(在他们的桥头上喊叫)。我刚刚在现有的bridge-header 中导入了标题:
#import <ThirdPartyFramework/ThirdPartyFramework-Bridging-Header.h>
警告受到抑制。
Xcode 9.4.1 Swift 4.1