flutter项目在Xcode上运行时碰到的错误
无法执行这个路径下的命令
/packages/flutter_tools/bin/xcode_backend.sh
很明显这个路径少了点东西,说明flutter项目的ios部分的配置引用有问题
那我们就查看下配置
右键显示包内容可以在project.pbxproj文件中观察到编译时文件的的关联和配置
其中这里
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
发现是少了$FLUTTER_ROOT的内容
这个配置是基于这三个文件的配置
那再次在project.pbxproj(文件大部分都是对各个文件的映射和配置基本不会错的)文件中全局搜索下XCBuildConfiguration发现
pods-Runner.debug.xconfig配置的是pods-Runner.debug.xconfig这个文件但是我们上面三个文件中没有这个,所以问题就在这里,配置了一个不存在的文件所以找不到FLUTTER_ROOT的路径了
解决方案
直接把pods-Runner.debug.xconfig替换成Debug.xcconfig就可以
或者直接在Xcode这里修改也可以
拓展一下
这种路径问题有时候还会出现在从别人那里拷来的项目
这时候修改一下Generated.xcconfig这个文件中的FLUTTER_ROOT的路径替换成自己的flutter根目录就可以,或者通过AndroidStudio去运行一下,再用Xcode运行一般也能解决
网友评论