问题描述
在我的iOS应用中,我正在使用SPM来管理依赖关系。其中之一是使用Bundle.module
(Swift 5.3中提供的新功能)加载资源的库。但是现在我需要为我的应用程序使用CocoaPods。因此,我应该为此依赖性添加CocoaPods支持。我知道我可以将Bundle.module
的声明从@H_502_5@ resource_bundle_accessor.swift 复制到库中。但是它也应该支持SPM。我想知道如何检查是否应该使用在@H_502_5@ resource_bundle_accessor.swift 中定义的Bundle.module
或我的函数是否使用了@H_502_5@ resource_bundle_accessor.swift 相同的功能生成。
解决方法
使用#if SWIFT_PACKAGE
来区分SPM和CocoaPods特定代码的一种选择。这是一个示例,说明了如何设置一个测试以与两个程序包管理器一起运行:https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseRemoteConfig/Tests/Unit/RCNRemoteConfigTest.m#L1144