There is a GOOD NEWS update to this post HERE
Apple OSX….the nightmare that is….
So, it is late in 2018. 7 years since I first started building QuickHash GUI for Linux users, to make it easier to hash files on that platform. A couple of years later came a version for Windows, and about 4 years ago, I also added OSX into the mix. And now, I am starting to wish I had never bothered with that last hurdle.
OSX is, quite simply, a nightmare to develop on unless you use Xcode, and only Xcode, or swift, or C. As many of you might know, QuickHash is made using Lazarus and it is that IDE that has enabled me to fairly easily cross-compile over the years, though OSX has always been the biggest challenge, I would get there in the end. However, it seems to be getting harder and harder, and is wasting more and more of my time, to compile a stable release for OSX, to the extent I am thinking of giving up support for that OS. And I am not alone. Others are saying so too
Hurdle one is the very fact that OSX are at, or about at, the point where OSX will refuse to run any 32 bit applications. Moderately understandable but forcing developers to 64-bit or else is a bit extreme and adds one layer of difficulty that I haven’t had to address before.
Hurdle 2 is the requirement for code-signed applications by developers with App Store certificate. This is more understandable because security is a big issue, and Windows have gone down this route as well in as much as they expect code-signed applications on their OS. But what it has meant is that if you are an open-source coder, you either have to just give users the code and tell them build the programs themselves, or YOU have to buy a code signing certificate to code-sign your compiled executables that you then give away for free! After much debate in summer of 2017 I went down this route and this time last year in 2017 I bought a certificate and went through all the hoops of obtaining it, because I was getting reports from OSX and Windows 10 users that they could not run QuickHash because of it not being signed. So £350 later and several evenings working out how to recoup those costs, I’ve been making code signed copies available since then, and about half of those code-signed purchases are from OSX users. However, even code signing a finished application is not that simple with OSX. QuickHash is not code-signed with one of apples AppStore certificates. It is code signed by a DigiCert certificate. Because of that fact alone, I can’t put QuickHash in the AppStore, even though it is code signed. And OSX High Sierra and Mojave will still whinge about it even though it is code-signed, just because it is not code signed by an Apple certificate! I’ve spent hours replying to users to explain just that after they have purchased the code-signed copy for £1.99 for OSX. And I am getting tired of it.
Hurdle 3 is the interface difficulties. Creating a GUI for OSX using anything other than Xcode is not as easy as you might think. I’ve been trying to compile v3.0.3 for the last few days on and off and every time I give up because I cannot get it to work properly on OSX. The Carbon widgets is not 64-bit enabled. The Cocoa widgets is 64-bit enabled but buggy in the stable releases of Lazarus. In RC2.0 of Lazarus it is better but still not good enough and I can’t add some of the required packages because they are 32-bit! So either the interface is wobbly or not showing correctly, or it won’t compile a 64-bit application bundle properly, or it can’t use one of the packages because they are not 64-bit packages and now I am using Lazarus 64-bit. Or any number of other god dam irritations that OSX places on my life.
So what all this is generally building up to a long winded way of saying that I may well drop support for OSX unless I get a volunteer who wants to help me at build and compile time with regard to OSX releases. It has simply become too time consuming and frankly, just too pathetic for me to be bothered with OSX anymore. If Apple want to enforce a million rules of compliance and create an App Store of elitism where only the best and wealthiest and most supported development teams can thrive, then I might just let them have it. I am one guy. I have one other guy on the team who builds Debian packages for Linux for me. That’s it.
So, if you are a well respected open-source developer with OSX coding experience and Lazarus\Freepascal experience (its basically Delphi) you might enjoy being part of this rather small team, with a rather large and quite successful open-source, cross platform, global product. If you want to check out the project first and have a look, head over to GitHub and see what you think. Comment below or e-mail me if interested.
Smith, out.
Please do not drop OSX support for your app. Unfortunately I’m not a developer, but I was able to test the latest unsigned version ( 3.0.2) and get it running. Getting the unsigned app to run on OSX Mavericks (10.14.2) is a pretty straight forward process.
1) Download the QuickHash app. and place it in your Downloads directory.
2) Open the downloaded ZIP file and you will find it creates a directory named AppleOSX. Open AppleOSX and you will see the QuickHash app.
3) Open the terminal app and type the following to add the execute permissions to the app:
chmod +x ~/Downloads/AppleOSX/QuickHash.app/Contents/MacOS/QuickHash
4) Close the Terminal app.
5) Using Finder, right-click on the QuickHash app and select View Package Contents.
6) You’ll need to browse down several levels to find the application. First open the Contents Folder, then open the MacOS folder located in the Contents folder and you’ll see the QuickHash file
7) Ctrl-click on the QuickHash app and choose open. You will be given a warning like: “QuickHash” is a Unix app downloaded from the Internet. Are you sure you want to open it?”
8) Select Open to start the app. It will open two windows, one containing a text console, the other containing the application. Go ahead and close both of those windows for now.
9) At this point, the app was added to your security exception list and you will be able to open it just like any other app.
10) Switch back to the Downloads directory then open the AppleOSX directory where you’ll find the QuickHash application
11) You can now launch the QuickHash app as you would any other app. If you’d like, you can now drag the QuickHash app file to your Applications directory so it will always be available for you to execute.