Live data from Hacker News

CocoaPods trunk read-only plan

blog.cocoapods.org

41–50 of 116 posts

Re: CocoaPods trunk read-only plan

#41

It was useful, but way too delicate. I didn't like the way that it rewrote my project structure. Once Swift Package Manager matured, I stopped using CocoaPods.

As someone with no direct love of CocoaPods... Is there a way to use SPM for mixed ObjC and Swift projects?

I'd love to know if I have options :)

Re: CocoaPods trunk read-only plan

#42
post #25
post #4

Earlier quoted context omitted.

Was it a good era?

You have to understand where we came from. Development for iOS and macOS (then MacOS) meant you had to pluck source files from random places on the internet and weave them into your Xcode build. Xcode and xcodebuild didn't really shine in the department of extensibility. Eloy designed CocoaPods to be the absolute minimum we needed to deal with dependencies for the projects we were working on. So that meant: * Rely on…

I am going to start sounding like a dinosaur but I really hate this dev tendency to trash the old way as soon as the new way comes out. I am seeing it with all the devs advocating for mise over asdf, and a year ago they were all singing asdf’s praises. I think we can advocate for better while still thanking those we are building upon. Long winded way of saying: thanks to the cocoapods maintainers, you made iOS dev better for a lot of people.

Re: CocoaPods trunk read-only plan

#43

It was useful, but way too delicate. I didn't like the way that it rewrote my project structure. Once Swift Package Manager matured, I stopped using CocoaPods.

As someone with no direct love of CocoaPods... Is there a way to use SPM for mixed ObjC and Swift projects? I'd love to know if I have options :)

I'm not sure. I suspect so, but I haven't used ObjC since 2014.

Re: CocoaPods trunk read-only plan

#44

It was useful, but way too delicate. I didn't like the way that it rewrote my project structure. Once Swift Package Manager matured, I stopped using CocoaPods.

As someone with no direct love of CocoaPods... Is there a way to use SPM for mixed ObjC and Swift projects? I'd love to know if I have options :)

Yes, you can use SPM to package up Objective-C code.

Re: CocoaPods trunk read-only plan

#45

This is really sad, because the replacement, Swift Package Manager, is really crap: it lacks some useful features (an "outdated" command, meaningful commandline output, ...), is buggy as hell in xcode (most of the time xcode just crashes when you add/removed a dependency, error messages while getting a repository are not understandable and even often not visible entirely, many repositories have some old Package.swift…

I don’t know, I’ve never had those problems and my codebases reach 600k+ LOC. I’ve certainly had plenty of errors to deal with Cocoapods and obsolete frameworks though, though those projects also tend to use pretty much every third-party lib that gets attention on Medium. Modularizing an Xcode project with local Swift packages has been the best productivity gain in my experience. Doing something similar with Cocoapod…

Local Swift packages are indeed improving the experience a little bit: better version management, less xcode crashes, slightly more explicit errors, but still highly troublesome. It really feels like Apple's teams are not using any of SwiftPM themselves.

Re: CocoaPods trunk read-only plan

#46
post #2

Such a big piece of history and a de facto standard for managing dependencies for Apple platforms for years. Big "thank you" to all maintainers for your great job! And respect that you recognise moment when ecosystem changed and have courage to deprecate library instead of maintaining it forever - to leave place for migrating to new, superior solutions

> superior solutions

Superior includes actual state of being better. Differences could just be differences. Maybe it’s just homoplastic.

Re: CocoaPods trunk read-only plan

#48
post #4
post #3

End of an era.

Was it a good era?

Yes! I'm a little biased as someone who worked briefly on CocoaPods, but it was an indispensable tool for many years. This is evident by its massive popularity.

Like with NPM, many people ran into issues ultimately rooted in not understanding the tool. CocoaPods had the extra constraint that correctly setting up a Ruby environment was hard. If you used Ruby with a fixed ruby version, bundler with a Gemfile.lock and then CocoaPods it worked well.

Re: CocoaPods trunk read-only plan

#49

This is really sad, because the replacement, Swift Package Manager, is really crap: it lacks some useful features (an "outdated" command, meaningful commandline output, ...), is buggy as hell in xcode (most of the time xcode just crashes when you add/removed a dependency, error messages while getting a repository are not understandable and even often not visible entirely, many repositories have some old Package.swift…

SwiftPM been little trouble for me, with the most complex project involving a number of external packages and a couple of local ones. No crashes or anything like that.

It’s been way, way less trouble than CocoaPods was before I switched several years ago. CocoaPods was so bad about screwing itself up that I’d just check in its dependencies in a building state and avoid upgrading anything unless I absolutely had to, because inevitably when doing updates or even just resolving my project would somehow hit some number of the many edge cases that’d cause it to blow up.

In contrast with SwiftPM I keep most dependencies pretty close to current because it’s painless to do so.

In fact it’s been good enough to me that I wish it were possible to replace the awful mess that is Gradle with SwiftPM (or a 1:1 JVM counterpart) on the Android side. I need approximately none of Gradle’s flexibility and bells and whistles that make it such a pain in the rear, so something with SwiftPM’s simplicity would be a serious QoL improvement.

Post reply on HN