我在使用Cocoapods的现有项目中添加了单元测试目标。
当我开始测试时,它运行iOS模拟器,我在Xcode的控制台上发出了一堆警告:
类PodsDummy_Pods在两者中实现 /Users/me/Library/Developer/CoreSimulator/Devices/604372F1-E934-445C-B8F6-3D8C86AA8E41/data/Containers/Bundle/Application/2A1BCAE6-5127-4288-B0E7-15588A1C09D1/MyAPP..app/MyApp。 和 /Users/me/Library/Developer/Xcode/DerivedData/MyApp-fzjqljiyaapspvaylhszcbkhtijd/Build/Products/Debug-iphonesimulator/MyAppTests.xctest/MyAppTests。 将使用两者之一。哪一个未定义。
我的项目使用的广告连播中包含的每个类都会显示此错误消息。
最后,该项目会抛出<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="list-group col-lg-10" >
<a href="#" id="id1" class="list-group-item col-lg-6">Example 1</a>
<a href="#" id="id2" class="list-group-item col-lg-6">Example 2</a>
</div>
<div class="button">Click here</div>
当我在Xcode的控制台中输入EXC_BAD_ACCESS
时,这个错误就像一个无限循环:
帧#130498:0x000000012626e897 MyAppTests` ___ lldb_unnamed_function42 $$ MyAppTests + 135
有什么建议吗?
答案 0 :(得分:1)
终于找到了解决这个问题的方法!在我这边,我的swift框架单元测试存在这个问题。我的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/*
我希望这有帮助!