Creating a CocoaPod | Ray Wenderlich

Learn how to create a CocoaPod. Enhance discoverability of your framework and automate installation with the popular CocoaPods dependency manager.

This is a companion discussion topic for the original entry at

This is a nice start for CocoaPod generation. Will you be showing how to update and delete Pods as well?

Thanks. They are not in my pipeline, but I don’t know future plans.

I’d like to say thank you for the screencast, but for me it doesn’t work so smooth like on the video. What version of cocoapods do you use?

There are a lot of things that can go wrong. I was using Xcode 8 beta 3 and CocoaPods 1.something.

If you have two Xcode versions, make sure that you are using the right one for xcodebuild. You can specify it in Preferences > Locations > Command Line Tools.

What errors are you getting?

Thanks Caroline, I enjoyed the video. I was wondering if you knew of best practice for which cocoapod specific files should be committed to version control when working on a project which uses pods? If the answer is “it depends” or the likes, I was wondering if you could shed some light on what you generally prefer to include when starting a new project which will use pods.


Thanks Caroline! That was very interesting and useful. And what about libraries / frameworks that must be distributed as a binary (private source code). Do you plan to show how that can be done?

I’m a simple soul - I just commit everything. The manual says it’s up to you:

@anver - I personally currently have no plans to do that, but whether anyone else has, I don’t know.

@caroline I was wondering if the following scenario is possible.

Lets say I have a project that is a CocoaPod and needs some JS files to run.
Those JS files are hosted in another git repo that is not a CocoaPod.
Is it possible to use these files as a dependency of some sorts in the Pod spec file?

@anthony_lockett - dependencies have to be pods. I’m afraid I don’t know how you would go about having JS files as a dependency.

@caroline When creating the podspec is there a way to have a local repo for example instead of s.source {:git =>} is there a way to have a local file path.


Hi - try: spec.source = { :path }

You might find these document useful:

Thank you very much for this video, is very util for me.

1 Like