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
Apple Swift Package Manager : A Deep Dive

Apple Swift Package Manager : A Deep Dive

Automation, DevOps, iOSDev
Apple has released it's own package manager called 'Swift Package Manager' to share and distribute Swift packages. It's good to know that Apple is working on replacement of the current loved and hated package managers in the iOS development world those are CocoaPods and Carthage. In this article, we will cover basics of package management & deep dive into package management in iOS especially Swift Package Manager. Current iOS Package Managers Most modern languages come with an official solution for code distribution e.g RubyGems for Ruby,  Composer for PHP , NPM for NodeJS. In the iOS development world, developers has to rely on third party dependency management tools like CocoaPods and Carthage. The package managers in iOS has a additional job of building the code on top of downloading. Package manager should able to download as…
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

Building packages with Swift Package Manager and Docker without Xcode

Automation, iOSDev
Swift Package Manager Apple has recently open-sourced Swift and announced it's own package management tool called "Swift Package Manager". Swift has became cross platform and can be built on both macOS and Linux so Swift Package Manager can be Dependency Manager Build Tool Test Tool IBM is currently working hard to provide centralised repository for hosting those package and creating server side frameworks. The best place to learn about all the recent activity is 'swift.org'.  In this tutorial, we will create a Swift package on using Docker. Swift Package and Docker As Swift became server side, we can build it on the docker containers. In this short tutorial we will use IBM Swift3 Ubuntu Docker image to build a simple package. Let's create a directory called 'SwiftPM-Docker' and create a…
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
XCFit : Full Stack BDD for iOS/macOS Apps with Swift using XCUI, Cucumberish and Fitnesse

XCFit : Full Stack BDD for iOS/macOS Apps with Swift using XCUI, Cucumberish and Fitnesse

Automation, BDD, iOSDev
    XCFit Today, I am glad to announce "XCFit Framework" which can be used to enable BDD for iOS and macOS apps using Apple's brand new programming language Swift and UI Testing framework. This project is inspired by Cucumberish and OCSlim project. Let's see what are the features and usage of XCFit in this post. You can find official web page of XCFit on shashikant86.github.io XCFit - 'Swift' Your iOS/macOS apps towards BDD 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, 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…
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

Download Web Content with Swift: Building personal iOS App

iOSDev
Swift Recently, I am having fun with learning Swift, the most fashionable programming language from Apple. I am working with Swift and it is driving me crazy. The word of Swift and iOS development is a real fun. I have create few basic apps and using Swift in my day to day job which is amazing. All the way from writing acceptance test with Fitnesse to writing Unit & UI test with XCTest Swift is a fun ! Building App from Website It was fairly straight forward to build an app from website with UIWebView. It's not really an app but webview of the website in the app. It is still usable and easy to build. Let's see how it's build with few lines of Swift 2.2 and Xcode 7.2  …
Read More