Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove "static_framework" from open-source pods #2022

Closed
SebastianSingle99 opened this issue Oct 30, 2018 · 13 comments
Closed

Remove "static_framework" from open-source pods #2022

SebastianSingle99 opened this issue Oct 30, 2018 · 13 comments
Assignees

Comments

@SebastianSingle99
Copy link

Some podspec files like FirebaseCore.podspec or FirebaseMessaging.podspec have set s.static_framework = true, although they are now open sourced and could be used as dynamic framework (use_frameworks!).
Cocoapods says:
[!] The 'Pods-xxx target has transitive dependencies that include static frameworks: (FirebaseMessaging)

Setting static_framework to false works as expected. Could static_framework be removed?
Then each developer can decide if he wants to use dymanic frameworks or use the newer use_modular_headers-feature to build static libraries.

@paulb777 paulb777 added this to the Firebase 6 milestone Oct 30, 2018
@paulb777 paulb777 self-assigned this Oct 30, 2018
@paulb777
Copy link
Member

@SebastianSingle99 Thanks for the suggestion!

There are a few bugs with CocoaPods 1.5.x that prevent this, but it should be doable with CocoaPods 1.6.x. Also it would be a breaking change for Firebase.

I've added it to the next major release milestone for deeper investigation.

@paulb777
Copy link
Member

paulb777 commented Nov 7, 2018

My biggest concern about this change would be causing some developers to have several more dynamic frameworks along with a potential performance impact.

We might want to wait for this until CocoaPods has the capability to pick and choose which pods are built dynamically and statically.

@paulb777
Copy link
Member

This is a bigger change than we want to make for the default Firebase use case.

Likely we'll wait for better CocoaPods support.

If anyone wants this in the meantime, they can use modified podspec version.

@paulb777 paulb777 removed this from the Firebase 6 milestone Apr 8, 2019
@firebase firebase locked and limited conversation to collaborators Oct 25, 2019
@paulb777
Copy link
Member

paulb777 commented Nov 9, 2019

Reconsider for Firebase 7 since CocoaPods 1.9.0 adds the ability for Podfile's to specify static or dynamic at an individual pod granularity.

@paulb777 paulb777 reopened this Nov 9, 2019
@firebase firebase unlocked this conversation Nov 9, 2019
@paulb777 paulb777 added this to the Firebase 7 milestone Nov 9, 2019
@paulb777
Copy link
Member

CocoaPods 1.9.0 only added more flexibility on the use_frameworks! directive and pushed out the proposal to provide granularity at the individual pod.

@rickrvo
Copy link

rickrvo commented Apr 7, 2020

I would like to upvote this request. Having static framework causes great limitation over architecture decisions of modular apps. The best scenario, for us users, would be for Firebase to have both options, if you insist of having a static framework. But I know that maintaining both projects could complicate a lot. This request goes to all Google's static frameworks, like GoogleMaps... but those are relatively easy to workaround... but frameworks like FirebaseMessaging that need to be on the AppDelegate are the ones that really limit our options if we are using dynamic frameworks on the project

@jamesyorke
Copy link

I too would like to upvote this request.

@paulb777 paulb777 added this to the Firebase 7 milestone Apr 8, 2020
@paulb777
Copy link
Member

paulb777 commented Apr 8, 2020

Adding back to the Firebase 7 milestone for consideration at the next breaking change release. The use_frameworks! :linkage => :static option introduced in CocoaPods 1.9.0 provides an option that should enable most apps to still choose to get static frameworks. Unfortunately, they still would lose the ability to have Firebase be static and other Pods be dynamic - but possibly that would be ok.

@mironal
Copy link

mironal commented Apr 14, 2020

I too would like to upvote this request.

@paulb777
Copy link
Member

Now fixed by #6557 and will release with Firebase 7.0.0.

@awaisiosdev
Copy link

Thank you soo much for this.

@Gladkov-Art
Copy link

Gladkov-Art commented Oct 20, 2020

Thank you! Do you have any suggestions how to use Firebase as dynamic frameworks without CocoaPods?

@paulb777
Copy link
Member

@Gladkov-Art We will only support dynamic frameworks from CocoaPods in the near-term, but the source is available in this repo to use however you like.

@firebase firebase locked and limited conversation to collaborators Oct 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.