App won't run under Catalina

The other day I sent Garry a version of an app I am writing.
Currently it is macOS only, compiled with 2019r1.1 and 64bit

When he attempts to run it (under Catalina) he gets an error

Problem is… I don’t have “more information”. it runs perfectly in Mojave

Any ideas???

it does use these declares

  Declare Function NSClassFromString Lib "Cocoa" (s As CFStringRef) As Ptr
  Declare Function NSSelectorFromString Lib "Cocoa" (s As CFStringRef) As Ptr
  Declare Sub setAllowsAutomaticWindowTabbing Lib "Cocoa" selector "setAllowsAutomaticWindowTabbing:" (cls As Ptr, ena As Boolean)
  Declare Function respondsToSelector Lib "Cocoa" selector "respondsToSelector:" (p As Ptr, sel As Ptr) As Boolean
Declare Function undoManager Lib "Cocoa" selector "undoManager" (obj_id As Integer) As Ptr 
Dim pnt1 As Ptr = undoManager(Self.Handle) 
Declare Function canUndo Lib "Cocoa" selector "canUndo" (receiver As Ptr) As Boolean 
Declare Sub CGContextSetLineDash Lib "Cocoa" ( context As Integer, phase As Single, lengths As Ptr, count As UInt32)
Declare Function NSClassFromString Lib "Cocoa" (classname As CFStringRef) As ptr
Declare Function dragCopyCursor Lib "Cocoa" selector "dragCopyCursor" (cls As ptr) As ptr
Declare Sub push Lib "Cocoa" selector "push" (obj As ptr)
Declare Function NSClassFromString Lib "Cocoa" (classname As CFStringRef) As ptr
Declare Function dragCopyCursor Lib "Cocoa" selector "dragCopyCursor" (cls As ptr) As ptr
Declare Sub pop Lib "Cocoa" selector "pop" (obj As ptr)
Declare Function objc_getClass Lib "libobjc.dylib" ( name As CString ) As ptr
Declare Function sharedWorkspace Lib "AppKit" selector "sharedWorkspace" ( obj As ptr ) As ptr
Declare Function selectFile Lib "AppKit" selector "selectFile:inFileViewerRootedAtPath:" ( obj As ptr, fPath As CFStringRef, rootFullPath As CFStringRef ) As Boolean
Declare Sub setTitleWithRepresentedFilename Lib "Cocoa" Selector "setTitleWithRepresentedFilename:" (NSWindow As Ptr, filePath As CFStringRef)
Declare Function NSFullUserName Lib "Cocoa"  As CFStringRef
Declare Sub CGContextSetLineDash Lib "Cocoa" ( context As Integer, phase As Single, lengths As Ptr, count As UInt32)

This is just a list, and not all the code the calls or uses them

Declare Function objc_getClass Lib "libobjc.dylib" ( name As CString ) As ptr

I had a situation where using the “libobjc.dylib” instead of the general “AppKit/Cocoa” name was causing a crash. It could quite possibly be an issue. Off the top of my head I think you want AppKit here, but that may not be right. You could experiment or wait for someone who knows for sure to comment.

The other thing I can think of, did you sign and notarize it?

It needs to be 64bit, code signed, hardened, and notarised.
Witha choccy topping

That message usually implies that some part of it at least is 32bit

I thought an end user had the option to override that?
This was just to show someone a proof of concept I had.
I haven’t had time to go thru all the posts about signing, hardening etc…
And no I do not have the resources for AppWrapper…

Are you sure having built a 64bit app?

not an a computer, just from memory: what do you get for this check?

lipo -archs /path/to/myapp.app/Contents/MacOS/myapp

isn’t checking the “build 64bit checkbox” in Xojo enough? [honest question]

that should be as far as Xojo code goes

not the .app (Bundle), but the executable inside it, probably: /path/to/RAPID.app/Contents/MacOS/RAPID

It should be.
This would be just verifying that the built executable correctly is indeed being (and recognized as) x86_64.
Who knows… Xojo is weird at times. So in that sense: sorry for such a silly question :slight_smile:

If the executable itself is correctly recognized as x86_64, then the cause has to be somewhere else.

I’ve just built, up/downloaded a simple (unsigned) .app with Xojo 2019r1.1 - with all that “right-clicking, yes - allow to open” it’s worked as expected on Catalina. And that even though the XojoFramework is still both i386 and x86_64. So that can be ruled out, too.
What else could be included in your .app that “needs updating”? Do you have bundled helper apps? A modified Info.plist?

If you can share a link to this .app, someone with Catalina could try it… and either report if everyone gets the same error, and/or if someone can figure out which part is causing it. I just guess that you don’t want or can’t share your “proof of concept”, which makes it more difficult to think of possible and “not-so-obvious” causes.

[quote]i386[/quote] is what it returns

thats a 32 bit app

yup. you’ve built a 32bit app :wink:
So this is the expected result on Catalina…

no… straight Xojo with the above mentioned declares

Uh… well… I have 64bit checked… but I will try once again

And you’d think with all the hype about 32vs64, that an error like is being displayed would be more specific

Doh!
when I checked yesterday after Garry said it didn’t run… it was marked 64bit (I swear)

Today when I checked again… it was set to 32bit… so Thanks to all… and let me try this again

It was downgrading automatically, without notification before. :wink: