Access privileges

Hi!

I have an annoying problem since Xojo 2020r2 (that continues in 2021r1 unfortunately): When I compile an app on my Mac Mini M1, the app will run on this machine but not on my MacBook Pro (13" 2015); there is just a message saying I don’t have access privileges to open the app (see image). The same goes vice versa – if I compile the app an my MacBook it won’t open on my Mac mini.
Does anyone else experience this problem?

Bildschirmfoto 2021-04-10 um 08.18.24

Looks like the app isn’t code signed (good).

How would I do that? I never had to do it before … :thinking:

This is not the typical “computer can’t check for malicious code” error message. What happens if you do a right mouse-click?

For codesigning you buy a certificate from Apple. Then you buy AppWrapper. Finally you pray to the gods that everything works.

Where should I test the right-click?

I have never codesigned any app before (I just write them for personal use) and could use it on whatever computer I liked. The problem occured with Xojo 2020r2 for the first time. :man_shrugging:

You can do a right-click to test if you can open the app. Are you new new macOS?

Do a right-click on the app and select “Open”.

It’s the same error message with right-click open. (Does opening via double-click or right-click make any difference at all?)

@Beatrix: No, I’ve been using macOS for several years now. As I said, I have never had any problems before running and sharing apps I simply compiled with Xojo without ever being concerned with any codesigning.

Then this is NOT the usual “malicious code” warning and you foobared something else. And yes, since a couple of versions you can’t open non-codesigned apps. But you can open them with right mouse-click.

I wasn’t aware of that. But still, unfortunately it seems to have nothing to do with my problem.

So the reason you are running into this now has a few factors

  1. You’re now using an M1 Mac
  2. Apple requires that apps built for M1 be code signed, even if that means ad-hoc signing (which is what the IDE does because we don’t have access to your certificate)
  3. Ad-hoc signing is only good on the computer where it was done.

IIRC the command looks like this:

codesign -s -i - /path/to/yourapp.app
1 Like

Apple seems to have a separate department where they discuss how to make it even more annoying for hobby developers to write software. :roll_eyes:
I guess I have to compile a version on each computer then.

2 Likes

could it simply be the +x flag to allow execution?
change with chmod +x in Terminal pointing to the app’s executable.

also you can use codesign -d -vvv to the app to show signature.

The execution flag is already set, no problem there.

“codesign -d -vvv Buchkatalog.app” shows the following in the terminal (but I don’t know what that means):

Executable=[/Directories]/Buchkatalog.app/Contents/MacOS/Buchkatalog
Identifier=com.[xxx].buchkatalog
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20400 size=34444 flags=0x2(adhoc) hashes=1070+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=3003b4985e3dda4af5b35e64239fc13e00b9036d
CandidateCDHashFull sha256=3003b4985e3dda4af5b35e64239fc13e00b9036d612c1d344ecb103ffebad164
Hash choices=sha256
CMSDigest=3003b4985e3dda4af5b35e64239fc13e00b9036d612c1d344ecb103ffebad164
CMSDigestType=2
CDHash=3003b4985e3dda4af5b35e64239fc13e00b9036d
Signature=adhoc
Info.plist entries=15
TeamIdentifier=not set
Sealed Resources version=2 rules=13 files=13
Internal requirements count=0 size=12

When I read the error message, I’ve immediately noticed the “Du” and “Dich” words. Is Mac OS in German so familiar with its users?
(I could try myself, but I’d have to first find the context).

At least, in French, the strings are still using the 3rd form, gladly. That’s why I’m wondering whether this alert is really coming from the OS… :thinking:

There are at least two other ways to force-open your app on the other computer (unless Apple again changed the rules recently; I’m not using Big Sur often):

1: once you get the alert preventing the launch, go to System Preferences→Security&Privacy→General (tab). You should see a message, near the bottom, reporting the fact the app couldn’t be launched, along with a button “Open anyway”.
2: with a right-click (contextual click), choose “Open” while holding down the Alt/Option key (while you select the menu item). The alert should change to a question (are you sure you want to open this app?).

There is no security alert (and nothing in the system settings), only the above shown message.

Gatekeeper and notarisation are just security theatre. I tested this method on BS for distributing not-notarised apps and it worked fine: Distributing unnotarized Mac apps in a text file

And yes, macOS uses Du instead of Sie. But capitalisation is too hard because the Dich should have a capital D.

Then I’m really doubting you’re seeing a real Mac OS dialog.
What about opening the app with the Alt/Option key (with the contextual menu)?

Thanks for the confirmation.
Looks like familiarity is way more strong in Germany than in Switzerland/France. Beyond having learnt German in school and occasionally going in Germany, I’ve not much experience in living there (sadly).

@Beatrix: I will try that out later. Thank you!

By the way: “Du” und “Dich” are only capitalized in letters (one may discuss if a message dialog is something like a letter). After the “Rechtschreibreform” it was fobidden to capitalize it, but since a few years the Duden re-allowed it and now you may do it, but you don’t have to.

@Arnaud: But what else could it be? I’ve never seen it anywhere else than in (or instead of) my Xojo-compiled apps …