gpt4 book ai didi

ios - 在使用 Cocoapods 的项目中执行单元测试时出现 "Class X is implemented in both"

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

我向使用 Cocoapods 的现有项目添加了一个单元测试目标。

当我开始测试时,它运行 iOS 模拟器,我在 Xcode 的控制台上收到了一堆警告:

Class PodsDummy_Pods is implemented in both /Users/me/Library/Developer/CoreSimulator/Devices/604372F1-E934-445C-B8F6-3D8C86AA8E41/data/Containers/Bundle/Application/2A1BCAE6-5127-4288-B0E7-15588A1C09D1/MyAPP..app/MyApp. and /Users/me/Library/Developer/Xcode/DerivedData/MyApp-fzjqljiyaapspvaylhszcbkhtijd/Build/Products/Debug-iphonesimulator/MyAppTests.xctest/MyAppTests. One of the two will be used. Which one is undefined.

我的项目使用的 pod 中包含的每个类都会出现此错误消息。

项目最后抛出一个EXC_BAD_ACCESS

当我在 Xcode 的控制台中键入 bt 时,这个错误就像一个无限循环:

frame #130498: 0x000000012626e897 MyAppTests`___lldb_unnamed_function42$$MyAppTests + 135

有什么建议吗?

最佳答案

终于找到解决这个问题的办法了!在我这边,我的快速框架单元测试遇到了这个问题。我的 Podfile 看起来像这样:

def import_gtm
send :pod, 'GoogleTagManager', '~> 5.0.8'
end

target 'MyFramework' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for MyFramework
import_gtm
end

target 'MyFrameworkTests' do
use_frameworks!

# Pods for testing
end

尽管我的测试执行正确,但我有大量日志,就像 OP 一样。阅读此书后 Github issue ,我更改了我的 Podfile 如下:

def import_gtm
send :pod, 'GoogleTagManager', '~> 5.0.8'
end

target 'MyFramework' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for MyFramework
import_gtm

target 'MyFrameworkTests' do
inherit! :search_paths
end
end

我终于摆脱了所有这些警告日志!尝试在重建之前清理 (cmd + alt + shift + K) 或删除 DerivedData 文件夹内容:

rm -rf ~/Library/Developer/Xcode/DerivedData/*

希望对您有所帮助!

关于ios - 在使用 Cocoapods 的项目中执行单元测试时出现 "Class X is implemented in both",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33233419/

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