Xcode集成Python到iOS项目时出现Py_Initialize未定义错误
以下是针对该错误的排查和解决步骤:
检查Python静态库链接
确认Xcode项目的Build Phases -> Link Binary With Libraries中已添加适配iOS的Python静态库(如libpython3.x.a),且库的路径与同事机器保持一致。注意iOS仅支持静态库,不要使用动态库。验证头文件路径配置
在Build Settings -> Search Paths -> Header Search Paths中,确认已添加Python头文件所在目录(如自定义编译路径下的include/python3.x),路径建议设置为递归(结尾加/**)以确保能找到所有嵌套头文件。同步Python编译环境
若使用自行编译的Python库,需确保是针对iOS平台交叉编译的版本。可以复用同事的编译脚本(比如基于python-build-ios工具),编译时需禁用动态库选项(如--disable-shared),保证生成的静态库适配iOS架构(arm64/x86_64)。清理缓存重新构建
执行Product -> Clean Build Folder,并删除Xcode的Derived Data(路径:Xcode -> 设置 -> 位置 -> Derived Data,打开文件夹后删除对应项目目录),之后重新构建项目,排除缓存导致的链接异常。核对项目架构设置
在Build Settings -> Architectures中,确认仅保留当前编译目标所需架构(设备选arm64,模拟器选x86_64),Debug模式下将Build Active Architecture Only设为Yes,避免架构不匹配引发的链接错误。
内容的提问来源于stack exchange,提问作者user2129623

