我有一个大型iOS项目,我的问题是,在运行XCTests时:
NSLog
s / print
在测试日志中不可见,但测试中的日志可见我在同一工作区内有另一个iOS项目,断点和日志记录工作正常。
有问题的iOS项目最初是在Xcode的旧版本上创建的(大约2012年,不确定哪个版本完全正确);我看到this comment来自其他地方的人destroy()
已经看到这个问题与旧的.xcodeproj
。
该项目本身是混合型Obj-C / Swift,使用了几个Cocoapods,一个watchkit扩展,并且测试分为三个目标。
鉴于我项目的复杂配置,我宁愿避免重新开始使用新的.xcodeproj
,并尝试准确反映我的错误配置。
这个错误的原因是什么?我可以在现有.xcodeproj
的配置中更改什么来修复它?
答案 0 :(得分:4)
选择您的方案,转到编辑方案... 并勾选测试>下的调试可执行文件选项。 信息窗格。
调试器将附加到您的测试和目标应用程序,并且项目的两个部分都会出现断点。
请注意,当您的目标应用程序中遇到断点时,您的测试仍在运行,可能会超时,从而导致两个应用程序都被终止。
答案 1 :(得分:2)
项目文件中的罪魁祸首是DEPLOYMENT_POSTPROCESSING = YES
。
答案 2 :(得分:1)
我为我的UI测试制定了一个新方案,所以我假设调试器没有在没有断点的情况下附加到新的UI测试方案。但是,this post 对我有正确的答案。
在我的情况下断点没有在一次回调中被击中,所以我改变了#34; Swift Compiler" "优化等级"到"没有优化"在用于调试的项目目标构建设置中,它开始在Xcode 9.3和AppCode中工作。
答案 3 :(得分:1)
答案 4 :(得分:0)
答案 5 :(得分:0)
答案 6 :(得分:0)
截至该日期,我已经尝试了所有答复中的所有内容,但最后,对我而言唯一有效的方法是删除目标并重新创建它。