AW: 64 bit desktop apps

Mark Waddingham mark at livecode.com
Thu Jun 8 10:39:56 EDT 2017


On 2017-06-08 16:19, Paul Dupuis via use-livecode wrote:
> On 6/8/2017 3:54 AM, Mark Waddingham via use-livecode wrote:
>> As a general request, can people let us know if they are relying on
>> externals on Mac which are currently 32-bit only?
> 
> Forgive the dumb question Mark, but how does someone tell whether
> externals are 32 bit or 64 bit?

You can do it from the terminal:

otool -hv <external>.bundle/Contents/MacOS/<external>

Will list what executable 'slices' are in the external's executable.

> In my first LC 8.1.3 64 bit build, I accidentally included
> revVideoGrabber in my inclusions (we don;t use it, it had been checked
> by accident). I discovered my OSX standalone would not even launch with
> NO error messages or crash report. Only by opening the App bundle to
> look around and double-clicking on the actual executable did I get a 
> OSX
> Terminal listing that showed error with LiveCode trying to start
> revVideoGrabber and failing. Removing that from the Inclusion list
> allowed creation of a Standalone that launched.

Could you file that as a bug? The S/B should ignore inclusions which are 
not available on the specified architecture and warn if there are 
mismatches.

> Then we noticed that the default text font or text flow is different in
> 8.1.3 from 6.7.11 and test in our splash screen and a licensing dialog
> is cut off under 8.1.3 vs 6.7.11. These are the details that add up to 
> a
> length migration time for large applications.

Yes - this is one thing which did change between 7 and 8 - unavoidably 
so as we moved to using CoreText to render text on Mac, rather than 
ATSUI.

> As another example, in testing our LC6.7.11 app under LC8.1.4, I
> discovered that the 'standaloneSaved pDestinationFolder' message 
> returns:
> 
>  'C:/Users/Paul/Desktop/TestProject' under LC6.7.11. Note that the name
> of the Standalone folder 'HyperRESEARCH' is not included and there is 
> no
> ending slash.
> 
> but
> 
> 'C:/Users/Paul/Desktop/TestProject/HyperRESEARCH/" under LC8.1.3, Note
> that the name of the Standalone folder 'HyperRESEARCH' is included and
> there is a trailing slash

There has been a bit of churn in the SB messages since 6.7 - various 
attempts to fix various bugs. If you file a bug with this particular 
case, Panos will be able to check whether there is still a problem 
there.

> 
> On this topic, I applaud LiveCode for having 64 bit support. I curse
> Apple for removing 32 bit support. I still have apps under LC6.7.11 and
> LC 5.5.5 that now need to migrate to LC8.1.4+ in the next 6 months and 
> I
> am really annoyed at Apple for doing this. To be fair, we've known 
> we've
> need to catch up to current LiveCode releases for a good long while, 
> but
> between business pressures to add new features and fix customer visible
> bugs, cleaning up code that needs fixing just due to engine changes
> unfortunately always falls to last place. Now, fortunately or
> unfortunately due to Apple's heavy handedness, it now moves to first
> place for us.

Actually, things are not quite as they might appear from my reading.

Apple will not allow 32-bit slices in *new* apps submitted to the Mac 
App Store from January 2018, and will not accept updates to any app 
containing 32-bit slices from June 2018:

   https://9to5mac.com/2017/06/06/ios-11-32-bit-mac-app-store-64-bit/

Versions of Mac OS *after* High Sierra will no longer support 32-bit 
slices in apps:

    
https://www.imore.com/after-high-sierra-32-bit-games-mac-are-kicked-curb-0

So, right now, if you don't put your app into the MacAppStore - there is 
no need to worry.

If you are looking to submit a new app to MacAppStore then if you don't 
get it in before January 2018, it has to be 64-bit.

If you have an app in the MacAppStore, or will have before January 2018, 
then you have until June 2018 to make sure that it is 64-bit.

Everyone has until September 2018 (projected release date, based on 
history, for the version of mac after High Sierra) to make sure their 
apps can be 64-bit.

In regards to where LiveCode stands:

   - LiveCode started supporting 64-bit Mac from 8.x

   - In 9.0 we will be making 64-bit Mac mode the default for both IDE 
and Standalones

   - If you app works in 9.0, then the only thing blocking you from 
turning off the 32-bit slice is whether you use externals which are Mac 
32-bit only.

   - If you app works in 8.0, then the only thing blocking you from 
turning off the 32-bit slice is whether you use externals which are Mac 
32-bit only, or use QuickTime.

Hopefully this makes things a bit clearer.

We need to do a bit more research before deciding on the date of axing 
32-bit slices in LiveCode - however when we do this will *only* affect 
the 'develop' version at the time (i.e. 8.x will continue to be 
universal, as will all maintenance versions up to the axe date).

Again - please do contact me (off-list is fine, and better perhaps!) if 
any apps you have (and are intending to update / need to run on versions 
of Mac into the future) do rely on 32-bit Mac externals which we 
(LiveCode) do not control. I'm more than happy to help provide at least 
guidance / options for migration and moving forward.

Warmest Regards,

Mark.

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




More information about the use-livecode mailing list