Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

How to make my program work for older versions of macOS?



  • I have written a simple Qt program for students in my class and I deployed the simple program by using my Mac computer (macOS Catalina, version 10.15.3). When students downloaded and ran my program on their Mac computers, they often received an error message telling them that their computer OS was older than 10.15.3 and needed upgrades. While some students are able to upgrade their computers to 10.15.3, many other students are unable to accomplish that.

    My question is: What would be best way for me to solve this issue?

    Any feedback would be greatly appreciated!


  • Lifetime Qt Champion

    Hi,

    Any chances that these students are locked to High Sierra ?

    The "simplest" would be to have for example Parallels and build your application on an older version of macOS with the corresponding latest version of Xcode.



  • @SGaist

    That is probably right for those students. However, I do not have access to those students' computers.

    Would it be possible that I can set my application so that it would work back to a certain previous old version of macOS? If so, what should I do? Should I add a certain code in my Qt program? Or should I simply use an older version of Qt to compile and deploy my program?

    Ideally speaking, I would like to compile and deploy my application so that most students can simply download my application and run it on their computers, without going through the hassle of upgrading their computer OS.

    On the other note, if the "simplest" way is to build my application on an older version of macOS, I am happy to do so. I think I can try to downgrade my Mac computer to an older version of macOS (e.g., High Sierra or Mojave), install an appropriate version of Qt what works for this old version of macOS, and then compile and deploy my application from there. When completed, I can then upgrade my computer to the current latest version of macOS.



  • @SGaist

    I just searched the keyword "Parallels" and found that it was actually a proprietary software allowing people to work on a virtual machine environment. Are you saying that I could use the Parallels software to compile and deploy my Qt application on a simulated, previous, older version of macOS?

    If so, that would be perfect.

    Can you confirm that I have understood your suggestion correctly?


  • Lifetime Qt Champion

    Use Parallels to create a virtual machine with an older version of macOS, install your development stack and then build your application and use macdeployqt to prepare the package for your students.


  • Lifetime Qt Champion

    Hi
    Just as a note.
    Parallels is a program that allows you to run other systems (windows, macos, linux ) in a window.
    The Os thinks its run on a real computer. This we generally speak of this as virtualization.

    Parallels is the best tool on MacOs as far as i know but there is also
    VirtualBox which is free ( also as in free beer)
    https://uk.pcmag.com/system-performance/18779/oracle-vm-virtualbox-for-mac

    But if you can buy Parallels, its recommanded as its much nicer than VirtualBox in many ways in my experience from
    seeing my co-worker use both on his mac.

    But you cant beat the price for virtualbox :)

    ps. with Parallels/virtualbox you can also check out linux or have a windows installed or
    any kind of mixed setup. I have all my development in such virtual machines as it makes it so easy
    to have different versions and/or try out stuff.
    The only downside is the sizes. Say you install a Windows 10, it will still take up as much space as it normally does so
    virtual machines are quite a harddisk space hungry usage.



  • @mrjj and @SGaist ,

    Thank you so much for your comments. I have downloaded a trial version of Parallels and am currently teaching myself on how to use it. I have successfully created a High Sierra on my Catalina. I also installed Qt on the High Sierra virtual machine. As you predicted, the performance of the High Sierra virtual machine is very slow, with a lot of lags between keystrokes and screen refreshing.

    I will try to build and deploy my Qt application from there, and see if I can make it to work properly.

    Please allow me a few days to give it a test.


  • Lifetime Qt Champion

    What are your main machine specifications ?


  • Lifetime Qt Champion

    Hi
    Unless its a very old laptop you have
    it should no lag that much in side the virtual macOS.

    Did you intstall the tools ?
    https://download.parallels.com/desktop/v14/docs/en_US/Parallels Desktop User's Guide/32792.htm

    Those are helper drivers and sometimes helps performance.



  • It worked!!!

    After the installation of Parallels Toolbox (and removing the Windows 10 virtual machine that I don't need), it frees up more space for my High Sierra virtual machine. The lag is very minimal now.

    I now have both the High Sierra virtual machine and the original Catalina in my Mac computer. I then build and deploy my Qt application on my High Sierra virtual machine. After some testing, it appears that my Qt application is working on both High Sierra and Catalina, without asking the user to perform any upgrades of their OS.

    I am so happy.

    Thank you ALL SO MUCH!


  • Lifetime Qt Champion

    Hi
    Welcome to the wonderful world of virtualization :)

    Do note the snapshot feature.

    https://kb.parallels.com/5691

    Its sometimes godsend as it save the complete state of the virtual machine and you can revert
    to that state with a click of a button.
    So take a snapshot, try upgrade something or change settings and if it turns out bad, its
    just a click to get back to where you were before. No fuss, no stress. just click :)


Log in to reply