gpt4 book ai didi

ios - cocoa pod : Swift compiler error "Failed to import bridging header" reason?

转载 作者:可可西里 更新时间:2023-11-01 05:49:49 25 4
gpt4 key购买 nike

我使用的是 cocoa pod 版本 1.1.1、swift 3.0.1 和 Xcode 8.1。我有一个应用程序,它使用这样的 cocoa pod (Podfile)

# Uncomment this line to define a global platform for your project
# platform :ios, '6.0'
platform :ios, '8.0'
use_frameworks!

target 'TestApp' do
pod 'GoogleAnalytics', '~> 3.14.0'
end

target 'TestAppTests' do
pod 'Quick'
pod 'Nimble'
end

我还有一些 Objective-C 文件,这就是我使用 Bridging-Header.h 文件的原因。

//
// Use this file to import your target's public headers that you would like to expose to Swift.
//

#import <CommonCrypto/CommonCrypto.h>

#import <GoogleAnalytics/GAI.h>
#import <GoogleAnalytics/GAIFields.h>
#import <GoogleAnalytics/GAIDictionaryBuilder.h>
#import <GoogleAnalytics/GAILogger.h>

#import <CoreBluetooth/CoreBluetooth.h>

#import "AModel+Level.h"
#import "AModel+AutoStatus.h"
#import "AModel+Settings.h"
#import "APacketData+Decoders.h"
#import "Reachability.h"

当我运行 TestApp 时,它运行完美。但是我运行单元测试用例,我在 TestAppTests 上遇到错误 -> Swift 编译器错误 -> 未能在找不到#import“GoogleAnalytics/GAI.h”上导入桥接 header “TestApp-Bridging-Header.h”。

我解决了这个问题,在 podfile 上使用了这个技术:

platform :ios, '8.0'
use_frameworks!

target 'TestApp' do
pod 'GoogleAnalytics', '~> 3.14.0'
end

target 'TestAppTests' do
pod 'GoogleAnalytics', '~> 3.14.0'
pod 'Quick'
pod 'Nimble'
end

当我将代码迁移到 Swift 3.0.1 时,我只想知道以下几点:

1. Is it require to install every pods in different targets? or we have any alternate solution.
2. What is the best technique to handle this kind of problems?

请说明原因。

最佳答案

由于单元测试用例包含不同的目标,您必须将 cocoapods 安装到该目标。所以你所做的是正确的。

platform :ios, '8.0'
use_frameworks!

target 'TestApp' do
pod 'GoogleAnalytics', '~> 3.14.0'
end

target 'TestAppTests' do
pod 'GoogleAnalytics', '~> 3.14.0'
pod 'Quick'
pod 'Nimble'
end

<强>1。是否需要将每个 pod 安装在不同的目标中?或者我们有任何替代解决方案。

是的,您需要在所有不同的目标上安装 pod。

<强>2。处理此类问题的最佳技术是什么?

这是大多数人的做法之一。

但是对于更复杂的事情,如果你想做,那就拿这个 Reference .

关于ios - cocoa pod : Swift compiler error "Failed to import bridging header" reason?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40548170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com