Our app uses Firebase at its core for various operations. We were asked to provide an SDK of our app that client can integrate in their own app. We were thinking of converting our complete app into framework/s
So my initial choice was to create a dynamic framework but Firebase has a limitation where, if we are a framework vendor using Firebase, we can only work with Static library and not Dynamic framework but static library is a pain. We have XIBs, assets etc for which we will have to create Resource bundle and then we will have to share .swiftmodule folder as well with the client which makes it 3 things(.a, bundle and .swiftmodule) to shared and then work with Import path in Build Settings as well.
Apart from that, I was thinking of dividing the app's different modules into sub-frameworks that can interact with each other (if it is possible for them to interact among each other) and while distributing it with the client, share a single (combination of all those sub-frameworks) framework
So my questions are:
- Can I move all firebase related code to a static library and create a/multiple dynamic framework/s for the rest of the app?
- Can dynamic framework/s communicate with each other? Also, can they communicate with static library?
- Can I create a combination of static library as well dynamic framework and share it with the client as a single framework? Will it be possible to call(internally on my end, NOT from client's side) the code from static library into dynamic framework/s?
- How to add pods for dynamic framework and static library?
If someone has better approach in mind to deal with this problem statement, do let me know