Xcode Integrated Tools for iOS App Development

The second and the last article in series of articles about initial project setup is about Xcode Integrated Tools.

Xcode Integrated Tools

I am using several tools which help me in developement. Let’s go through all of them.

First tool I have mentioned before — this is CocoaPods. It integrated with Xcode and manage dependencies for your Project.

The second is R.swift (https://github.com/mac-cain13/R.swift). With this library (or tool) you can generate strong typed resources like Storyboards, IUViewController identifiers, UITableViewCell’s identifiers, images, segues and other. You just need add this library to Podfile as pod ‘R.swift’ and then add Build Phase for example Resource Gen with code “$PODS_ROOT/R.swift/rswift” “$SRCROOT” :

R.swift Build Phase

That’s all! When you will build your project R.swift will generate R.generated.swift file with all resources. Then you can easily write for example R.storyboard.myCameras.cameraSettingsSceneViewController()! to get CameraSettingsSceneViewController or R.reuseIdentifier.cameraTableViewCell.identifier to get cell identifier. Simple but powerful! Must have!

The third tool is IBAnalyzer (https://github.com/fastred/IBAnalyzer). This tool check your storyboards each time you build your project and notify you when IBOutlets or IBActions not connected. Do you have situation when you edit your UIViewController then launch App then boom — crashed and you don’t understand why? Then you check debug screen and see — not recognizer selector. That’s because you for example change something in UIViewController class and not connecte with Storuboard. With IBAnalyzer you will be notified before project will be executed. Time saving!

The fourth tool is SwiftLint (https://github.com/realm/SwiftLint). Must have for every developer. This tool analyze your code and suggest code quality hints so your code will be more clear and powerful. Must have!

Of course the fifth is Crashlytics (https://try.crashlytics.com). Automatically sends crash logs to server so you can analyze them. We have integration with Slack and Jira so Crashlytics automatically create tasks and notifies developers. Cool!

With this tools you can gain you iOS App Developement and speedup overall process.

Feel free about commenting about tools which you are using in your projects. Thank you for reading!

P.S. As usual cool song which I found recently: Marillion — Blind Curve: Vocal Under a Bloodlight / Passing Strangers / Mylo / Perimeter Walk / Threshold https://itun.es/ru/5hKW8?i=1019363945