【问题标题】:This application cannot tree shake icons fonts此应用程序不能树摇图标字体
【发布时间】:2020-11-29 19:00:47
【问题描述】:

在尝试以发布模式构建我的应用时,我遇到了以下编译器错误:
“此应用程序不能树摇图标字体。”

终端日志:

flutter build ios --release  
Building com.xxx.xxx for device (ios-release)...
Automatically signing iOS for device deployment using specified development team in Xcode project: C7T4CHU88Y
Running Xcode build...                                                  
                                                   
Xcode build done.                                           31.8s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    This application cannot tree shake icons fonts. It has non-constant instances of IconData at the following locations:
      - file:///Users/user-app/lib/screens/categories/subcategories.dart:830:35
      - file:///Users/user-app/lib/screens/home/home.dart:387:17
      - file:///Users/user-app/lib/screens/home/home.dart:399:17
      - file:///Users/user-app/lib/screens/home/home.dart:411:17
      - file:///Users/user-app/lib/screens/home/home.dart:423:17
      - file:///Users/user-app/lib/screens/product/all_products.dart:516:31
      - file:///Users/user-app/lib/screens/tab/saveditems.dart:324:31
      - file:///Users/user-app/lib/screens/tab/searchitem.dart:496:31

错误可能来自以下文件:

Column(
  children: <Widget>[
    Row(
      children: <Widget>[
        new Text(
          MyLocalizations.of(context).goToCart,
          style: textBarlowRegularBlack(),
        ),
        SizedBox(width: 4),
        Icon(
          IconData(
            0xe911,
            fontFamily: 'icomoon',
          ),
          color: Colors.black,
        ),
      ],
    ),
  ],
),

【问题讨论】:

    标签: ios xcode flutter flutter-dependencies


    【解决方案1】:

    尝试使用--no-tree-shake-icons 命令构建。

    【讨论】:

    • 有人能告诉我在 Xcode 中哪里可以设置吗?谢谢。
    • @NickWright flutter build ios --no-tree-shake-icons in terminal
    • @anson 当我这样做时,我使用的材料图标都没有显示 - 你知道为什么会这样吗?
    • 在 Codemagic 构建参数和作品中添加了这个。 :D
    【解决方案2】:

    在 IconData 之前添加一个“const”。

    Icon(
      const IconData(
        0xe911,
        fontFamily: 'icomoon',
      ),
      color: Colors.black,
    ),
    

    【讨论】:

      【解决方案3】:

      对于颤振,您可以使用此导出 apk

      flutter build apk --split-per-abi --no-tree-shake-icons
      

      【讨论】:

        【解决方案4】:

        对我来说,在最新版本的颤振中也面临同样的问题。所以到目前为止,我已经降级到 Channel stable v1.17.5 以跳过这个 tree-shake-icons 问题。

        【讨论】:

          猜你喜欢
          • 2021-06-01
          • 2018-01-08
          • 2017-03-18
          • 1970-01-01
          • 1970-01-01
          • 2021-04-11
          • 2016-11-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多