A quick introduction to using Cocoapods in an Xcode project. Demo Notes (in markdown): ## Using Cocoapods Demo 1. Create a new Single View project in Xcode called **MyProject**. 1. Create **Podfile** in project root. 1. Search [Cocoapods.org](http://Cocoapods.org) for a pod ([AFNetworking](http://cocoapods.org/?q=afnet)). 1. Point out features of web site. 1. Use clipboard icon to copy/paste AFNetworking. 1. Run `pod` in terminal (installation). 1. point out errors/warnings. 1. point out and explain loc file (bbedit **Podfile.lock**). 1. point out installed dependencies (if any). 1. point out **Pods.xcconfig**. 1. change the pod file (Remove AFNetworking and add [SVProgressHud](http://cocoapods.org/?q=svP)). 1. run `pod` again to see removal and updates. 1. Open **MyProject.xcworkspace** 1. Add a SVProgressHud call on **ViewDidAppear** of primary view controller. - (void)viewDidAppear:(BOOL)animated { [SVProgressHUD showSuccessWithStatus:@"It Worked!"]; } 12. Build and run the app. <!--BREAK--> ## Creating Podspec Demo 1. Open and demonstrate **AwesomeProject**. 1. Decide to create a pod for **UIViewController+Alerts** category. 1. Show pod creation help in terminal: **`pod lib`** (note options). 1. Create a library on the ~/Desktop **`pod lib create iOSKW`**. 1. Explain the folder structure. 1. Copy in UIViewController+Alerts.h & .m files into **Classes/ios**. 1. run **`pod lib lint`**. 1. note warnings and errors. 1. Edit `bbedit iOSKW.podspec` as follows: Pod::Spec.new do |s| s.name = "iOSKW" s.version = "0.1.0" s.summary = "UIViewController Categories." s.homepage = "http://example.com" s.license = 'MIT' s.author = { "jsambells" => "jeffrey@speakfeel.ca" } s.source = { :git => ".", :tag => s.version.to_s } s.platform = :ios, '7.0' s.requires_arc = true s.source_files = 'Classes/ios/*.{h,m}' s.frameworks = 'UIKit' end 1. Run `pod lib lint`. 1. Commit to local git repo. 1. Tag local git as **0.1.0** to match Podspec. 1. Re-run `pod lib lint` to verify 1. Create demo app called **Demo** on desktop and copy contents to the lib folder. 1. Remove empty targets from default Podfile (will error if you don't!). 1. Run `pod` in Project, note output. 1. Import `<ioskw />` header into primary view controller. 1. And add test code to view did load. - (void)viewDidLoad { [super viewDidLoad]; [self alert:@"HEllo!"]; } 1. Run demo app.