identifying macOS folders that are considered to be files?

kee nethery kee.nethery at elloco.com
Tue May 28 17:31:23 EDT 2019


Wow, way more complicated than I imagined.

From: https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/AboutBundles/AboutBundles.html

How the System Identifies Bundles and Packages
The Finder considers a directory to be a package if any of the following conditions are true:

	• The directory has a known filename extension: .app, .bundle, .framework, .plugin, .kext, and so on. 
	• The directory has an extension that some other application claims represents a package type; see Document Packages. 
	• The directory has its package bit set.


So to translate:
	We know it when we see it because we have a list of the ones we use.
	The application that created it defined a package/bundle type in its Info.plist file. Did you search the plist files for all the applications that everyone has on their computers to find all the file types that are not folders? good luck
	The folder / package has its package bit set (which doesn’t seem to be accessible with terminal commands as far as I can tell).


I’m exploring terminal commands to see if this mythical package bit can be detected for directories that appear to have a file type on them.

What a mess.

Kee Nethery


> On May 24, 2019, at 11:45 PM, Kee Nethery via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> Mark, Trevor,
> 
> Thank you. Will test tomorrow. Will report back. Thanks again
> 
> Kee Nethery
> 
>> On May 24, 2019, at 6:53 PM, Mark Waddingham via use-livecode <use-livecode at lists.runrev.com> wrote:
>> 
>> I’m pretty sure bundles always have a PkgInfo file in them too - so you should (alternatively to using LCB) use ‘there is a file ...’.
>> 
>> Warmest Regards,
>> 
>> Mark.
>> 
>> Sent from my iPhone
>> 
>>> On 24 May 2019, at 18:06, Trevor DeVore via use-livecode <use-livecode at lists.runrev.com> wrote:
>>> 
>>> On Fri, May 24, 2019 at 7:35 PM kee nethery via use-livecode <
>>> use-livecode at lists.runrev.com> wrote:
>>> 
>>>> Is there any way for LiveCode to tell me that a macOS folder that gets
>>>> listed with “the folders” is actually treated as a file? For example, .app
>>>> is a file where View Package Contents is an option but the OS treats it as
>>>> a single thing. Same with .numbers, .pages, and various other “files”. They
>>>> can be opened up and the contents can be viewed.
>>>> 
>>>> Is there any way to know which “folders” are actually treated by the OS as
>>>> files?
>>>> 
>>> 
>>> If you don't get any pure LCS solutions you could use an extension. macOS
>>> has an API for this:
>>> 
>>> https://developer.apple.com/documentation/appkit/nsworkspace/1529991-isfilepackageatpath?language=objc
>>> 
>>> I just tested it in my macOS test bed for extensions and it seems to work.
>>> It is the NSWorkspaceIsFilePackageAtPath() handler in this file:
>>> 
>>> https://github.com/trevordevore/lc-macos-toolset/blob/master/NSWorkspace/nsworkspace.lcb
>>> 
>>> -- 
>>> Trevor DeVore
>>> ScreenSteps
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list