Parse-SDK-iOS-OSX icon indicating copy to clipboard operation
Parse-SDK-iOS-OSX copied to clipboard

WIP: Swift Package Manage Support

Open mman opened this issue 3 years ago • 4 comments

This PR is here for a reference and list of steps that need to be done in order to support Swift Package Manager correctly.

Here is the quick list of things that I have made in order to support Swift Package Manager on at least iOS, iPadOS, macOS, and macCatalyst.

  • removed facebook sdk and long with all git submodules

  • removed Carthage and Cocoapods related files

  • removed Parse xcodeproj, xcworkspace, and xcconfig files

  • removed Rakefile and Gemfile used to build binary distributions

  • added Package.swift

  • added dependency on Bolts and OCMock with SPM support

  • moved files around to strictly adhere to public headers, and private headers and sources

  • fixed includes for private headers

  • wrapped platform specific code inside C #if statements as swift package support does not (yet) support this nicely

Not ready for merge, serves only as an inspiration and proof of concept

mman avatar Sep 15 '22 07:09 mman

Thanks for opening this pull request!

  • ❌ Please edit your post and use the provided template when creating a new pull request. This helps everyone to understand your post better and asks for essential information to quicker review the pull request.

Hi, @mman I have a doubt about this. Why this was needed? removed Carthage and Cocoapods-related files removed Parse xcodeproj, xcworkspace, and xcconfig files removed Rakefile and Gemfile used to build binary distributions

ricky641b avatar Sep 16 '22 09:09 ricky641b

@ricky641b It was not necessary to remove Cocoapods and Carthage build files. But I did it to have clean table. To simplify Package.Swift I moved files around and did not test neither Carthage nor Cocoapods builds. I would leave them around and let CI verify that everything still builds.

Also, I removed the Facebook SDK as I do not need it but proper solution would be to depend on it via SPM as well…

mman avatar Sep 16 '22 11:09 mman

See my comment https://github.com/parse-community/Parse-SDK-iOS-OSX/issues/1453#issuecomment-1249696843 regarding carthage and cocoapods.

mtrezza avatar Sep 16 '22 15:09 mtrezza

Closing in favor of https://github.com/parse-community/Parse-SDK-iOS-OSX/pull/1683

mtrezza avatar Jan 30 '23 03:01 mtrezza