Unversioned frameworks OK on macOS?

I have always believed (perhaps becomes I am an old-timer working on OS X since before these i-things came along), that while frameworks on iOS are flat, frameworks on macOS are always versioned. In particular, they have a Versions directory, and any siblings of Versions are symlinks to Versions/Current/sibling.

However, having just downloaded a thirty-party framework that we bundle, it is flat. There is no Versions directory, and at everything at top level is a real file and not a symlink. This has caused our code for resigning as needed to fall over because it expects a Versions directory.

Obviously, we can can update our code to deal with a flat framework (or, I suppose, de-flatten the framework if we want). But before I do, is such a structure officially supported? I've never seen it before, so I wanted some confirmation, and some Googling didn't find any references to unversioned frameworks on macOS.

is such a structure officially supported?

It works, but I personally discourage it. macOS frameworks have historically used the versioned bundled format and using the shallow framework format just sets you up to hit weird edge cases.

Having said that, I don’t think it’s officially discouraged (although I’m working on fixing that :-).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Unversioned frameworks OK on macOS?
 
 
Q