8 ms·
It's really sad that the only way to get macOS running in a virtual machine is with hacks and tweaks. I'm working on a cross platform desktop app written in Qt
by symlinkk 10y ago
It's really sad that the only way to get macOS running in a virtual machine is with hacks and tweaks. I'm working on a cross platform desktop app written in Qt and while it should theoretically work on macOS I haven't had a chance to actually try it, because I don't own any Apple computers. Apple is shooting themselves in the foot.
- _lce0 10y agoHonest question: do you need Apple hardware? Or Apple OS? Nowadays linux can certainly run on Apple hardware without any extra effort
- nardi 10y agoDoes he need OS X in order to test that his code works on OS X? Yes. Edit: macOS!
- pjmlp 10y agoNot everyone wants UNIX clones and there are toons of goodies on the OS X stack for doing desktop development for people willing to pay for it.
- pawadu 10y ago> Not everyone wants UNIX clones Technically OS X is a "UNIX clone" > and there are toons of goodies on the OS X You mean there is a Clippy for OSX?
- pjmlp 10y ago> Technically OS X is a "UNIX clone" Yes it is, but it doesn't share the UNIX culture, rather the GUI culture inherited from the Xerox PARC ideas that impregnated Apple and NeXT. The UNIX compatibility was a requirement for NeXT to get a foot in the market targeted by Sun and Irix workstations. Apple and NeXT never had a culture of pure CLI applications and daemons.
- wruza 10y agoRecently I familiarized myself with Qt, that is often presented as core windows/linux framework. Half of linux apps is Qt. Years ago I also knew GTK+ 2.x very well. The other half is GTK. From developers perspective, Cocoa+AppKit/UIKit are orders of magnitude more powerful and conception-rich, and that is easily seen in UX, once you get base skills in it (i.e. stop believing 'it cannot do that', because 'it' mostly can).
- _acme 10y agoTechnically, macOS is UNIX, not a "clone".
- developer2 10y ago> Apple is shooting themselves in the foot. How is that exactly? A huge majority of developers in your situation go out and buy a Mac; another hardware purchase in their pocket. This is part of their business strategy: developers are forced to participate, and by and large they do just that. It hurts you far more than it does Apple by refusing to participate. If you believe you're "hurting Apple" by not developing for their platform, think again. Even if your software is free to download, it's not Apple that suffers - it's your (potential) users; and they will blame you, not Apple, for the lack of support. Apple wins this battle every time. Welcome to the ecosystem. :)
- kxyvr 10y agoSo I'm one of those developers that got forced into buying a Mac Mini in order to test my software on MacOS. On one hand, you're correct that Apple "won" because I was pushed into spending $500 on their hardware. On the other hand, the parent is very much correct. Candidly, I'm still angry at Apple for making their ecosystem a pain in the ass to work with. Hell, I would have paid good money to buy a MacOS virtualization license because it screws up my work flow. Every other OS I work with I can virtualize on my laptop, which means that I can work remotely without internet such as on airplanes or in cheap hotels. For MacOS, I have to ssh into the box, but even that is a royal pain in the ass because there's a lot of the ecosystem that flat out doesn't work without the desktop open. Environment variables are set differently. Some programs like MATLAB will not run (Yes, you can run MATLAB on the console through an ssh session, but you have to VNC into the box first to make sure the desktop is running.) I hate it, which means that I flat out tell my customers not to use Apple hardware if at all possible. So, yes, they got $500 out of me, but I actively work to ensure they get less business in the long run because their ecosystem is a wreck. Just letting us virtualize MacOS would go a long way to fixing that problem.
- pjmlp 10y agoMac OS X is mainly a desktop OS and those of us that know Apple since the Mac Classic days don't have any issue with their desktop culture, which wasn't any different from the Atari and Amiga ones. I never sshed into them.
- WildUtah 10y agoYou should just upgrade your desktop machine to a retina iMac; they're the best machine out there for writing software.
- tf2manu994 10y agoWhy so?
- eberkund 10y agoYou get all the Unix goodness you would get from Linux combined with the commercial polish you're used to from Windows (even more so).
- kxyvr 10y agoParadoxically, I find it easier to port applications to Windows than MacOS. Due to the efforts from the Cygwin and MSYS groups, just about every build script ports naturally to Windows. As long as I use MinGW, the resulting application is native and can be distributed. On MacOS, there's a bunch of quirks that make it harder to port. Environment variables are different enough to require duplication in scripts (DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH, unless we need DYLD_FALLBACK_LIBRARY_PATH.) Certain utilities like gdb will not run because System Integrity Protection disallows them. In theory, we can sign gdb through a somewhat circuitous series of steps, except that this doesn't work if we want to ssh into the box. This requires turning off SIP, modifying some files, and then turning SIP back on. Technically, it's all possible, but it's one series of aggravations after another. Developing on a platform should not be this difficult.
- danieldk 10y agoOn MacOS, there's a bunch of quirks that make it harder to port. Environment variables are different enough to require duplication in scripts (DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH, unless we need DYLD_FALLBACK_LIBRARY_PATH.) I use CMake and it's a walk in the park. I just install the dependencies using Homebrew. CMake adds all the necessary include/library flags and builds the application bundle. It's even much easier than Linux, where building a package on the next Ubuntu LTS is always a bit of a drag (updated dependencies, changed library paths, etc.). Windows, in contrast, has been hell. Some of the dependencies of one particular project only compile with Visual Studio on Windows, not Cygwin/MingW. So, the only reasonable way to compile the application is to get VC++-compiled versions of zlib, libxml, etc. Since everything does not have canonical UNIX paths, you end up a lot of paths manually in CMake. And then you have to deal with things such as VC's standard library not having getopt, etc. For me, macOS is the most comfortable development environment by far. Except that they should put out a Mac Pro with replaceable GPUs again. I use CUDA a lot, so the only practical option is Linux.
- ianai 10y agoIt's how they enforce their monopoly. To the point of driving their market share down below mainstream.
- simonh 10y agoThe enforce their monopoly by having low market share. Got it.
- 72deluxe 10y agoUnder which area does Apple have a monopoly? Mac market share is tiny.
- ianai 10y agoThey're the only vendor for the Mac platform and one of two competitors for mainstream desktop OSes. Tell me they don't have market power. It's just...self limited to a niche of a bigger market.
- 72deluxe 10y agoMicrosoft also happens to be the only vendor of Windows. They get to dictate what goes in the OS, what is left out, what technologies they'll support, what APIs and development platforms will exist in the future (MFC, C++, .net). Is this a problem? Also my Hotpoint dishwasher at home has a circuit board that I can only buy from Hotpoint. Does this mean they are abusing their position? Should I expect to be able to run something else on my dishwasher? My car is a Volkswagen. I cannot take engine management software from a Chrysler and put it into my Volkswagen. Yet Volkswagen is a very large competitor in the "car" market. Does this mean that Volkswagen is abusing its position regarding the engine management software in my car? If I am right, you are saying that Apple has a monopoly of power inside its own operating system. Yes, I think that's correct! Where I work, my company has a monopoly on the features and timescale in the application software that we develop. I don't think anyone would ever call that a monopoly in the true sense of the word. Would you let me dictate what features go in your software? Why would Apple let anyone else tell them what should go in their software?
- bluejekyll 10y agoDepending on what your software does, Darwin might be a decent option to create a VM for tests. I assume this is what Travis-CI does for their "macOS" support.
- tavert 10y agoTravis-CI's mac builders run on real Mac Mini hardware hosted on MacStadium.
- macco 10y agoThere are a lot of tutorials how to install macOS in a virtual machine. Google it or search on Youtube. This works well for testing purposes