自从我更新到Xcode 12之后,在使用lldb进行调试时,我一直无法在控制台中输出变量。
按照预期,在Swift代码中直接使用print()
语句输出到控制台。
控制台中的命令(如po "hi"
)按预期将"hi“输出到控制台。
相反,尝试运行po <variable_name>
时,总是输出以下行:
error: <EXPR>:3:1: error: cannot find 'variable_name' in scope
而不是期望变量的值。
我采取的步骤
让示例= "hi“print(example)
print()
语句。
中运行po example
。
预期结果
它应该在控制台中打印"hi"
。
实际效果
它打印这条错误行。
error: <EXPR>:3:1: error: cannot find 'example' in scope
在模拟器或设备上运行时也是一样的。我试着激活控制台,重新启动Xcode。
我尝试在Xcode12中创建一个新项目,这很好,我用以前版本的Xcode创建的其他旧项目在Xcode 12中工作得很好。
我尝试过与其他项目和新创建的项目对抗构建设置,似乎没有什么错:优化设置为None
,这是调试构建配置时应该设置的,运行方案被设置为启动调试构建配置。
问题还会在哪里呢?
发布于 2021-12-21 11:36:13
在我的例子中,这个问题是由包含Swift包的项目中作为Cocoapod依赖项安装的'GoogleAPIClientForREST‘引起的。
您可以在这里找到报告的问题:https://github.com/google/google-api-objectivec-client-for-rest/issues/478
我不知道对这个问题负责的是SPM还是GoogleAPIClientForREST,但现在最好的解决办法是安装GoogleAPIClientForREST的早期版本:
pod 'GoogleAPIClientForREST/Drive', '~> 1.3.11'
pod 'GoogleAPIClientForREST/Calendar', '~> 1.3.11'
https://stackoverflow.com/questions/64507164
复制相似问题