aws-amplify/amplify-swift

Install Amplify via Carthage

lawmicha opened this issue ยท 14 comments

I think you also need to include Swift package manager here... which was referenced here: #90

Any news on that? Would be really great to have support for Carthage or Swift Package Manager.

@lesmuc it would be amazing to have support for spm... but I highly doubt they will be prioritised any time soon.

@lesmuc @rodrigoelp now that Amplify went GA, we will start looking at Swift Package Manager and Carthage.

@drochetti Is this new feature going to simplify the release?
Distributing Binary Frameworks as Swift Packages

@drochetti Is this new feature going to simplify the release?
Distributing Binary Frameworks as Swift Packages

Possibly, we still need to look deeper into all SPM features to come up with our strategy for the support and release process.

@farshadtx @rodrigoelp @lesmuc let's track SPM and Carthage separately: #90

For context, my company moved off of CocoaPods as Firebase was breaking SwiftPreviews if codecov was enabled which was problematic for system feedback. Either Carthage or SwiftPM would be great to see.

CocoaPods/CocoaPods#9275

So we moved off of cocoapods and are now able to use code coverage + previews as well as now saving 50% CI build time given cached builds.

We are actively working on Swift Package Manager support #90. Right now we do not intend to add Carthage support to Amplify in favor of focusing on first class support to Swift PM.


For folks in this thread (@rodrigoelp @lesmuc @dmiluski @farshadtx), a couple of questions:

  1. Is there a reason why you would prefer Carthage even if both Cocoapods and Swift PM are available?
  2. Would the lack of Carthage support represent a blocker when adopting Amplify on a new project?

Thinks for the follow up @drochetti ,

I ended up being able to unblock our work by utilizing the older aws-sdk-ios. Although I am a big fan of the publisher support, the aws-sdk-ios (which does support carthage) dependency helped us integrate with our current setup requirements.
github "aws-amplify/aws-sdk-ios" ~> 2.0

Reasons I've preferred Carthage:
Build Speed / Swift Preview Support

Mentioned above, (unrelated to AWS), Swift Previews were broken by Firebase and having quick feedback assisted in our development time. Additionally, with carthage caching, we were able to cut a good time chunk out of our CI jobs (20min to 5m). This does not mean carthage doesn't have pain points. We're currently stripping arm 64 architectures to get code working with Xcode 12, but cocoapods dependencies have also been going through pain with Xcode 12.
https://gist.github.com/skymobilebuilds/61f4a95bd62a3db36b52719aeab7e0d5

Ideally, our mid/long term goals are to move most of our dependencies to SwiftPM as they become available given the large company supported backing.

Given we have a work-a-round by using the older aws-sdk-ios, I am currently able to deliver on our goals even if Amplify doesn't introduce carthage support.

@dmiluski thank you very much for the thoughtful feedback. We will keep it in mind while we work on our dependency management strategy.

This issue is stale because it has been open for 14 days with no activity. Please, provide an update or it will be automatically closed in 7 days.

This issue is being automatically closed due to inactivity. If you believe it was closed by mistake, provide an update and re-open it.

Are you planning to get back to this? I'd also love to use it with Carthage.