Compila tu ejecutable usando el flag --compile.
sh
bun build --compile ./path/to/entry.ts --outfile myappEnumera tus identidades de firma disponibles. Una de estas será tu identidad de firma que pasarás al comando codesign. Este comando requiere macOS.
sh
security find-identity -v -p codesigningtxt
1. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Developer ID Application: Your Name (ZZZZZZZZZZ)"
1 identidades válidas encontradasOpcional, pero recomendado: crea un archivo entitlements.plist con los permisos necesarios para que el motor JavaScript funcione correctamente.
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</plist>Firma tu ejecutable usando el comando codesign y verifica que funcione.
bash
codesign --entitlements entitlements.plist -vvvv --deep --sign "XXXXXXXXXX" ./myapp --force
codesign -vvv --verify ./myappPara más información sobre la firma de código en macOS, consulta la documentación de firma de código de Apple. Para detalles sobre cómo crear ejecutables de un solo archivo con Bun, consulta Ejecutables independientes. Esta guía requiere Bun v1.2.4 o superior.