Mobile Dev

Fix Xcode 26 Shallow Frameworks: TensorFlowLiteC XCFramework

Resolve Xcode 26 error with shallow TensorFlowLiteC.xcframework on macOS. Rebuild using Bazel ios_fat config for unshallow bundle with proper Versions/Current/Resources/Info.plist structure. Step-by-step guide to fix iOS-style frameworks.

1 answer 1 view

Xcode 26 on macOS does not allow shallow frameworks: How to fix TensorFlowLiteC.xcframework built as shallow bundle (iOS-style)?

I encountered this issue in an old app. The TensorFlowLiteC xcFramework has the following structure:

TensorFlowLiteC.framework/
├── Headers/
├── Info.plist ← shallow bundle (iOS-style)
├── Modules/
└── TensorFlowLiteC

Xcode 26 now enforces unshallow frameworks. How can I convert this to an unshallow bundle or resolve the compatibility issue?

Rebuild the TensorFlowLiteC framework locally using Bazel with the ios_fat config to create an unshallow bundle compatible with Xcode 26’s enforcement on macOS. This generates a full TensorFlowLiteC.framework structure including Versions/Current/Resources/Info.plist, fixing the shallow bundle error from iOS-style pre-builts. Once built, zip and integrate it into your xcframework or project directly—no manual conversion needed.


Contents


Shallow vs Unshallow Bundles in Xcode 26


Why TensorFlowLiteC Frameworks Break


Rebuild with Bazel: The Official Fix


Step-by-Step Local Build Guide


Update Your xcframework


Alternatives if Bazel Fails


Sources


Conclusion

Authors
Verified by moderation
Moderation
Fix Xcode 26 Shallow Frameworks: TensorFlowLiteC XCFramework