Parse-SDK-iOS-OSX
Parse-SDK-iOS-OSX copied to clipboard
WIP: Swift Package Manage Support
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
#ifstatements as swift package support does not (yet) support this nicely
Not ready for merge, serves only as an inspiration and proof of concept
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 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…
See my comment https://github.com/parse-community/Parse-SDK-iOS-OSX/issues/1453#issuecomment-1249696843 regarding carthage and cocoapods.
Closing in favor of https://github.com/parse-community/Parse-SDK-iOS-OSX/pull/1683