Cocoapods offers a means where you can easily integrate a wide range of functionality into your app.
Some get stale but remain functional.
I do sometimes find that I have to fork off a pod repo and make small changes or bug fixes. Depending on my changes I sometimes PR back to the main repo too.
Apple doesn’t provide the same thing.
However you can find a wide range of different components on a similar theme. You can drop one and integrate another in most cases quite easily.
The beauty about cocoapods, is that you can have an app idea and you can head over to sites like cocoa controls and cherrypick most of what you need and greatly reduce development time.
However as has been commented in the iOS developer community, we spend a lot of time ensuring our own code works well, is well tested and contains performant secure code.
Whereas with cocoapods anything could slip in.
You need to make your own rules when you pick a pod.
When I chose a pod i try to ensure its well maintained aka ensure any issues have comments and that there are fixed issues. However even if the pod hasn’t been updated for sometime, if there are no serious issues, it could be that it just works.
I only ever pick mit license pods.
On the other hand I have pods which have been dropped and I have changed / fixed for my own purposes.
I tend to download and play with the demos in each pod when I’m evaluating them. I will often post issues and feature requests before moving on. I sometimes come back to pods if an author fixes the issues.
However as mentioned I often fix issues myself.
I tend to build up a test project and try and achieve my goal before integrating into my main app. This approach is also good to demonstrate issues. Also for testing future bug fixes.