parse-community / Parse-SDK-iOS-OSX

The Apple SDK for Parse Platform (iOS, macOS, watchOS, tvOS)
https://parseplatform.org
Other
2.81k stars 864 forks source link

feat: Add Swift Package Manager support; upgrade `ParseFacbookUtils` to Facebook SDK 15 #1683

Closed vazarkevych closed 1 year ago

vazarkevych commented 1 year ago

New Pull Request Checklist

Issue Description

Closes: #1453 Closes: #1635

Approach

Configure Package.swift for release framework with SPM Updated Facebook SDK to the latest version (15.1.0)

Credits

This PR contains work from @rocxteady’s branch spm, thanks for his contribution!

parse-github-assistant[bot] commented 1 year ago

Thanks for opening this pull request!

parse-github-assistant[bot] commented 1 year ago

I will reformat the title to use the proper commit message syntax.

mman commented 1 year ago

Thanks @vazarkevych for the PR. Since I am the original author of the SPM fork here: https://github.com/mman/Parse-SDK-iOS-OSX/tree/spm (which required tons of changes to make work), I really like your simple approach 👍

Trying to push the limit, is it really necessary to change all the <Parse/ includes? Can't we make it work without that?

mtrezza commented 1 year ago

Trying to push the limit, is it really necessary to change all the <Parse/ includes? Can't we make it work without that?

What would be the pro of avoiding that?

mman commented 1 year ago

@mtrezza I think keeping the #include <Parse/….> follows the general pattern used by framework includes on Apple platforms, that is all…

mtrezza commented 1 year ago

Got it, thanks for clarifying

vazarkevych commented 1 year ago

Thanks @vazarkevych for the PR. Since I am the original author of the SPM fork here: https://github.com/mman/Parse-SDK-iOS-OSX/tree/spm (which required tons of changes to make work), I really like your simple approach 👍

Trying to push the limit, is it really necessary to change all the <Parse/ includes? Can't we make it work without that?

Thank you @mman for your feedback on PR. Basically, it is necessary to have it, as otherwise, the compiler can't find the proper file

mtrezza commented 1 year ago

@parse-community/ios-sdk anyone who would want to try this branch out and give feedback?

mtrezza commented 1 year ago

Note that cocoapods support is not required anymore here with SPM support; you can just remove cocoapods support if this is holding this PR back.

mtrezza commented 1 year ago

The CI runs on macos_latest for assets. The job fails now because "latest" is macOS 12 where Xcode 11 is no longer installed, min. version is Xcode 13.1, see docs.

Also ruby 3 is the default on the macOS 12 image, so we have to explicitly add a ruby setup to CI workflow to install ruby 2.

If assets don't build with Xcode 13 then the CI can pin to the macOS 11 image temporarily.

parseplatformorg commented 1 year ago

🎉 This change has been released in version 2.0.0

santiagoprieto commented 1 year ago

Do you guys know the reason this 2.0.0 release and all newer ones are not showing up in CocoaPods?

mtrezza commented 1 year ago

Cocoapods and carthage support has been removed in favor of SPM support.