Mobile-SDK-iOS icon indicating copy to clipboard operation
Mobile-SDK-iOS copied to clipboard

Swift Package Manager Support

Open schlingding opened this issue 4 years ago • 6 comments

We have migrated all of our frameworks to Swift Package Manager for Xcode 12, but DJI libraries currently do NOT support Swift Package Manager.

When can we expect SPM support?

Thank you

schlingding avatar Oct 16 '20 00:10 schlingding

Agent comment from Luce Luo in Zendesk ticket #40069:

Dear Customer,

Thank you for contacting DJI. The MSDK use the CocoaPods to implement the project, please follow this integration documentation. https://developer.dji.com/mobile-sdk/documentation/application-development-workflow/workflow-integrate.html#xcode-project-integration

Thanks,

Luce Luo DJI Developer Support

dji-dev avatar Oct 16 '20 08:10 dji-dev

As I mentioned in an email:

  • CocoaPods is a community and THIRD party solution NOT supported directly in Xcode. CocoaPods has a THIRD party client application which each developer needs installed and is responsible for manipulating the Xcode project, schemes, and workspace.
  • Swift Package Manager is a FIRST party solution which is directly integrated in Xcode. Xcode 12 has full support for SPM. FULL SUPPORT from APPLE being the most important point.

As a developer of ENTERPRISE Applications, the preference will always be the FIRST party solution.

schlingding avatar Oct 16 '20 12:10 schlingding

Agent comment from Luce Luo in Zendesk ticket #40069:

Dear Customer,

Thank you for contacting DJI. Sorry that the CocoaPods is an easy way to implement the project for the developer than the SPM. And so sorry that there is no plan to support the SPM for the being time.

Thanks,

Luce Luo DJI Developer Support

dji-dev avatar Oct 19 '20 03:10 dji-dev

@schlingding I totally agree with you and I'm also migrating everything to Swift Package Manager at work. When Apple promotes an official way of doing something, suddenly all the other options die, for good. Recently the same happened with RxSwift being put aside by Combine. Finally package management on iOS has an official name: SPM!

It will be no surprise if Apple decides to do something to discourage or completely deprecate both Carthage and CocoaPods in the upcoming Xcode releases. Both tools allowed us to manage dependencies in the past years, but it's time to move forward.

For the DJI developers and support guys reading, this article may be useful to start thinking about SPM support in the SDK: https://medium.com/@joesusnick/swift-package-manager-with-a-mixed-swift-and-objective-c-project-part-2-2-e71dad234e6

From a company which does such great products, I expect nothing less. You rock guys, and I'm sure you have all the expertise needed to achieve this 🎉

gotev avatar Oct 24 '20 21:10 gotev

Any update on SPM support?

schlingding avatar Jan 23 '21 12:01 schlingding

Hello! DJI SDK is the last library in our project without SPM support. (We have 40+ dependencies) Do you plan to add support of native dependency manager?

nab0y4enko avatar Nov 29 '21 13:11 nab0y4enko