Recent

Author Topic: Questions from a Windows user  (Read 950 times)

hedgehog

  • Jr. Member
  • **
  • Posts: 91
Questions from a Windows user
« on: February 13, 2026, 07:54:07 am »
Hello, macOS developers!

I've created and maintain a small Windows app, but now I need to create a macOS version.

The problem is, I don't have a Mac (and I've never had any experience working with or programming on one).

Let me ask you a few questions:

1) What computer should I buy now? Does it have to be ARM64, or can I use an Intel one? My app isn't resource-intensive and consists of a single executable file.

2) How can I distribute the app? On Windows, I simply sent the .EXE file to the user.

3) I read the WIKI instructions for installing Lazarus on macOS, and it seemed non-trivial. What steps should I take in advance (which computer and operating system version to choose) to ensure the smoothest possible installation of Lazarus?

Thank you for your answers.

anse

  • Jr. Member
  • **
  • Posts: 52
  • Bugmonkey
    • HeidiSQL
Re: Questions from a Windows user
« Reply #1 on: February 13, 2026, 09:24:29 am »
I have recently tried some quirks to get macOS running in a virtual machine on Windows. Forget it, don't do it. It's just a great waste of time. Apple is successfully blocking its OS from running in a VM.

Buy yourself a cheap Apple hardware, e.g. a mac Mini m4 with 16GB RAM for ~600 EUR. Of course only if the project income allows that.
I did the same recently for HeidiSQL.

On the Lazarus 4.4 side, worth to mention:
* I recommend the aarch64 version, as the Intel side is for older systems only (i think 5 years+).
* before installing Lazarus, install the correct XCode command line tools, like stated on the download page on Sourceforge. This install can take some time. Don't expect to be ready in minutes. Take a coffee or two.
* in Lazarus, open your lpi file, and before you compile, go to the project options > Compiler options > Custom options, and add this conditional:
Code: Pascal  [Select][+][-]
  1. if TargetOS='darwin' then
  2.   CustomOptions := '-WM10.15';  

* deploy your compiled executable in an app bundle (which is a zip file with a predefined folder structure)
* if you only have an executable, it may be enough to have that in the folder "yourappname.app\Contents\MacOS\", plus an Info.plist in "yourappname.app\Contents\"
* look into my last macos release zip for getting an idea, you may also copy parts of the Info.plist: https://github.com/HeidiSQL/HeidiSQL/releases/download/v12.15.1.1/heidisql_12.15.1.1_macos_app.zip

There are many more options for that app bundle, which you might not need when you say you only have one executable and nothing else.

What can still be a problem when you distribute the app is that macOS warns about non signed executable, without code certificate. The user can explicitly ignore that warning with some effort, but that's only an option if you have a handful users only. If you want to sign your app, you need an Apple subscription for 99 EUR per year. The signing process is done with codesign on the command line.

hedgehog

  • Jr. Member
  • **
  • Posts: 91
Re: Questions from a Windows user
« Reply #2 on: February 13, 2026, 10:57:16 am »
Hi anse!

Thanks for the quick response!

If I buy a Mac Mini M4 (M3), will users of Macs with Intel processors be able to run my app?

How difficult is it for users to run an unsigned app? Will they have to make a deal with the devil to do so?  :)
(An Apple subscription is definitely not an option for me, as the revenue from the app would be minimal.)

anse

  • Jr. Member
  • **
  • Posts: 52
  • Bugmonkey
    • HeidiSQL
Re: Questions from a Windows user
« Reply #3 on: February 13, 2026, 11:24:56 am »
If I buy a Mac Mini M4 (M3), will users of Macs with Intel processors be able to run my app?

I don't think that's possible. The other way around should be possible. Old-style/Intel architecture runs on newer macOS systems via Rosetta emulation (if I understand right). Note we're talking about a platform from more than 5 years ago.

How difficult is it for users to run an unsigned app? Will they have to make a deal with the devil to do so?  :)

When running a downloaded app which was not not code-signed, there will be a warning dialog with two buttons, and then the user has to allow the app somewhere in the system settings. Intentionally annoying, and not so easy, but doable:
https://ordonez.tv/2024/11/04/how-to-run-unsigned-apps-in-macos-15-1/

I read that the shell command xattr -cr myexecutable or xattr -cr myapp.zip removes the quarantine attribute (recursively if it's a zip) so you can run the contained executables without Gatekeeper warnings or outright blocking, effectively bypassing that protection for this app. I just realize the instructions for installing Lazarus are exactly for that purpose?

Nimbus

  • Jr. Member
  • **
  • Posts: 86
Re: Questions from a Windows user
« Reply #4 on: February 13, 2026, 01:09:17 pm »
If I buy a Mac Mini M4 (M3), will users of Macs with Intel processors be able to run my app?

They will if you take the effort cross-compiling to x86_64. I got this on a M2 through downloading two copies of fpcupdeluxe (x86_64 and aarch64) and therefore installing separate FPC/Lazarus copy per arch into separate directories. Possibly not the most efficient approach but works - at least for FPC trunk/3.3.1, didn't try stable.

Then you can create "universal" binaries (essentially combining aarch64 and x86_64 binaries into one) that will run on both archs.
See https://wiki.freepascal.org/macOS_Big_Sur_changes_for_developers#Creating_a_universal_binary_for_aarch64_and_x86_64

anse

  • Jr. Member
  • **
  • Posts: 52
  • Bugmonkey
    • HeidiSQL
Re: Questions from a Windows user
« Reply #5 on: February 13, 2026, 01:18:40 pm »
Forgot to mention: as an alternative to buying Apple hardware, you can rent. For instance on https://rentamac.io/ but I recommend to compare prices with an AI. Not that cheap, hardware may be cheaper on the long term.

CM630

  • Hero Member
  • *****
  • Posts: 1641
  • Не съм сигурен, че те разбирам.
    • http://sourceforge.net/u/cm630/profile/
Re: Questions from a Windows user
« Reply #6 on: February 13, 2026, 06:15:33 pm »
If you do not need audio in the emulator, try this video:
https://www.youtube.com/watch?v=UkdBarxP4nw
If your CPU is not older than 5 years, you will most likely succeed.
Лазар 4,4 32 bit (sometimes 64 bit); FPC3,2,2

hedgehog

  • Jr. Member
  • **
  • Posts: 91
Re: Questions from a Windows user
« Reply #7 on: February 14, 2026, 12:20:15 pm »
Thank you all for your answers.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1178
Re: Questions from a Windows user
« Reply #8 on: February 16, 2026, 07:10:58 am »
I have recently tried some quirks to get macOS running in a virtual machine on Windows. Forget it, don't do it. It's just a great waste of time. Apple is successfully blocking its OS from running in a VM.

Buy yourself a cheap Apple hardware, e.g. a mac Mini m4 with 16GB RAM for ~600 EUR. Of course only if the project income allows that.
I did the same recently for HeidiSQL.

On the Lazarus 4.4 side, worth to mention:
* I recommend the aarch64 version, as the Intel side is for older systems only (i think 5 years+).
* before installing Lazarus, install the correct XCode command line tools, like stated on the download page on Sourceforge. This install can take some time. Don't expect to be ready in minutes. Take a coffee or two.
* in Lazarus, open your lpi file, and before you compile, go to the project options > Compiler options > Custom options, and add this conditional:
Code: Pascal  [Select][+][-]
  1. if TargetOS='darwin' then
  2.   CustomOptions := '-WM10.15';  

* deploy your compiled executable in an app bundle (which is a zip file with a predefined folder structure)
* if you only have an executable, it may be enough to have that in the folder "yourappname.app\Contents\MacOS\", plus an Info.plist in "yourappname.app\Contents\"
* look into my last macos release zip for getting an idea, you may also copy parts of the Info.plist: https://github.com/HeidiSQL/HeidiSQL/releases/download/v12.15.1.1/heidisql_12.15.1.1_macos_app.zip

There are many more options for that app bundle, which you might not need when you say you only have one executable and nothing else.

What can still be a problem when you distribute the app is that macOS warns about non signed executable, without code certificate. The user can explicitly ignore that warning with some effort, but that's only an option if you have a handful users only. If you want to sign your app, you need an Apple subscription for 99 EUR per year. The signing process is done with codesign on the command line.
Thanks.

 

TinyPortal © 2005-2018