我尝试了问题here的答案,但没有一个帮助:(
我已经安装了Xcode 7 beta 5,调试器在调试swift代码时不会显示变量值。它在Obj-C代码中工作正常。
我尝试将编译器优化级别更改为无,但它没有效果。
答案 0 :(得分:4)
我仍然在XCode 7.0的最终版本中发现了这个问题。事实证明我的桥接头需要更新,因为其中不再需要其中一个参考。
我发现使用' po'在其中一个变量的调试器中,例如, ' po self.views'。然后调试器为我列出了桥接头中的所有错误。找出问题的奇怪方法,但它确实有效。
编辑:以防万一在解决任何问题后进行干净的构建
答案 1 :(得分:1)
这可能是由于Swift和Objective-C之间的桥接文件存在问题,例如文件{projectName} -Bridging-Header.h。为了确保这一点:
1-在要调试的位置添加断点。
2-到达断点后,在xCode调试输出窗口中的任何对象上写入lldb命令 po 。例如:
po self.view
如果出现问题,您应该看到它的日志,希望您可以去修复它
答案 2 :(得分:0)
Apple在Xcode 7 Beta 6中解决了这个问题
Twitter开发人员提出了一个关于这个问题的链接:https://twittercommunity.com/t/xcode-7-debugger/50792
答案 3 :(得分:0)
我有同样的问题。我在这里通过这个链接解决了这个问题:
Swift debugger does not show variable values when importing ObjC framework
首先尝试在子文件夹中移动所有.framework,正如此帖的作者所说:
我收到了一位苹果开发者的消息,说他们已经观察到了 这个问题,可以通过将.framework移动到a来修复 该项目的子文件夹。显然模块..是内置的 仅当.framework位于同一文件夹中时才会出现目录错误 作为 .xcodeproj 又名$(PROJECT_DIR)。
但就我而言,主要问题是 OpenTok 框架。 在断点中添加操作后
post_install do |installer|
`find Pods -regex 'Pods/OpenTok.*\\.h' -print0 | xargs -0 sed -i '' 's/\\(<\\)OpenTok\\/\\(.*\\)\\(>\\)/\\"\\2\\"/'`
end
日志显示消息:
警告:模块myapp中的Swift错误: Swift在构造此模块的ast上下文时遇到致命错误:: 1:9:注意:包含在文件中 :1: #import&#34; /Users/me/Developer/myapp-ios/Pods/OpenTok/OpenTok.framework/Headers/OpenTok.h"
最后,我在pod install
:
@SerializedName("name_of_json_field")
最后,-keepattributes *Annotation*
。
答案 4 :(得分:-1)
我遇到了同样的问题。原因是因为我使用的是Crashlytics,这是一个ObjC框架。
尝试删除一些ObjC框架,然后shift + cmd + k
清除项目并重新构建它。
之后它应该可以工作。
答案 5 :(得分:-1)
转到项目 - &gt;目标 - &gt;构建设置 - &gt;优化级别 - &gt;调试并将值设置为您想要的任何内容
答案 6 :(得分:-2)
删除Fabric / Crashlytics为我做了。我可以肯定地说,并非所有ObjC导入都会导致此问题。我仍然在我的Swift项目中使用其他一些但由于某些原因Crashlytics在最新测试版中引起了一些问题。我也很早就遇到了编译错误,我不得不为项目关闭bitcode甚至编译。