Continuous Integration with Xcode Server on macOS: Complete Setup Guide

Continuous Integration with Xcode Server on macOS: Complete Setup Guide

Automation, DevOps, iOSDev
Apple has very comprehensive documentation on Xcode Server and Continuous Integration with OSX Server (app) and Xcode Server (Xcode within the server app). You might be wondering what's the point of this post if everything is documented in the guide. However Apple's guide still reads as OSX Server than macOS Server but Apple has released new macOS Server (5.2) with some improvements in the Automated Xcode Builds. Anyway this is small tutorial aims to setup a Mac to run as a macOS Server with Xcode Service and Setup basic Xcode Bots for the macOS Server with Xcode 8 to perform Continuous Integration. We will cover macOS Server basics and setup Configure Xcode to use Xcode Service of macOS Server Setup Development Xcode to use Xcode Server on macOS Server Create a Xcode bot with example of…
Read More
XCFit 2.0 Released : Full Stack BDD in Xcode + Page Object + Swift Package Manager

XCFit 2.0 Released : Full Stack BDD in Xcode + Page Object + Swift Package Manager

Automation, iOSDev
XCFit 2.0 Glad to announce new version of XCFit with brand new features. You can find release notes on Github here. If you are new to XCFit then XCFit a.k.a (XCUI, Cucumberish and Fitnesse Integrations Tests) is a full stack Xcode BDD framework for Swift iOS and macOS apps. XCFit allows us to write API level, UI and Acceptance Tests with Swift in human readable language using tools like Cucumber and Fitnesse in Xcode. We can still use Apple's brand new UI Testing framework (XCUI) under the hood of Cucumberish. XCFit is fully automated solution for Cucumberish and Fitnesse. You can use 80(Fitnesse):20(Cucumberish) formula to automate Acceptance and UI Testing for better coverage and faster feedback. XCFit is available on RubyGem,  CocoaPods and Swift Package Manager. XCFit 2.0 has just released ! XCFit 2.0 New Features Improved Xcode Templates with support of Page…
Read More

Swift 3 : Basic concepts with Xcode 8

Automation, iOSDev
Swift3 at WWDC Apple has announced Swift3 on WWDC [2016] this year. It's amazing that Swift can be used on Linux and lots of third party companies working on server side swift. First couple of releases of Swift has gone though major changes in the Swift but Apple has promised that Swift 3 will be stale release and can be adopted by companies without any fear. Apple has also provided migrator for the Swift2 to Swift3 which makes migration easy.  In this tutorial, we will learn basics of Swift announced at the WWDC 'Getting Started with Swift" talk. I would strongly recommend watching this talk. Let's look at what's new in the swift with basic concepts. Please note this isn't tutorial to learn all Swift but to get brief overview…
Read More

Integrating Fitnesse iOS Acceptance Test with XCTest using Xcode8

Automation, iOSDev
Fitnesse for iOS Recently Fitnesse has entered in the world of iOS development. An OCSlimProject has enabled an ATDD and BDD practices in iOS development world. This project enabled us writing and blazing fast acceptance test with Fitnesse for iOS. Thanks to Paul Stringer and other contributors.  You can read more about what are the problems that Fitnesse can solve in article 'Acceptance Testing for iOS' by Paul Stringer. As of now Fitnesse acceptance for iOS running in the separate process and reports are generated by different mechanism which wasn't feel like Fitnesse is actually part of the development and CI workflow. The good news is latest release of the OCSlim project has integrated Fitnesse test reports along with XCTest framework which means we can execute Fitnesse tests along with Unit tests…
Read More

BDD with Xcode 8, Swift 3, Cucumberish and XCFit on macOS Sierra

Automation, BDD, iOSDev
macOS Sierra, Xcode 8 and Swift3 Apple has just released macOS Sierra public beta in the UK and we couldn't wait to see new features of macOS Sierra and Xcode 8. macOS Sierra brings Siri to MacBook Pro with lots of performance improvements but I was keen to try features of the Xcode8 and Swift3 with my recent pet-project XCFit: Full Stack BDD framework for iOS and macOS Apps. I am very impressed with enhancements in the 'xcodebuild'. In this post I will step by step guide to setup BDD for iOS10/macOS Sierra project using XCFit, Cucumberish, Xcode 8 and Swift3.   XCFit on Xcode8 and Swift3 XCFit is a full stack BDD framework for the iOS and macOS applications. You can read article on mobile DZone to know more about it.…
Read More

WWDC 2016 : Continuous Integration with Xcode Server and XCTest updates

iOSDev
WWDC 2016 The Apple Worldwide Developers Conference ( WWDC 2016 ) brings us lots of improvements in softwares although there are no hardware release this time. There are many software release including iOS10, macOS Seirra, Siri on Mac, Xcode 8 etc etc there is brief  summary of the what has been announced at WWDC 2016 is here on The Next Web Blog. I would recommend watching the session "Platform State of the Union" which is kind of keynote for the Developers where you can find lots of the announcement about development tools including Xcode 8 Apple File System Swift 3 : Open-Source Status Swift Playground app Code Signing Improvements In this post we will cover whats new in terms of the Continuous Integration and Testing. Xcode Server and XCTest Apple…
Read More

OSX Mavericks : How to install Command line tools without xCode

Automation
xCode & Mavericks Hope you have upgraded your OSX to Mavericks, if not then do it right now because it's simple awesome and most important it's free. I assume that you have already upgraded to Mavericks and you are enjoying great features of OSX Mavericks. In the older versions of the OSX, it was very easy to install command line tools with xCode. You just need to goto xCode->Preference->Downloads->Component and click on 'install' on 'Command Line Tools' The Command Line Tool package gives terminal users many commonly used tools, utilities, and compilers, including make, GCC, clang, perl, svn, git, size, strip, strings, libtool, cpp, what, and many other useful commands that are usually found in default linux installations. However, this is not a case in the OSX Mavericks, You will see…
Read More