dimebt / xcode-project-setup

Setting up Xcode project, architecture, libraries etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Xcode project setup

Quick Reference

Feature Link
Coordinator Template https://github.com/dimebt/Coordinator-Xcode-Project-Swift-Template
SwiftLint https://github.com/realm/SwiftLint

Coordinator Template

Xcode 11 Template to use as a starting point for an iOS apps.

https://github.com/dimebt/Coordinator-Xcode-Project-Swift-Template

SwiftLint

A tool to enforce Swift style and conventions

https://github.com/realm/SwiftLint

Installation

Using Homebrew:

brew install swiftlint

Xcode

  • Select Target -> Build Phases -> Run Script

Integrate SwiftLint into an Xcode scheme to get warnings and errors displayed in the IDE. Just add a new "Run Script Phase" with:

if which swiftlint >/dev/null; then
  swiftlint
else
  echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

Disabling rules

  // swiftlint:disable:this [name of rule]

Fastlane integration

Feature Link
Documentation https://docs.fastlane.tools/

Installing fastlane

Install the latest Xcode command line tools:

xcode-select --install

Install fastlane using

Using RubyGems

sudo gem install fastlane -NV

Alternatively using Homebrew

brew cask install fastlane

Setting up fastlane

Navigate your terminal to your project's directory and run

fastlane init

Screenshots

fastlane snapshot

Frameit

fastlane frameit

Unit Test XCTest

HTTP Client mocking

UITableViewDataSource tetsting

UIViewController testing

UI Test XCTest

Travis CI Setup

Codecov Setup

DI Container

Cocoapods libraries

Firebase

Firestore

Realm

PromiseKit or Combine

Lottie

Kingfisher

SwiftyBeaver console, file, cloud logger

About

Setting up Xcode project, architecture, libraries etc.


Languages

Language:Swift 78.4%Language:HTML 19.1%Language:Ruby 2.5%