electron / universal

Create Universal macOS applications from two x64 and arm64 Electron applications
MIT License
112 stars 43 forks source link

the number of mach-o files is not the same between the arm64 and x64 builds #36

Open zinne opened 2 years ago

zinne commented 2 years ago

Hi, thanks for this tool. Unfortunately I cannot create a fat binary because it throws an error. I have two signed app files which I can package without any problems (and then ship the x86 pkg to MAS). When I try to create a fat binary with electron-universal it shows me the error that the mach-o file numbers are not matching. Error: While trying to merge mach-o files across your apps we found a mismatch, the number of mach-o files is not the same between the arm64 and x64 builds

After searching 3 days the internet how to create combined packages with lipo, pkgbuild, productbuild, and pkgutil I have absolutely no idea where to start to get this right. Maybe I can get a hint how to make mach-o files the same number in both apps (I use node_modules/sharp in my project and electron-universal shows a lot of console output before the error appears, seems that there a lot of unique files to each architecture for sharp)

ursmeili commented 2 years ago

Hi, any update on this? I have this problem, too. I use the library "native-keymap". The log outputs this:

{
  uniqueToX64: [],
  uniqueToArm64: [
    'Contents/Resources/app/node_modules/native-keymap/bin/darwin-arm64-101/native-keymap.node',
    'Contents/Resources/app/node_modules/native-keymap/build/Release/obj.target/keymapping/src/keyboard_mac.o',
    'Contents/Resources/app/node_modules/native-keymap/build/Release/obj.target/keymapping/src/keymapping.o',
    'Contents/Resources/app/node_modules/native-keymap/build/Release/obj.target/keymapping/src/string_conversion.o'
  ]
}
(node:29153) UnhandledPromiseRejectionWarning: Error: While trying to merge mach-o files across your apps we found a mismatch, the number of mach-o files is not the same between the arm64 and x64 builds
    at exports.makeUniversalApp (/Users/ume/git/monorepo/web/electron/app-helium/node_modules/@electron/universal/dist/cjs/index.js:78:19)

The file in bin is present in the x64 build also, but in path /Contents/Resources/app/node_modules/native-keymap/bin/darwin-x64-101/native-keymap.node. The others are indeed not present, but AFAIK they wouldn't be necessary for running the application anyway.

Can I do something about this?

Canvasfull commented 2 years ago

Hi, I have this problem too, do you have a solution?

`{ uniqueToX64: [ 'Contents/Resources/app/node_modules/sharp/build/Release/sharp-darwin-x64.node' ], uniqueToArm64: [] } app/node_modules/@electron/universal/dist/cjs/index.js:78 throw new Error('While trying to merge mach-o files across your apps we found a mismatch, the number of mach-o files is not the same between the arm64 and x64 builds'); ^

Error: While trying to merge mach-o files across your apps we found a mismatch, the number of mach-o files is not the same between the arm64 and x64 builds at Object.exports.makeUniversalApp

Node.js v17.3.0`

DanielDe commented 1 year ago

Adding one more to the list: I'm running into the same issue with the better-sqlite3 package.

2022-10-28T23:01:32.097Z electron-universal some files were not in both builds, aborting
{
  uniqueToX64: [],
  uniqueToArm64: [
    'Contents/Resources/app/node_modules/better-sqlite3/bin/darwin-arm64-106/better-sqlite3.node',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Makefile',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/Release/better_sqlite3.node.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/Release/obj.target/better_sqlite3/src/better_sqlite3.o.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/Release/obj.target/deps/locate_sqlite3.stamp.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/Release/obj.target/test_extension/deps/test_extension.o.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/Release/sqlite3.a.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/Release/test_extension.node.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/.deps/ba23eeee118cd63e16015df367567cb043fed872.intermediate.d',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/obj/gen/sqlite3/sqlite3.c',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/obj/gen/sqlite3/sqlite3.h',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/obj/gen/sqlite3/sqlite3ext.h',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/obj.target/better_sqlite3/src/better_sqlite3.o',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/obj.target/deps/locate_sqlite3.stamp',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/obj.target/test_extension/deps/test_extension.o',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/sqlite3.a',
    'Contents/Resources/app/node_modules/better-sqlite3/build/Release/test_extension.node',
    'Contents/Resources/app/node_modules/better-sqlite3/build/better_sqlite3.target.mk',
    'Contents/Resources/app/node_modules/better-sqlite3/build/binding.Makefile',
    'Contents/Resources/app/node_modules/better-sqlite3/build/config.gypi',
    'Contents/Resources/app/node_modules/better-sqlite3/build/deps/locate_sqlite3.target.mk',
    'Contents/Resources/app/node_modules/better-sqlite3/build/deps/sqlite3.Makefile',
    'Contents/Resources/app/node_modules/better-sqlite3/build/deps/sqlite3.target.mk',
    'Contents/Resources/app/node_modules/better-sqlite3/build/gyp-mac-tool',
    '../../../../../../../../../../usr/local/Cellar/python@3.10/3.10.6_1/Frameworks/Python.framework/Versions/3.10/bin/python3.10',
    'Contents/Resources/app/node_modules/better-sqlite3/build/test_extension.target.mk'
  ]
}

An unhandled rejection has occurred inside Forge:
Error: While trying to merge mach-o files across your apps we found a mismatch, the number of mach-o files is not the same between the arm64 and x64 builds

Have any of you been able to resolve this?

javierguzman commented 1 year ago

Did any of you manage to solve this? Any hint would be appreciated, thank you in advance and regards

fedekrum commented 7 months ago

{ uniqueToX64: [], uniqueToArm64: [ 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Electron Framework', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Helpers/chrome_crashpad_handler', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Libraries/libEGL.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Libraries/libGLESv2.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Libraries/libffmpeg.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Libraries/libvk_swiftshader.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Libraries/vk_swiftshader_icd.json', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/Info.plist', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/MainMenu.nib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/af.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/am.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ar.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/bg.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/bn.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ca.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/chrome_100_percent.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/chrome_200_percent.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/cs.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/da.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/de.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/el.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/en.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/en_GB.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/es.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/es_419.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/et.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/fa.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/fi.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/fil.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/fr.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/gu.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/he.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/hi.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/hr.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/hu.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/icudtl.dat', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/id.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/it.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ja.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/kn.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ko.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/lt.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/lv.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ml.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/mr.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ms.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/nb.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/nl.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/pl.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/pt_BR.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/pt_PT.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/resources.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ro.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ru.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/sk.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/sl.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/sr.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/sv.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/sw.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ta.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/te.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/th.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/tr.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/uk.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/ur.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/vi.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/zh_CN.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Resources/zh_TW.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Helpers/chrome_crashpad_handler', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libEGL.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libvk_swiftshader.dylib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/vk_swiftshader_icd.json', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/Info.plist', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/am.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ar.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/bg.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/bn.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ca.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/chrome_100_percent.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/chrome_200_percent.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/cs.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/da.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/de.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/el.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/en.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/en_GB.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/es.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/es_419.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/et.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fa.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fi.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fil.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/fr.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/gu.lproj/locale.pak', 'Contents/Resources/app/KrumDMX-darwin-arm64/KrumDMX.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/he.lproj/locale.pak', ... 3693 more items ] } While trying to merge mach-o files across your apps we found a mismatch, the number of mach-o files is not the same between the arm64 and x64 builds

zinne commented 7 months ago

My solution was not to use this package anymore. I managed it by using "@electron/packager": "^18.1.3", which I can call like so npx electron-packager .... --arch=universal. Electron has to be at least at v11 for that and it worked all out of the box. I have successfully submitted (after extra signing some ARM libs) the binary to MAS.

fangmuke commented 2 months ago

$ npm init electron-app@latest my-app -- --template=vite-typescript

By building a new project with the above commands and executing npx electron-forge make --arch='universal', the same error occurred. After building arm64 and x64 separately, it was found that the arm64 would add the _CodeResources folder. It is suspected to be a problem caused by the signature.

After modifying osxSign, it can work normally.

ref:https://www.electronforge.io/guides/code-signing/code-signing-macos#osxsign-options

Since I haven't joined the Apple Developer Program, I am unable to verify whether it works properly after configuring the signature. Hope someone can try and give feedback.

Thank you.