neutralinojs / neutralino.js

JavaScript API for Neutralinojs

Home Page:https://neutralino.js.org/docs/api/overview

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Creating a portable application package for macOS 10.15 Catalina

pierredewilde opened this issue · comments

Hi,

Following instructions to create a portable application package for macOS from
https://neutralino.js.org/docs/distribution/overview#creating-a-portable-application-package-for-macos

I got an error message on macOS 10.15.7
Screenshot 2022-04-18 at 10 08 15
Is it possible to add support for macOS 10.15 Catalina ?

Thank you,
Pierre

The supplied server binaries are built for MacOS 11 or later but the binary can be built for earlier OS's (eg: Catalina/Mojave/High Sierra). Possibly the devs don't have access to a Mac earlier than 11 to do the builds.

Need python3 installed on Mac (will use buildzri) then -

git clone https://github.com/neutralinojs/neutralinojs.git
--> Cloning into 'neutralinojs'...
cd neutralinojs
./scripts/bz.py
--> ascii splash
--> Compiling Neutralinojs...
--> OK: Neutralinojs compiled into ./bin/neutralino-mac_x64

If rebuilding a server binary from a standard release then the release client library (neutralino.js) should be OK to use otherwise both the server and client binaries need to be built. Building the client library is documented in the client repo under Developer FAQ - also uses git clone method.

Build on iMac i7 takes c. 40 seconds.

Note:
neutralinojs - server repo
neutralino.js - client repo

The above process is required for v4.5.0 onwards since the python based BuildZri method is used.

For versions prior to v4.5.0 bash scripting is used -

git clone https://github.com/neutralinojs/neutralinojs.git or just download zipped source

cd neutralinojs

bash build_macos.sh

Note: Adding .app to the binary will not produce a normal app package but will sort of work. The server binary is the executable file that would normally be found in the MacOS folder of a normal Mac App bundle which would then contain Info.plist, etc.