Updates for Cocoapods support

TL;DR

We made the following changes for Cocoapods:
- Now we can watch your project’s Podfile as well as the Podfile.lock.
- We display all dependencies for a Podspec file.
- If there are dependencies to subspecs, only the corresponding spec is displayed.
- The pages show the actual version release dates for pods hosted on Github.
- Now there is a link to the original podspec file in the Cocoapods Specs repository on Github.

Details regarding VersionEye’s support for Cocoapods

Since we initially announced support for Cocoapods we got a lot of feedback from you. So, we want to say thank you for pointing out bugs and suggesting improvements which helps us to make the product better day by day.

First of all we improved our crawler to better represent Cocoapod’s podpecs. There was a small bug that prevented dependencies to display correctly.

Since Cocoapods doesn’t have the original release dates we try to get them from the corresponding git tag now. We use the Github API to do this, so currently this works only for pods hosted on Github. This is how version dates for AFNetworking look like now.

And because we have the release dates for most of the CocoaPods artefacts now, we can display proper KPIs for CocoaPods. That means we’re able to show you the average release dates of a Pod as well as number of references from other Pods.

KPIs for AFNetworkingVersions of AFNetworking

We also display a link to the original podspec file in the Cocoapods Specs repository on Github. This should simplify comparing the original podspec with the data we display.

Subspecs

When we first introduced the list of dependencies for Cocoapods, we realized that Cocoapods has a feature called “Subspecs”. This is a cool feature that actually makes a lot of sense for the development of iOS apps. But subspecs is also a feature we couldn’t found in any other package manager yet.

When we first displayed dependencies, we saw that a project which depends upon Sharekit/Facebook and Sharekit/Twitter wouldn’t link to the Sharekit page on VersionEye. This made sense, because VersionEye‘s internal database domain model doesn’t support anything like subspecs yet.
ShareKit itself also depends on several subspecs of Google-API. This is how it looked like:

dependencies for sharekit

Since the version number is global in a Podspec file and all subspecs share the same version number, we thought it would be better to just summarize subspecs and show the podspec’s name instead. So the new version looks like this:

display consolidated dependencies

While we recognize this isn’t 100% correct, we feel that it improves the usability of VersionEye for iOS and Mac developers.

Since we have a little bit historical data now, we can show a nice chart about new Pod versions and packages. Check out our Objective-C page.

Screen Shot 2013-11-29 at 12.50.17

We hope you like all the new changes. If you have suggestions or find a bug, please let us now in the comments, via email or on Twitter and Facebook.

One thought on “Updates for Cocoapods support

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s