Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ITMS-90853: Invalid font - There was an error validating the font named 'FontAwesome6Free-Solid'... #314

Open
kiorq opened this issue Sep 10, 2024 · 13 comments

Comments

@kiorq
Copy link

kiorq commented Sep 10, 2024

Apple is detecting the following error after uploading and submitting builds

ITMS-90853: Invalid font - There was an error validating the font named 'FontAwesome6Free-Solid' at 'LoomLetter.app/assets/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf'. ‘glyf’ table instructions.

I'm not sure, i've tried updating everything and cannot seem to figure out what is wrong. This blocks submitting apps to the App Store

Screenshot 2024-09-09 at 8 51 52 PM
@andyyu8588
Copy link

Same issue, using @expo/vector-icons: 14.0.2.

@Sun-Woo-Kim
Copy link

I don't know why, but It was resolved by downgrading the version.
Try to use the version below until the issue is resolved.

@expo/vector-icons: 13.0.0

@hengkx
Copy link

hengkx commented Sep 11, 2024

same error

@jstheoriginal
Copy link

If you're an ejected app and don't actually use any of the FontAwesome fonts in your code, you can use this patch-package file to get around the issue until there's an official fix. It deletes the font files and repoints the FontAwesome package imports to use Feather.ttf for now. FontAwesome fonts won't work with this change.

put it in a file like this: [project-folder]/patches/@expo+vector-icons+14.0.2.patch and re-run npm install.

diff --git a/node_modules/@expo/vector-icons/.DS_Store b/node_modules/@expo/vector-icons/.DS_Store
new file mode 100644
index 0000000..16d875f
Binary files /dev/null and b/node_modules/@expo/vector-icons/.DS_Store differ
diff --git a/node_modules/@expo/vector-icons/build/.DS_Store b/node_modules/@expo/vector-icons/build/.DS_Store
new file mode 100644
index 0000000..fd2bd17
Binary files /dev/null and b/node_modules/@expo/vector-icons/build/.DS_Store differ
diff --git a/node_modules/@expo/vector-icons/build/FontAwesome.js b/node_modules/@expo/vector-icons/build/FontAwesome.js
index 7b826cf..2dec321 100644
--- a/node_modules/@expo/vector-icons/build/FontAwesome.js
+++ b/node_modules/@expo/vector-icons/build/FontAwesome.js
@@ -1,5 +1,6 @@
 import createIconSet from './createIconSet';
-import font from './vendor/react-native-vector-icons/Fonts/FontAwesome.ttf';
+// need to fake it to point to Feather for now since the font had to be deleted from the repo
+import font from './vendor/react-native-vector-icons/Fonts/Feather.ttf';
 import glyphMap from './vendor/react-native-vector-icons/glyphmaps/FontAwesome.json';
 export default createIconSet(glyphMap, 'FontAwesome', font);
 //# sourceMappingURL=FontAwesome.js.map
\ No newline at end of file
diff --git a/node_modules/@expo/vector-icons/build/FontAwesome5.js b/node_modules/@expo/vector-icons/build/FontAwesome5.js
index 1b0831e..2762b40 100644
--- a/node_modules/@expo/vector-icons/build/FontAwesome5.js
+++ b/node_modules/@expo/vector-icons/build/FontAwesome5.js
@@ -2,10 +2,11 @@ import { createFA5iconSet } from './createIconSetFromFontAwesome5';
 import glyphMap from './vendor/react-native-vector-icons/glyphmaps/FontAwesome5Free.json';
 import metadata from './vendor/react-native-vector-icons/glyphmaps/FontAwesome5Free_meta.json';
 const fontMap = {
-    Regular: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf'),
-    Light: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf'),
-    Solid: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf'),
-    Brand: require('./vendor/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf'),
+    // need to fake these to point to Feather for now since the font had to be deleted from the repo
+    Regular: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Light: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Solid: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Brand: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
 };
 export const FA5Style = {
     regular: 'regular',
diff --git a/node_modules/@expo/vector-icons/build/FontAwesome6.js b/node_modules/@expo/vector-icons/build/FontAwesome6.js
index 2730fa8..fad9344 100644
--- a/node_modules/@expo/vector-icons/build/FontAwesome6.js
+++ b/node_modules/@expo/vector-icons/build/FontAwesome6.js
@@ -2,15 +2,16 @@ import { createFA6iconSet } from './createIconSetFromFontAwesome6';
 import glyphMap from './vendor/react-native-vector-icons/glyphmaps/FontAwesome6Free.json';
 import metadata from './vendor/react-native-vector-icons/glyphmaps/FontAwesome6Free_meta.json';
 const fontMap = {
-    Regular: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf'),
-    Light: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf'),
-    Solid: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf'),
-    Brands: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Brands.ttf'),
-    Sharp_Regular: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf'),
-    Sharp_Light: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf'),
-    Sharp_Solid: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf'),
-    Duotone: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf'),
-    Thin: require('./vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf'),
+    // need to fake these to point to Feather for now since the font had to be deleted from the repo
+    Regular: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Light: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Solid: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Brands: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Sharp_Regular: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Sharp_Light: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Sharp_Solid: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Duotone: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
+    Thin: require('./vendor/react-native-vector-icons/Fonts/Feather.ttf'),
 };
 export const FA6Style = {
     regular: 'regular',
diff --git a/node_modules/@expo/vector-icons/build/vendor/.DS_Store b/node_modules/@expo/vector-icons/build/vendor/.DS_Store
new file mode 100644
index 0000000..da13b0e
Binary files /dev/null and b/node_modules/@expo/vector-icons/build/vendor/.DS_Store differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/.DS_Store b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/.DS_Store
new file mode 100644
index 0000000..99b4c6a
Binary files /dev/null and b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/.DS_Store differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome.ttf b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome.ttf
deleted file mode 100644
index 35acda2..0000000
Binary files a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome.ttf and /dev/null differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf
deleted file mode 100644
index fc567cd..0000000
Binary files a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf and /dev/null differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf
deleted file mode 100644
index d1ac9ba..0000000
Binary files a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf and /dev/null differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf
deleted file mode 100644
index f33e816..0000000
Binary files a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf and /dev/null differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Brands.ttf b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Brands.ttf
deleted file mode 100644
index 30f55b7..0000000
Binary files a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Brands.ttf and /dev/null differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf
deleted file mode 100644
index c79589d..0000000
Binary files a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf and /dev/null differ
diff --git a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf b/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf
deleted file mode 100644
index e479fb2..0000000
Binary files a/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf and /dev/null differ

@kiorq
Copy link
Author

kiorq commented Sep 11, 2024

As a fix, i've just switch to react native sf symbol package, removing expo vector icons completely, but will leave the issues open since this is a real issue.

@zachkamran
Copy link

zachkamran commented Sep 13, 2024

Any updates here this is a pretty big issue since the icon package is not removable. Happy to help fix if anyone has any ideas.

@hengkx
Copy link

hengkx commented Sep 16, 2024

@kiorq
Copy link
Author

kiorq commented Sep 16, 2024

Closing since this seemed to be resolved over at #1658

@kiorq kiorq closed this as completed Sep 16, 2024
@Armster15
Copy link

I'd say keep the issue open because the react-native-vector-icons version hasn't been updated yet in this library and the process for doing so seems quite complex: https://github.com/expo/vector-icons?tab=readme-ov-file#how-to-upgrade-the-react-native-vector-icons-version

@julian-gargicevich
Copy link

It shouldn't be closed if it's not fixed

@hainsdominic
Copy link

@kiorq please re-open, this is preventing everyone from submitting to App Store.

@kiorq
Copy link
Author

kiorq commented Sep 20, 2024

Reopening for others. I'm unsubscribing from updates on this issue since I removed the package entirely from my app.

@kiorq kiorq reopened this Sep 20, 2024
@kiorq kiorq changed the title FontAwesome6 is failing and causing apple to void build ITMS-90853: Invalid font - There was an error validating the font named 'FontAwesome6Free-Solid'... Sep 20, 2024
@aledebla03
Copy link

Any update?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants