为什么 react-native-svg-icons 给我的错误是 ttf 文件有一些重复项?

Why is react-native-svg-icons giving me the error that there are some duplicates for ttf files?

长话短说

我在 iPhone react-native 应用程序中沉没了大约 12 个小时。从昨天开始,它不再建造了(不知从何而来)。 5小时后!调试我发现了可能导致问题的原因,但没有找到解决方法。

我将这些包含 .ttf 文件的包用于图标和其他内容:

"@fortawesome/fontawesome-svg-core"
"@fortawesome/free-solid-svg-icons"
"@fortawesome/react-native-fontawesome"
"@react-native-community/cli-platform-ios"
"react-native-vector-icons"

而且我认为存在问题。由于 react-native-vector-icons 似乎也使用了这些包之一带来的相同 .ttf 文件,我得到了错误:

Multiple Commands produce...

因此,当我卸载 react-native-vector-icons 时,它又可以工作了。但是当我到达我使用这个包的屏幕时:

"react-native-elements"(在文档中说它需要 react-native-vector-icons

抱怨找不到Fontawesome Icons(元素中的Checkbox组件)

那我该如何解决呢?我显然需要构建应用程序,还需要来自 react-native-elements 的复选框组件。但是 react-native-elements 需要 react-native-svg-icons。但是,当我安装它时,它甚至不会出现上述错误,即同一图标有多个 .ttf 文件。

我想不通,但它与 react-native-elements 有关,因为它们也 link react-native-vector-icons

附带的图标

我通过删除 react-native-elements 解决了这个问题,并创建了我自己的自定义 Checkbox 组件。

我有一个与 react-native-vector-icons 库中包含的字体相关的类似问题。我用以下方法解决了它。

  1. 我在我的项目中创建了 assets/fonts 目录。我添加了另一些 iOS 没有链接的字体(在我的例子中是 "Nunito" 字体),但我没有包含 react-native-vector-icons

    [= 的字体40=]
  2. 我在项目的根目录中创建了一个名为 react-native.config.js 的新文件,内容如下:

module.exports = {
    project: {
        ios: {},
        android: {}
    },
    assets: ['./src/assets/fonts/'],
};
  1. 那我运行react-native link

  2. 然后我去了 ios 目录 (cd ios) 和 运行 pod update

  3. 最后,我 运行 react-native run-ios 奇迹发生了

我以 Alex Biddle 的 post 为蓝本:https://medium.com/better-programming/how-to-add-custom-fonts-to-your-react-native-project-c64305281b9