Swift Package Manager support

andrew.n

Member
Long story short, for more than 1 year ago, Apple released SPM as a replacement for CocoaPods and Carthage.

The first issue is that if we use FlashPhoner in our app, we cannot enable SPM at all, because it requires the Build System option: "New Build System". FlashPhoner integration required configuration of the Build System to be "Legacy Build System".

The second issue that should be taken into consideration is that many frameworks support both CocoaPods/Carthage and SPM, BUT they started to remove the support for CocoaPods/Carthage and they provide updates only using SPM.

We already had to remove one framework from CocoaPods because the last update is only available with SPM, and we had to add it manually to our project. But this is not a long term solution, considering that we use more than 15 frameworks.

My question is very simple when we will have a new version of FlashPhoner SDK to be delivered with SPM?
 

Max

Administrator
Staff member
Good day.
My question is very simple when we will have a new version of FlashPhoner SDK to be delivered with SPM?
Probably yes, but not sooner than iOS SDK will migrate to Swift (ticket WCS-2853). We raised the ticket WCS-2882, but this take a long time.
Now, we're working on ticket WCS-2794 to update libwebrtc which should fix the issues with RTCEAGLVideoView.
 

Max

Administrator
Staff member
May be this year. Definitely, after WCS-3420 (CallKit usage example) resolution.
 

Max

Administrator
Staff member
Unfortunately, we use JSONModel and SocketRocket. Both of them supports only CocoaPods or Carthage. So we cannot migrate iOS SDK to Swift Package Manager until both packets supporters merge a corresponding pull requests.
 

Max

Administrator
Staff member
@Max add a mention to them... or fork it FPWCSJSONModel & FPWCSSocketRocket where you add the SPM configuration :)...
We prefer not to fork any third party solutions and use them as is (except WebRTC library which often needs to be patched to work correctly).
 

Max

Administrator
Staff member
this can help you ?
Unfortunately not. Yes, we can (and really should) to publish our patched WebRTC implementation. However, this is not enough to solve dependency issue. We do not need JSONModel any more, but still need SocketRocket which supports Cocoapods or Carthage only.
 
Top