Remote is a plugin for Xcode that allows you to control an iPhone from a window on your Mac during development.
Xcode
Xcode plugin for controlling iOS device with macros
Here’s another interesting Xcode plugin submitted by John Holdsworth called Remote that allows you to control an iOS device using definable macros called remote for easier testing.
Remote was created to eliminate the need to have to manually touch the device to test an app, and provides a simple way to create macros during testing using snapshots to run the macros and check for validity.
Xcode Plugin That Automatically Generates Missing Image Sizes
Here’s another nice plugin for working with images in Xcode from Ricky Tan allowing you to automatically creating any missing image sizes called RTImageAssets.
RTImageAssets can automatically detect any missing image sizes and generate your @2x, @1x, and @3x automatically upsampling, and downsampling based on images found. You can configure RTImageAssets to generate only the image sizes you desire.
Xcode Plugin And CLI Tool For Automatically Generating Code For Working With REST Services
Rest2mobile is a project providing an Xcode and IntelliJ UDEA plugin along with a command line tool from Magnet submitted by Pascal Jaillon that allows you to automatically generate native objective-c code for communication with a a REST service.
The plugin provides a nice interface allowing you to retrieve the JSON payload from the REST service and generate the code with a couple of clicks. The code works with the rest2mobile SDK for communication which uses AFNetworking to communicate with the REST API.
How NOT to initialize objects in Swift
I am using Swift for several months now, and really like the language. While Xcode support is not so great, the language significantly improves my daily coding sessions. However, there are aspects of Swift that are not really clear to me. One of them is objects initialization issue which quietly causing memory leaks.
Tool For Automatically Downloading And Updating Your Provisioning Profiles
Here’s a nice command line tool submitted by Krause for working with providing profiles allowing you to avoid going through the menus in Xcode in case you need to download or repair a provisioning profile called Sigh.
Carthage – Dependency Manager That Works With Git Repositories
Carthage is an open source Cocoa dependency management solution released by Justin Spahr-Summers that makes it dead simple to checkout and build dependencies from Github or any Git repository, and has a number of advantages over other solutions.
Carthage takes a new approach and does not require any specification files to be included with your dependencies, you simply need to create a single cartfile listing your dependencies along with your version requirements. Carthage will only work with iOS 8 as it uses the new dynamically linked framework capability.
Deliver – Continuous Deployment for iOS
Deploy screenshots, app metadata and app updates to the App Store using just one command.
Updating your iOS app should not be painful and time consuming. Automate the whole process to start with Continuous Deployment.
Deliver can upload ipa files, app screenshots and more to the iTunes Connect backend, which means, you can deploy new iPhone app updates just by using one command.
An Open Source Tool For Automatically Uploading IPA Files And Updating App Data On iTunes Connect
Here’s another nice open source project called Deliver from Krause providing a ruby based tool that simplifies updating your iOS apps by automatically uploading ipa files, screenshots and more to iTunes connect.
Continuous Integration With Xcode Server
Xcode Server was introduced with Xcode 5 to provide a way to perform continuous integration through the creation of bots that automate the building, analysing, testing and archiving of projects. The bots can be created in Xcode on a development Mac and then run on the server. Since this requires OS X server it is a great way to use a spare Mac you have gathering dust.
This post collects together my notes on installing and setting up the Xcode 6 service on a Yosemite OS X Server. My simple objective was to have my unit tests run each time I make a commit to a project hosted in a GitHub repository.