美文网首页Flutter圈子程序员程序园
记录run Flutter Boost iOS Example遇

记录run Flutter Boost iOS Example遇

作者: 一个程序员的自我修养 | 来源:发表于2019-05-05 12:00 被阅读23次

    问题:

    在run Flutter Boost iOS Example时遇到下面这个报错

            /bin/sh: /packages/flutter_tools/bin/xcode_backend.sh: No such file or directory


    解决:

    Step 1. 搞清楚问题是什么,就解决了问题的一半!--吉德林法则 Jidelim Law


    先定位问题发生在哪里?在Xcode的Build Phases的Run Script里:

    /bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh” build

    再确定问题是什么?先大致定位是找不到环境变量:$FLUTTER_ROOT

    echo $FLUTTER_ROOT 没有输出,echo $PROJECT_DIR有输出,

    确实是环境变量没有设置成功的原因!

    先试着自己解决

    在系统层面设置环境变量:

    我的是在~/.zshrc里添加

    export FLUTTER_ROOT="/Users/futu/ios/env/flutter”

    但是在Xcode里依然报同样的问题,

    所以问题还是得在Xcode工程里找!

    但是对于Flutter的工程结构还不是很熟悉,怎么办,想到了万能的Google!

    Step 2.找到问题的关键词,是解决问题另一半的一半! — 关键词法则 Keywords Law(本文原创,引用请注明出处)


    Google这个问题,尝试了好几个关键词(比如Xcode $FLUTTER_ROOT),发现下面这个关键词是正解:

    ios $FLUTTER_ROOT

    点开第一条:

    Emit an actionable error message if FLUTTER_* not defined in Xcode run-script phases #12751

    不是很明了,看到之前有解决过类似问题

    再打开里面的flutter build ios fail #12725

    文章有点长,用关键词 flutter root 搜索下,看到了同一个回答者cbracken对这个问题的大段描述,大概知道了,相关的环境变量是在Generated.xcconfig里设置的!

    但是在example/ios/Flutter的目录下没有这个配置!

    一定是少了什么操作,对,没有对Flutter进行初始化!

    但是怎么初始化呢,查了下flutter有哪些命令,尝试了下

    flutter build ios

    果然生成了Generated.xcconfig

    OK,run 一下工程,搞定!

    Step 3.解决完问题,事情并没有结束,需要先衡量下是否需要深究此问题产生的原因,如果投入产出比不是很大,或者有优先级更高的事情,那么可以先记录此问题,当某天遇到一定要搞清楚的时候再来搞清楚也不迟!-- 懒加载法则 Lazy Load Law(本文原创,引用请注明出处)


    相关文章

      网友评论

        本文标题:记录run Flutter Boost iOS Example遇

        本文链接:https://www.haomeiwen.com/subject/aidcoqtx.html