Chromium Embedded Framework.framework is this a valid framework?

The framework layout doesn't meet Apple's Bundle Guidelines. Everything is in the root of the bundle, with no "Versions" folder.

I suspect it works because the main executable and the "Resources" folder are in the root.

However Code sign doesn't complain about it either, unlike some other incorrectly formatted bundles.

I ask because the documentation for bundle structures hasn't been updated since 2017 (https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1) and I am wondering if there is newer documentation or perhaps Framework bundles no longer need to organized according to that documentation.

Answered by DTS Engineer in 680417022

Everything is in the root of the bundle, with no "Versions" folder.

This is a flat framework. It’s standard operational procedure on iOS and friends but most unusual on macOS. It does work, at least in most cases, but it puts you far off the beaten path and thus I recommend against it. My current advice for macOS frameworks is:

  • Use the versioned framework structure

  • Use a single version named A

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

Everything is in the root of the bundle, with no "Versions" folder.

This is a flat framework. It’s standard operational procedure on iOS and friends but most unusual on macOS. It does work, at least in most cases, but it puts you far off the beaten path and thus I recommend against it. My current advice for macOS frameworks is:

  • Use the versioned framework structure

  • Use a single version named A

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Chromium Embedded Framework.framework is this a valid framework?
 
 
Q