When importing gRPC via CocoaPods, it pulls in abseil, which is only available as a source pod. This means when we import gRPC into our app, we have to rebuild abseil every time we do a clean build. This adds a significant amount of time to our build times.
Apple has a native binary format called an XCFramework that would allow for abseil to be distributed as a binary pod, and CocoaPods plugins like cocoapods-pack exist to produce XCFrameworks from podspecs. If abseil was distributed as an XCFramework, we would be able to import it as a binary pod, which would speed up the builds for our app. This would be a boon for every iOS app that imports abseil.
Describe the bug
When importing gRPC via CocoaPods, it pulls in
abseil
, which is only available as a source pod. This means when we import gRPC into our app, we have to rebuildabseil
every time we do a clean build. This adds a significant amount of time to our build times.Apple has a native binary format called an XCFramework that would allow for
abseil
to be distributed as a binary pod, and CocoaPods plugins like cocoapods-pack exist to produce XCFrameworks from podspecs. Ifabseil
was distributed as an XCFramework, we would be able to import it as a binary pod, which would speed up the builds for our app. This would be a boon for every iOS app that importsabseil
.What build system are you using?
CocoaPods and
xcodebuild
Additional context
I have a sister issue open for
gRPC
at https://github.com/grpc/grpc/issues/28749