running platform-native by default

Mark Waddingham mark at livecode.com
Fri Mar 24 04:10:04 EDT 2023


On 2023-03-22 19:45, Phil Davis via use-livecode wrote:
> I'm using LC 9.6.8 to build some macOS Intel/Silicon ("dual-native") 
> apps.
> 
> Upon first launch of these apps on my Silicon test machine, I always
> get the OS dialog that says "To open '<my app>', you need to install
> Rosetta. Do you want to install it now?" I always click the "Not Now"
> button because I want the apps to run native by default, wherever they
> are running. (I'm avoiding installing Rosetta on that machine.)
> 
> I discovered I can avoid getting the Rosetta dialog this way: After
> installation and before first launch, do a "get info" on the installed
> app. In the macOS Info dialog, check AND uncheck the "Open using
> Rosetta" checkbox. Close the dialog and now the app will launch in
> native (Silicon) mode.
> 
> MY QUESTION:
> Is there a way to pre-set my apps so their first launch uses the
> engine that's native to the platform they're installed on? It seems
> like there ought to be a way. I can't expect all my users to jump
> through this manual hoop - and it just looks unprofessional to me.

Yes - you just need to tweak the plist - there's an 
LSArchitecturePriority (or similar!) entry which determines the order 
the slices in the executable are considered.

We made x86-64 the primary architecture in 9.6.8 to ensure by default 
people didn't potentially use an architecture (i.e. arm64) which hadn't 
been well tested (i.e. making it optin).

In 9.6.9-rc-3 (which is, hopefully, imminent!), we'll be removing the 
experimental tag from the arm64 slice and make the priority the default 
- i.e. on arm macs LC and its standalones will run using the native 
(arm64) architecture by default.

Warmest Regards,

Mark.

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Build Amazing Things



More information about the use-livecode mailing list