Skip to content

Compila tu ejecutable usando el flag --compile.

sh
bun build --compile ./path/to/entry.ts --outfile myapp

Enumera 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 codesigning
txt
1. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Developer ID Application: Your Name (ZZZZZZZZZZ)"
   1 identidades válidas encontradas

Opcional, 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 ./myapp

Para 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.

Bun por www.bunjs.com.cn editar