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

RAPID needs to be updated.
The developer of this app needs to update it to work
with this version of macOS. Contact the developer for
more information.

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

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

Any ideas???

a simple test of the app in the bundle would be to run the FILE command in terminal
something like
file /Applications/Contacts.app/Contents/MacOS/Contacts
note this uses the EXE way down inside the bundle NOT the bundle itself
you want an answer that says

Mach-O 64-bit executable x86_64

EDIT : Make sure you have things set like this

yeah I had THOUGHT it was set to 64bit (at least that is what I saw when I check yesterday)… but it wasn’t, which is strange because I have no need to run 32bit stuff anymore… Anyways I recompiled and sent Garry a new copy,

Thanks

Shit happens :stuck_out_tongue:

I’m seeing all sorts of weird messages on Catalina with your app @DaveS. The updated build you sent me will now launch (if I go to the macOS Security settings and allow it as you are an unsigned developer) but then I got this error message which I’ve never seen before…

Catalina is a s**t show.

Xojo really need to streamline getting apps to run properly on macOS. It’s a complete ball ache on Catalina.

I agree… If Xojo wants to be a “player” in the game, then it needs to provide the “soup to nuts” process… a compile should include all the signing, hardening, notorizing (sorry Sam)

Otherwise its only 1/2 what is needed… its like buying a car, and having to go to a 3rd party to get the gas tank

Xojo 100% need to fold in what Sam Rowlands is doing with App Wrapper. The IDE is just not good enough in its current state if you want to distribute your apps to other users on macOS.

They could just by default include Jurgs post build script which does a lot of this

That would be a simple one to do by default

I did see that… but doesn’t that have to be included in every project file?
as opposed to being a core Xojo feature/function?

What script is this?

Yes
But just like Xojo builds a default project with an App instance, Window and MenuBar when you start a project they could just as well add a new Build Automation item under the macOS target with that script already in it

There no reason why not

https://forum.xojo.com/35016-xojo-post-build-script-example-4u-codesign-dmg-creation-and-not

1 Like

this is also the same thing [I think]

http://www.jo-tools.ch/xojo/xojo2dmg/

1 Like

Thinking about this in fact anyone could create a template project that already includes that script

See http://docs.xojo.com/UserGuide:Project_Types#Templates