On 8/6/2019 10:10 PM, Mark Waddingham via use-livecode wrote:
On 2019-08-06 23:59, Paul Dupuis via use-livecode wrote:
For example, if you drag installed 5 apps, APP1, 2, 3, etc, that all
had a info.plist defintion for a .xyz file extension onto a virgin OSX
system out of the box and then double-clicked a .wyz file, which of
the 5 would open?
I *think* the answer to this question probably lies here:
https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/LaunchServicesConcepts/LSCConcepts/LSCConcepts.html#//apple_ref/doc/uid/TP30000999-CH202-TP9
The sections on 'Application Registration' and 'Preferred
Applications' are probably the most pertinent - although it isn't
entirely clear how the two mechanisms co-exist: registration suggests
the 'most recent' modification time wise app is stored against a file
kind, but preferred applications suggests that multiple apps are
stored but the newest CFBundleVersion wise is chosen.
Warmest Regards,
Mark.
Thank you again!
This section of that web page was exactly what I was looking for:
Preferred Application for a Document
For individual document files (whether specified by a file-system
reference or a URL with scheme |file|), the criteria are as follows:
1.
If the user has specified an explicit binding for the document (or
for the entire document type to which it belongs), the preferred
application is the one the user has specified.
2.
If the document has a filename extension (or if one has been
specified as a parameter to |LSGetApplicationForInfo|), find all
applications in the Launch Services database that claim to accept
documents with that extension.
3.
If the document carries a four-character file type (or if one has
been specified as a parameter), find all applications that claim to
accept files of that type.
4.
If more than one application has been found as a result of steps
2–3, apply the following criteria in the order shown:
1.
If the document carries a four-character creator signature (or
if one has been specified as a parameter), give preference to
any application that claims to accept documents with that
signature (typically the application to which the signature
belongs).
2.
Give preference to native OS X applications over those that run
in the Classic emulation environment.
3.
Give preference to applications residing on the boot volume over
those residing on other file-system volumes.
4.
Give preference to applications residing on a local volume over
those residing on a remote volume.
5.
If two or more versions of the same application have been found,
give preference to the one with the latest version number as
identified by |CFBundleVersion
<https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/plist/info/CFBundleVersion>|.
If two or more candidate applications remain after all of the foregoing
criteria have been applied, Launch Services chooses one of the remaining
applications in an unspecified manner.
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode