> In the Phy Update Diary I'm writing about the process of updating the first App I have ever put into the App Store.

As I wrote in [the previous post](http://swiftandpainless.com/2015/02/phy-update-diary-a-fresh-start/) I decided to start over with XCTests instead of behavior tests using a third party framework.

In the first attempt I installed Realm manually following the steps described on [realm.io](http://realm.io/docs/cocoa/0.90.5/). Starting with a fresh project gave me the opportunity to learn something new: using Carthage.

I'm not a big fan of CocoaPods. Mainly because I have no idea how it works. It somehow creates a workspace with all the pods and everything is kind of magic. And if it fails I'm done. I can't do anything about it because I do not understand it. Several times I had to follow blindly the instructions on the CocoaPods website. And sometimes the only thing that worked was to delete all Pods and start over. This resulted sometimes it merge problems in git.

I'm not saying that CocoaPods is bad. It's not. It's great! It changed the way iOS developer work! This is about me. I would have to learn how it works. I would have to learn Ruby and stuff. And still there would be the workspace I'm not really comfortable with.

A few month ago [Carthage](https://github.com/Carthage/Carthage) appeared in my filter bubble and it sounded more like something I would like to use. Carthage is different. It doesn't change the project at all. It doesn't create a workspace. Instead it just builds dynamic frameworks I have to put into my project myself. So all the time I have the control over my project.

So what do I have to do to get frameworks via Carthage into my project? The first step is to install Carthage. This is done by simply [downloading](https://github.com/Carthage/Carthage#installing-carthage) a `pkg` and opening it. Restart the terminal session and create a Cartfile. In the case of realm this looks like this:

github "realm/realm-cocoa"

Then just follow [the instructions](https://github.com/Carthage/Carthage#getting-started). At the time of writing there are only four steps to get the realm framework into my project.

As I wanted to use Realm from Swift I also had to add the file `RLMSupport.swift` to my project.

Done!