braintree / braintree_ios

Braintree SDK for iOS
https://developer.paypal.com/braintree/docs/start/hello-client/ios/v5
MIT License
557 stars 295 forks source link

Add Precompiled Framework To GitHub Release #543

Closed stherold closed 3 years ago

stherold commented 3 years ago

Is your feature request related to a problem? Please describe. The Braintree iOS framework takes a significant amount of time to compile with the Carthage integration (CocoaPods too but then for each clean build). Especially now when a new Xcode is out there and we have to switch branches very often we have to wait for several minutes until the Braintree SDK is compiled.

Describe the solution you'd like For the Carthage integration there is a very easy fix.

You can just upload the precompiled framework as asset to the GitHub release. Carthage will find this and use it instead of re-compiling the whole SDK with all its frameworks. Please have a look at the Carthage docs. You can have a look at the Stripe SDK for an example. They upload Stripe.framework.zip and Stripe.xcframework.zip for each release which speeds up installation tremendously.

Ideally you enable module stability for the framework so different Swift versions don't lead to re-compilation.

billwerges commented 3 years ago

Hi @stherold,

Thanks for the suggestion, we will look into adding this enhancement as part of a future release. We'll update this issue with any progress.

scannillo commented 3 years ago

Hi @stherold - we manually added the pre-compiled binaries for Carthage to the v4.36.1 release. Feel free to give those a whirl!

I'll leave this issue open until we merge/publish this enhancement into our release script.

stherold commented 3 years ago

Wow this is great to hear 👍 I think this is already a big speed booster. The thing is we'rte using dropin framework braintree/braintree-ios-drop-in and carthage still tries to compile this one. I'm not a Carthage expert but maybe adding this too could also speedup the installation process for users like us. Would that be possible for one of the next versions?

Thx a lot for the work so far 👍

sestevens commented 3 years ago

@stherold Yes, we're planning to add pre-built binaries to Braintree Drop-in releases as well. Glad to hear this is speeding things up for you!

sestevens commented 3 years ago

@stherold We've added pre-built binaries to the latest release of Braintree Drop-in, version 8.1.2.

stherold commented 3 years ago

Yeah that is awesome!!! No building anymore 🎉 you greatly reduced the global-carbone dioxide footprint right now - million developers just don't need to build the Framework anymore ✅. Good Job 👍

sestevens commented 3 years ago

This is now officially part of our release script, so I'm going to close out this issue. Thanks for suggesting this, @stherold!