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