Swift 错误:无法';t IRGen表达式,无其他错误
我无法在UI测试中打印调试信息。配置:Xcode 10和SWIFT 4.2 当我试图在控制台中打印某些内容时,我只能看到一个错误:Swift 错误:无法';t IRGen表达式,无其他错误,swift,xcode,debugging,lldb,xcode10,Swift,Xcode,Debugging,Lldb,Xcode10,我无法在UI测试中打印调试信息。配置:Xcode 10和SWIFT 4.2 当我试图在控制台中打印某些内容时,我只能看到一个错误: "error: Couldn't IRGen expression, no additional error" 我在早期版本的Xcode(8、9等)中没有任何问题,只有在Xcode 10中。当我放置断点并尝试打印例如apppo xguiapplication()或类似的东西时,我无法打印任何内容 在早期版本的Xcode中,当我在控制台中编写时: “po xgui
"error: Couldn't IRGen expression, no additional error"
我在早期版本的Xcode(8、9等)中没有任何问题,只有在Xcode 10中。当我放置断点并尝试打印例如apppo xguiapplication()
或类似的东西时,我无法打印任何内容
在早期版本的Xcode中,当我在控制台中编写时:
“po xguiapplication.debugDescription()”
我看到了我的应用程序的结构
我们发现,当将外部框架添加到UI测试目标时,问题就会出现。我们创建了一个示例项目,其中包含RxSwift.framework,可用于重现我们的问题:
注意。swift调试格式是swift内部对象的二进制转储,因此您必须使用正在使用的调试器附带的编译器编译二进制文件,否则会出现问题 我可以使用Xcode 10.0和您提供的项目重新设置您看到的行为。但是后来我从github获得了RxSwift源代码,并用Xcode 10.0编译器重新构建了它们,并用我在本地构建的RxSwift.framework替换了您的RxSwift.framework,然后重新运行测试,并且您附加到断点的表达式工作正常。你能看看这是否也适用于你吗
调试器应该给出更好的错误消息,如果您想向swift bug reporter()提交错误,我们可以考虑改进错误消息。我对Carthage-RxSwift也有同样的问题 从中删除文件 迦太基/建筑/ 迦太基/退房/ 在终端中调用迦太基更新解决了我的问题 更新:
我们注意到,只有将RxSwift库更新到4.3及以上版本时,才会出现此问题。将版本设置为4.2.x可以正常工作。我对迦太基也有同样的问题。然而,在更仔细地观察控制台时,我发现Carthage没有构建RxSwift,而是下载了预构建的二进制文件
*** Downloading RxSwift.framework binary at "Zürich"
这反过来又导致了IRGen错误。因此,迫使迦太基构建框架而不是下载二进制文件是可行的
carthage update --platform iOS --no-use-binaries
没有帮助我:应用程序使用内部框架,在本地重建所有内容。还是一样的错误。Xcode 10,开发目标为iOS 9.0,在iOS 11.2中运行应用程序simulator@JOM如果您可以共享您的项目,请向或提交一个bug。重建一切目前是成功的必要条件,任何情况下,这不是一个充分条件,我们想看看。对不起,大规模的企业应用程序。无法共享项目,也无法创建小型独立示例:(迦太基更新--platform iOS--no use binaries对我来说很好。但是如果你与其他开发人员一起工作,并且你将迦太基构建推送到repo,那么问题仍然会发生在其他开发人员身上,因为RxSwift构建是在我的计算机上完成的。而这只发生在RxSwift框架上。