Xcode控制台“po“错误:表达式解析失败

iOS开发中,使用Xcode开发时,有时候原本运行好好的项目,突然调试时,发现po命令无法正常显示变量的值,无论是清空编译目录,还是重装Xcode,都无法解决问题。当使用po命令时,显示如下:

通过百般折腾与搜索,终于在github上找到了解决该问题的方案:https://github.com/florentmorin/Xcode13LLDBBug

因为我的项目是通过Pod集成依赖的,所以按照解决方案中针对pod的解决方式就行。有几个点需要说明下,就在解决方案的描述上进行说明:

复制代码
post_integrate do |installer|
	// 注意在项目里面找到对应文件的正确路径,如果这个文件路径有问题,pod install会报错
    xcconfig_path = installer.sandbox.target_support_files_root.to_s + '/Pods-App/Pods-App.debug.xcconfig'

    xcconfig_content = File.read xcconfig_path
    xcconfig_original_ld_flags = xcconfig_content.match(/OTHER_LDFLAGS = ([^\n]+)\n/)[1]

    xcconfig_new_ld_flags = <<~CONTENT

    // Xcode 13.3+
    //	InternalPod换成你需要debug的代码所在的库的名字,如果有多个库debug出问题,就按照这个格式,把多个库加上去。
    OTHER_LDFLAGS = #{xcconfig_original_ld_flags} -Wl,-add_ast_path,$(TARGET_BUILD_DIR)/InternalPod/InternalPod.framework/Modules/InternalPod.swiftmodule/$(NATIVE_ARCH_ACTUAL)-apple-$(SHALLOW_BUNDLE_TRIPLE).swiftmodule

	 //现在的xcode版本基本都是Xcode 15及以上了,所以下面这几行不需要了。
    // Xcode 13.2
    OTHER_LDFLAGS[sdk=iphoneos15.2] = #{xcconfig_original_ld_flags} -Wl,-add_ast_path,$(TARGET_BUILD_DIR)/InternalPod/InternalPod.framework/Modules/InternalPod.swiftmodule/$(NATIVE_ARCH_ACTUAL)-apple-ios.swiftmodule
    OTHER_LDFLAGS[sdk=iphonesimulator15.2] = #{xcconfig_original_ld_flags} -Wl,-add_ast_path,$(TARGET_BUILD_DIR)/InternalPod/InternalPod.framework/Modules/InternalPod.swiftmodule/$(NATIVE_ARCH_ACTUAL)-apple-simulator.swiftmodule

    CONTENT

    xcconfig_content.gsub! /OTHER_LDFLAGS = ([^\n]+)\n/, xcconfig_new_ld_flags

    File.open(xcconfig_path, 'w') do |f|
      f.puts xcconfig_content
    end

end
相关推荐
Java面试题总结4 小时前
IntelliJ IDEA 从卡顿到起飞,只用改这些。。。
java·ide·intellij-idea
colman wang5 小时前
Git指令(Mac)
git·macos
Jay_Franklin9 小时前
Python 数据处理工作流:marimo、PyCharm 与数据存储
开发语言·数据仓库·ide·python·pycharm·数据分析·开源
渡我白衣10 小时前
打印宏与socket模块设计
java·linux·开发语言·c++·ide·人工智能·eclipse
酷虎软件18 小时前
分享链接+视频音频文案提取 API 接口文档
ide·macos·xcode
Hyyy1 天前
为什么 macOS 应用一换 Bundle ID,之前授予的权限就全失效了?
macos·electron
p似笑非笑1 天前
实战验证——把 SDK 塞进一个 macOS 原生 Agent 应用
macos
p似笑非笑1 天前
在Mac上完美配置VSCode的C/C++开发环境(GCC/G++详细教程)
c语言·vscode·macos
韦胖漫谈IT1 天前
Apple M3 Max 与 Apple M5 Max 对比:本地算力的新旧王者之争
网络·人工智能·macos·transformer
我命由我123452 天前
Android Studio - Android Studio 自定义预览尺寸
android·java·ide·java-ee·android studio·android-studio·android runtime