Xcode 8.3 中的警告 'myframe-Bridging-Header.h'
Warning 'myframe-Bridging-Header.h' in Xcode 8.3
我已将 Xcode 更新到版本 8.3 (8E162),并且在我的单元测试文件中出现以下警告:
Implicit import of bridging header 'myframe-Bridging-Header.h' via
module 'myframe' is deprecated and will be removed in a later version
of Swift
这一行:
@testable import myframe
如何修复此警告?
那篇文章帮助我修复了警告:https://bugs.swift.org/browse/SR-3801
我选择了:
chain the import by adding #import "App-Bridging-Header.h" to any
existing unit test bridging header you have
因此它与该行本身无关(这让我陷入了循环)并且您不应该更改它。发生的事情是,@testable import
通常也会自动导入模块桥接 header,但现在不会了。
就像SR-3801说的解决方案是:
- explicitly import the App bridging header into your unit tests (via a build setting) or
- chain the import by adding #import "App-Bridging-Header.h" to any existing unit test bridging header you have
我已经有一个 Test-Bridging-Header.h
,我在其中添加了 #import "MODULE-Bridging-Header.h"
作为解决方案 2 的一部分,我认为这是更可取的。现在,测试桥接 header 链接在模块桥接 header 中,警告消失。
有点不同的情况(框架和没有 unit-test):
我有一个结合 Swift 和 ObjC 的项目(意思是我已经有一个 bridge-header)。项目嵌入了第 3 方框架。添加框架时发出警告(在他们的桥上大喊 header)。我刚刚将他们的 header 导入到我现有的 bridge-header:
#import <ThirdPartyFramework/ThirdPartyFramework-Bridging-Header.h>
并抑制警告。
Xcode 9.4.1
Swift4.1
我已将 Xcode 更新到版本 8.3 (8E162),并且在我的单元测试文件中出现以下警告:
Implicit import of bridging header 'myframe-Bridging-Header.h' via module 'myframe' is deprecated and will be removed in a later version of Swift
这一行:
@testable import myframe
如何修复此警告?
那篇文章帮助我修复了警告:https://bugs.swift.org/browse/SR-3801
我选择了:
chain the import by adding #import "App-Bridging-Header.h" to any existing unit test bridging header you have
因此它与该行本身无关(这让我陷入了循环)并且您不应该更改它。发生的事情是,@testable import
通常也会自动导入模块桥接 header,但现在不会了。
就像SR-3801说的解决方案是:
- explicitly import the App bridging header into your unit tests (via a build setting) or
- chain the import by adding #import "App-Bridging-Header.h" to any existing unit test bridging header you have
我已经有一个 Test-Bridging-Header.h
,我在其中添加了 #import "MODULE-Bridging-Header.h"
作为解决方案 2 的一部分,我认为这是更可取的。现在,测试桥接 header 链接在模块桥接 header 中,警告消失。
有点不同的情况(框架和没有 unit-test):
我有一个结合 Swift 和 ObjC 的项目(意思是我已经有一个 bridge-header)。项目嵌入了第 3 方框架。添加框架时发出警告(在他们的桥上大喊 header)。我刚刚将他们的 header 导入到我现有的 bridge-header:
#import <ThirdPartyFramework/ThirdPartyFramework-Bridging-Header.h>
并抑制警告。
Xcode 9.4.1 Swift4.1