Mac Compatibility Problem

All flavors welcome.
Forum rules
Be kind.
Post Reply
TerryL
Posts: 66
Joined: Sat Oct 16, 2021 5:05 pm
Contact:

Mac Compatibility Problem

Post by TerryL »

I'm persuaded by Richard and Richmond's insightful comments that LiveCode Ltd has closed the door to any assistance resolving compatibility with MacOS 14 and Apple Silicon. Two years on, I'm still miffed the way they severed open source.

Is it time to turn on the Help > Donate menuItem and set up a "fund-me" page to hire a C++ engineer and pay for Mac/Win signing (about $100/yr each)?

@ tperry2x. We should provide info on our download web page about uninstalling and install/unsigned warnings. I'll duplicate your notice for my page. Something like this looks complicated:

OpenXTalk Lite is currently "unsigned". Your Operating System will present a warning when installing and running. It's OK.
Download Warning: choose [what?]
Uninstall an existing version of OpenXTalk Lite before installing a new version. [how?]
Mac Install/Run Warning. If stuck at the installer stage, right-click it and choose 'Open'. If past the installer, Apple > Settings > Security, turn on 'Allow apps downloaded from anywhere', then restart your Mac.
Win Install/Run Warning.
Linux Install/Run Warning. [are there any?]

Mac-Win signing is necessary to remove scary OS warnings. Here's a google share link for .txt on certification/signing I collected from the LC forum which may be useful. About $100/yr each. I'll offer some $ financial support. Terry
https://drive.google.com/file/d/1QZ7eO ... p=sharing
User avatar
tperry2x
Posts: 1539
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Mac Compatibility Problem

Post by tperry2x »

TerryL wrote: Sun Oct 08, 2023 8:53 pm Is it time to turn on the Help > Donate menuItem and set up a "fund-me" page to hire a C++ engineer and pay for Mac/Win signing (about $100/yr each)?
In theory it couldn't hurt, although I don't know how many people are actively following this at the moment.
TerryL wrote: Sun Oct 08, 2023 8:53 pm @ tperry2x. We should provide info on our download web page about uninstalling and install/unsigned warnings. I'll duplicate your notice for my page. Something like this looks complicated:
Hopefully not too bad. This might be a large leap to make, however I'm going to suggest that someone looking to program things may not be too phased by seeing an unsigned app. Hopefully.
TerryL wrote: Sun Oct 08, 2023 8:53 pm OpenXTalk Lite is currently "unsigned". Your Operating System will present a warning when installing and running. It's OK.
"If running MacOS 10.15 and above, your computer will first present you with an 'Application is damaged warning'.
You can ignore this by turning on 'Allow apps downloaded from anywhere'.
Secondly, when trying to launch OpenXTalk in MacOS 10.15 and higher, you may see an 'Application is from an unsigned developer error". To ignore this and launch OpenXTalk, right click the app and choose 'Open'
TerryL wrote: Sun Oct 08, 2023 8:53 pm Uninstall an existing version of OpenXTalk Lite before installing a new version. [how?]
On the mac, navigate to /Applications, scroll down to OpenXTalk and click it once so it's selected. Either drag it to the bin or press cmd & delete, then empty the bin to fully remove.

On Windows, just navigate to the C:\Program Files folder and delete the OpenXTalk folder. It'll ask you to authenticate as an admin user if necessary.

On Linux, navigate to /opt and delete the OpenXTalk folder. (You'll need to be an admin / sudo authenticated to do this), or you could run sudo rm -R /opt/OpenXTalk

On all the above platforms, the program can now be considered a 'portable app'. That is, it doesn't install anything drastic (except for a few configs and saved preferences), so it's not too much of a pain to remove.
TerryL wrote: Sun Oct 08, 2023 8:53 pm Win Install/Run Warning.
There isn't anything as alarming-looking as on the mac. Just because it installs to C:\Program FIles, you just need to right-click and choose 'Run as administrator' on the bat file. This is nothing out of the ordinary, especially for ICT-types like myself - we regularly see this kind of thing, so a sysadmin wouldn't be too put off by this as long as they could either vouch for it's security or put it behind a separate network vlan if at all concerned (there are bigger fish to fry at the moment with Windows itself).
TerryL wrote: Sun Oct 08, 2023 8:53 pm Linux Install/Run Warning. [are there any?]
No, perhaps this is the easiest system to install on. It's essentially the same process as above for Windows. Except instead of a .bat script it's a .sh (shell) script. You double-click the sh file and it'll ask you for an admin password when it runs in terminal. They might just have to right-click and choose "allow to run as a program", but this is standard-fare when installing things which aren't in a repository for the distro. Can we get it included with a distro, or we could even create our own fork - MX-Linux has respins and it would be trivial to include OpenXTalk in a dedicated distro, then put onto distrowatch - just to 'spread the word'?

We could always point people to the install videos if they have any qualms / concerns or are confused.
TerryL wrote: Sun Oct 08, 2023 8:53 pm Mac-Win signing is necessary to remove scary OS warnings. Here's a google share link for .txt on certification/signing I collected from the LC forum which may be useful. About $100/yr each. I'll offer some $ financial support. Terry
https://drive.google.com/file/d/1QZ7eO ... p=sharing
That's certainly very kind of you. I don't know if this would solve too much straight away though. To make the app signed, I think we'd need to recompile it as the signing is done at the compiling stage (and not just me hex-editing the application binary to change icons and version strings on Windows for example).
If being recompiled, this may lead to extra work having to be undertaken to link up all the necessary dependencies (as they have no doubt changed since Livecode 9.6.3 was current).

I don't know if anyone ever got any closer to getting the Windows versions to compile under modern hardware and updated dependencies? Paul may well know more on that front?

The other issue is that any apps people make will be unsigned, unless they too have a signing key, so they'd get the same warning about damaged apps when trying to run their own. And seeing this on the mac, perhaps they'd be under the mistaken impression that OpenXTalk didn't produce working apps. They might well be unaware of these MacOS issues if OpenXTalk itself was signed, as they wouldn't encounter any error until they produced their first unsigned standalone and tried to run it.
Perhaps we'd need a notification under the (standalone settings > mac) with a nod towards this. Because 'security' *cough* (also read as Apple-profit-margin)

It doesn't affect Linux, and puts up a standard confirmation dialog on Windows. Nothing as alarmist as what Apple presents to the end user.
User avatar
richmond62
Posts: 2776
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Mac Compatibility Problem

Post by richmond62 »

I have about 200 Euros earmarked in my Paypal thingy.

That is not the problem as such; the problem is making sure that Judas doesn't run off with the collective pot.
https://richmondmathewson.owlstown.net/
TerryL
Posts: 66
Joined: Sat Oct 16, 2021 5:05 pm
Contact:

Re: Mac Compatibility Problem

Post by TerryL »

Thanks tperry2x for the comments. I'll carefully review them. And while I have you, two notes.

Preference Space. Rather than increasing the card size, just add a new card to Preferences, name it "Options" or "More Choices" or "Extra", and add that name in the left side Nav field. Plenty of space now.

Font Filter. I did that but suggest modifying it. I originally coded it using Windows LCC 6.7.11 which lists many more fonts than Windows LCC 9.6.3. I was lazy and assumed the fontNames function would return the same list. Nope. The filter command is very fast and doesn't affect building the Text menu. And if you look closely at the code, there's a space after some of the names which filters out all the family fonts but lets the main font through. You might want to do the same with some Mac fonts. If you MUST have a filtered font, in msg box: set the textFont of fld 1 to "MS Gothic".

Here's revised font filter code tested in Windows 10 LCC 9.6.3 for stack revMenuBar. Sorry for the mistake.

Code: Select all

   filter lines of tFontNames without "amiri*"  --filter out 65 unnecessary fonts
   filter lines of tFontNames without "arial *"
   filter lines of tFontNames without "bahnschrift *"
   filter lines of tFontNames without "david clm *"
   filter lines of tFontNames without "dejavu*"
   filter lines of tFontNames without "frank ruehl clm *"
   filter lines of tFontNames without "microsoft*"
   filter lines of tFontNames without "ming*"
   filter lines of tFontNames without "miriam*"
   filter lines of tFontNames without "ms*"
   filter lines of tFontNames without "nachlieli clm *"
   filter lines of tFontNames without "noto*"
   filter lines of tFontNames without "segoe ui *"
   filter lines of tFontNames without "simsun*"
   filter lines of tFontNames without "source*"
   filter lines of tFontNames without "yu*"
   
User avatar
tperry2x
Posts: 1539
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Mac Compatibility Problem

Post by tperry2x »

Okay, this makes sense but probably best to mention to Richmond as he's doing some work on the preferences stack I believe.
What do you think about TerryL's suggestion above of making more sections rather than increasing the height of the window?

Re font filtering, I think Paul was asking about that one.
My apologies - I just knew that I hadn't added any functions to filter things, and wrongly assumed LC had.
We may want to adjust that as I know Paul probably didn't want to filter too heavily?
(again, could this be an option in the preferences to 'minimise list of available fonts' as it'll speed up searching for a particular one).

I mean, Noto sans for example, could absolutely sling it's hook and be banished from my menu.
Screenshot_2023-10-09_21-31-17.png
Screenshot_2023-10-09_21-31-17.png (89.24 KiB) Viewed 1989 times
User avatar
OpenXTalkPaul
Posts: 1574
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Mac Compatibility Problem

Post by OpenXTalkPaul »

I don't get this damaged app message, because I've used either unsigned (I stripped LC signature off of the binaries) or I've used self signed (that some advantages, like OS provided restore App state, but also had some issues with asking, like permissions problems for audio recording for example). You can ad-hoc your own certiicate and sign with it, you are then the signing authority. You can also development sign like 3 apps at a time with a free Apple dev account, or pay Apple $100/year and sign whatever as much as you like.

If you really don't give AF, you can make a copy Apple's Text Editor app and replace bundle's guts with your own and the OS will still see it as an Apple signed package (that's probably illegal, fraud or something? but it does work, tested from BigSur to Ventura).
User avatar
tperry2x
Posts: 1539
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Mac Compatibility Problem

Post by tperry2x »

OpenXTalkPaul wrote: Tue Oct 10, 2023 1:26 am I don't get this damaged app message...
Me neither. I've tried all I can think of to combat it.
From what those who have tested on MacOS have reported back, it seemed to be after I'd changed the plist. I'm sure it's related to that somehow(?).

I've even tried editing the plist with Apple's plist editor, rather than TextEdit, but Mic reported he was still seeing the error after downloading a revised Mac build.

I'd tried repairing permissions of the app before I put it into the dmg, I also tried stripping the MacOS metadata with the xattr command in case it was that.

The thing is, it's really hard for me to diagnose as I am never getting that 'application is damaged' message. I only get the one about it being from an unsigned developer.
I can't get the 'Application is damaged' error to show up, and I've tested it on MacOS X 10.9 (Mavericks), Mac OS X 10.15 (Catalina) and MacOS 12 (Monterey). Both in real hardware, and as VMs. I just don't get that message at this end.

So, I'm a bit stumped currently.

I'm obviously out of touch with how modern code-signing works, and I'm probably a bit of a dinosaur / old-skool when it comes to this. I suppose this is why I've been moving further away from the mac in recent years which had always been my go-to system of choice previously. I now favour Linux at every turn as the old mantra "it just works" seems to apply more to Linux than Apple as of late (In my opinion). Plus, Linux being as lightweight as it is, is able to breathe new life back into old hardware that would otherwise end up in landfill - so I'm all for championing the merits of Linux at every turn.

In fact OpenXTalk will be (already is?) the easiest IDE I think I've seen for at least Linux rapid application development. (Don't much like the term RAD tool, and prefer IDE), but everything else does not seem as user friendly. (unless anyone knows of anything worth linking to?)

Anyway, at the risk of veering off topic which I'm prone to do, the "Application is damaged" is a mystery. I even borrowed a colleague's mac here to test it on (their user account was obviously nothing out of the ordinary config-wise), but it worked without so much as a hiccup - it only asked for their password when copying to the applications folder as I'd expect. (Only because at some point, Apple seems to have tightened permissions of /Applications, so that only authenticated users can copy to this folder. Previously in 10.9 you can copy in and out of it unchallenged - or at least that's what I've observed).
User avatar
OpenXTalkPaul
Posts: 1574
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Mac Compatibility Problem

Post by OpenXTalkPaul »

I'm obviously out of touch with how modern code-signing works, and I'm probably a bit of a dinosaur / old-skool when it comes to this. I suppose this is why I've been moving further away from the mac in recent years which had always been my go-to system of choice previously.
Same, but I still need macOS for work, but by the time I retire (if I ever can), I expect every last vestige of 'Apple Fanboy' once in me will have withered away into the ether, and I'll surely be using some Linux distro as a daily driver (and I'm going to want an xTalk that runs on it).

I'm prone to going off topic too :D
User avatar
OpenXTalkPaul
Posts: 1574
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Mac Compatibility Problem

Post by OpenXTalkPaul »

Back on topic...
Have you looked at my plist to compare?

Does your .plist have a reverse DNS itentifier? (Ex. org.openxtalk.oxtlite)?

Are any other bundles included with the IDE (like revPDFprinter.bundle for example) signed/unsigned?

Is there a proper _CodeSignature folder with CodeResources file?

Also Apple's launch services doesn't always update, sometimes you can force it to parse your packages by zipping them and unzipping it again.

Here's a self signed and an completely unsigned Mac 9.63. binaries you could try:
https://github.com/OpenXTalk-org/OpenXt ... ents/MacOS
User avatar
OpenXTalkPaul
Posts: 1574
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Mac Compatibility Problem

Post by OpenXTalkPaul »

I made the unsigned version to get macOS revRecoding external working again (to force ask permission to use microphone), which it did, but since then I wrote an Extension Builder module that taps Apple AVaudioRecorder more directly and that can ask for permission on its own.
User avatar
tperry2x
Posts: 1539
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Mac Compatibility Problem

Post by tperry2x »

Edit: I've gone back and added this top line as a clarifier: None of this is me meaning to sound stroppy or anything. I promise I'm not in a mood!
OpenXTalkPaul wrote: Tue Oct 10, 2023 4:17 pm Have you looked at my plist to compare?
Yes, I did. I couldn't make much sense of it, but that's not a criticism. I don't think it's possible to comment in a plist file is it?
OpenXTalkPaul wrote: Tue Oct 10, 2023 4:17 pm Does your .plist have a reverse DNS itentifier? (Ex. org.openxtalk.oxtlite)?
No, I wasn't aware this was a requirement. I made the perhaps too simplistic assumption that I could just replace the word livecode with openxtalk.
OpenXTalkPaul wrote: Tue Oct 10, 2023 4:17 pm Are any other bundles included with the IDE (like revPDFprinter.bundle for example) signed/unsigned?
No, nothing additional.
OpenXTalkPaul wrote: Tue Oct 10, 2023 4:17 pm Is there a proper _CodeSignature folder with CodeResources file?
I didn't delete anything so it should all still be there. Does anything in these also need changing as I won't have touched them.
OpenXTalkPaul wrote: Tue Oct 10, 2023 4:17 pm Also Apple's launch services doesn't always update, sometimes you can force it to parse your packages by zipping them and unzipping it again.
Is there a command you can run just to parse the package again, instead of zipping & unzipping? I'm keen to keep install steps to a minimum.
OpenXTalkPaul wrote: Tue Oct 10, 2023 4:17 pm Here's a self signed and an completely unsigned Mac 9.63. binaries you could try:
https://github.com/OpenXTalk-org/OpenXt ... ents/MacOS
Is this just to compare differences? I'll try and have a look tomorrow at some point when I'm in front of a mac again.
User avatar
OpenXTalkPaul
Posts: 1574
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Mac Compatibility Problem

Post by OpenXTalkPaul »

Have you looked at my plist to compare?
Yes, I did. I couldn't make much sense of it, but that's not a criticism. I don't think it's possible to comment in a plist file is it?
Hmm, you probably can? plist is xml. But I've never tried to. If you use XCode to add things to plist it gives you the meaning of each key (in fact you can't just search for a key, they're only listed by what the key does.
Does your .plist have a reverse DNS itentifier? (Ex. org.openxtalk.oxtlite)?
No, I wasn't aware this was a requirement. I made the perhaps too simplistic assumption that I could just replace the word livecode with openxtalk.
Well I suppose it's not a requirement(?) but you are modifying an app that already had one so you'll want to change it to your own, the macOS system does uses it for various things like sandbox files for your app (if you're app supports it). Like you know when your laptop battery dies while you're still working something and you reboot later and macOS asked if you want to reopen that app and those files you were working on? It's related to that sort of thing.

Are any other bundles included with the IDE (like revPDFprinter.bundle for example) signed/unsigned?
No, nothing additional.
I don't mean did you add things, what I mean is when you tried doing it unsigned, you stripped the signing from all of the binary executables within the bundle, which can (and in our case does) contain application extensions (Externals like the revDB stuff, or revPDFprinter.bundle), and if code signed you did the deep signing (where it recursively drills down through sub directories)?
There's a good sight with lots of info and tools for this sort of thing:
https://eclecticlight.co/2020/05/27/a-u ... arization/
and here:
https://www.objc.io/issues/17-security/ ... e-signing/
Is there a proper _CodeSignature folder with CodeResources file?
I didn't delete anything so it should all still be there. Does anything in these also need changing as I won't have touched them.
See here:
https://developer.apple.com/library/arc ... outCS.html
I just modified the preexisting to OXT's info and it seems to be OK, or at least I haven't had a problem.

Also Apple's launch services doesn't always update, sometimes you can force it to parse your packages by zipping them and unzipping it again.
Is there a command you can run just to parse the package again, instead of zipping & unzipping? I'm keen to keep install steps to a minimum.
No (although I'm sure you can do stuff with launch services, launchctl, in the terminal) the end user wouldn't need to do this. I just meant this is a trick for when you're making changes to a app's bundle (plist, icons, etc. ) and you want the Finder to show the results of those changes, you have to get Launch Services to update it's info about the bundle (it's a bit like macOS 9's 'Rebuilding the Desktop file' back in the day.)
https://github.com/OpenXTalk-org/OpenXt ... ents/MacOS
Is this just to compare differences? I'll try and have a look tomorrow at some point when I'm in front of a mac again.
One is signed (either with my ad hoc certificate or it might still be LCC's on the Repo version) and one is completely unsigned, other than that they're the same as LCC 9.6.3 Mac IDE executable. If you did the same then just ignore this comment.

I'm just trying to think of things that might effect it, since you said you already did the gatekeeper trick, removing the extended attributes:
Launch Terminal and then issue the following command:

Code: Select all

xattr -cr /path/to/application.app

The -c flag removes all attributes, whereas -r applies recursively for the entire targeted .app directory contents.

I can't remember if I disable gatekeeper first, which looks like this:

Code: Select all

sudo spctl –master-disable
Check the status of Gatekeeper by typing in the following command and pressing Enter.

Code: Select all

spctl --status
User avatar
richmond62
Posts: 2776
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Mac Compatibility Problem

Post by richmond62 »

BBEdit cuts the mustard re reading pList files:
-
Screen Shot 2023-10-11 at 10.35.33.png
Screen Shot 2023-10-11 at 10.35.33.png (417.74 KiB) Viewed 1908 times
-
https://www.barebones.com/products/bbedit/

And despite appearance to the contrary, it is free. 8-)
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 1539
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Mac Compatibility Problem

Post by tperry2x »

Thank you Paul for all that info.
I'll read through and try to digest. The whole process seems a bit like a cluster**** if you know what I mean.

Interestingly, Mic has downloaded my last mac build and reports it works with no issues, and I haven't touched the plist since.
I don't know, I'll just stick to editing stacks in future and not touch the plist as it seems like a dark art of some kind.
User avatar
tperry2x
Posts: 1539
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: Mac Compatibility Problem

Post by tperry2x »

richmond62 wrote: Wed Oct 11, 2023 7:37 am BBEdit cuts the mustard re reading pList files
Thank you Richmond. I had used BBEdit a lot, and it's always my go to editor of choice on the mac. Ever since textedit started to be ambiguous about it's dialogs:
Screenshot 1.png
Screenshot 1.png (79.91 KiB) Viewed 1907 times
What is wrong with "Don't save", "Cancel Close" or "Save Changes" ?
User avatar
richmond62
Posts: 2776
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: Mac Compatibility Problem

Post by richmond62 »

What is wrong with "Don't save", "Cancel Close" or "Save Changes" ?
The problem is that the people at Apple are a bit like Paris Hilton in at least 2 ways:

1. They consider themselves the leaders of fashion.

2. They are vacuous to the extent that they do not actually bother to think about the effect of their decisions on others.

https://youtu.be/tqXrAHuLksU

"I'm not a dumb blonde. I was just very good at pretending to be one." Paris Hilton.
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1574
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Mac Compatibility Problem

Post by OpenXTalkPaul »

For BBEdit (and likewise TextWrangler) there's also a support file (on GitHub somewhere) for recognizer/formatter for working with LCS, LCB, .lc server scripts. I still like (no longer supported) Atom, use its 'search in directory' capability and a 'Split Diff' (add on) for that a bunch.
Post Reply

Who is online

Users browsing this forum: No registered users and 28 guests