Skip to content
TouchInstinctPublic

About

No description, website, or topics provided.

Resources

Stars

44 stars

Watchers

34 watching

Forks

Latest commit

 

History

1,532 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeadKit

LeadKit is the iOS framework with a bunch of tools for rapid app development.

This repository contains the following frameworks:

  • TISwiftUtils - a bunch of useful helpers for Swift development.
  • TIFoundationUtils - set of helpers for Foundation framework classes.
  • TIUIKitCore - core ui elements and protocols from LeadKit.
  • TISwiftUICore Core UI elements: protocols, views and helpers.
  • TIUIElements - bunch of of useful protocols and views.
  • OTPSwiftView - a fully customizable OTP view.
  • TITableKitUtils - set of helpers for TableKit classes.
  • TIKeychainUtils - set of helpers for Keychain classes.
  • TIPagination - realisation of paginating items from a data source.
  • TINetworking - Swagger-frendly networking layer helpers.
  • TIMoyaNetworking - Moya + Swagger network service.
  • TIAppleMapUtils - set of helpers for map objects clustering and interacting using Apple MapKit.
  • TIGoogleMapUtils - set of helpers for map objects clustering and interacting using Google Maps SDK.
  • TIYandexMapUtils - set of helpers for map objects clustering and interacting using Yandex Maps SDK.
  • TIAuth - login, registration, confirmation and other related actions

Playgrounds

Create new Playground

cd TIModuleName
nef plaground --name TIModuleName --cocoapods --custom-podfile PlaygroundPodfile

See example of PlaygroundPodfile in TIFoundationUtils

Rename/add pages to Playground

For every new feature in module create new Playground page with documentation in comments. See nef markdown documentation.

Create symlink to nef playground

cd TIModuleName
ln -s TIModuleName.app/Contents/MacOS/TIModuleName.playground TIModuleName.playground

Add nef files to TIModuleName.app/.gitignore

# gitignore nef files
**/build/
**/nef/
LICENSE

Add new playground to pre release script

project-scripts/gen_docs_from_playgrounds.sh:

PLAYGROUNDS="${SRCROOT}/TIFoundationUtils/TIFoundationUtils.app
${SRCROOT}/TIModuleName/TIModuleName.app"

Exclude .app bundles from package sources

SPM

.target(name: "TIModuleName", dependencies: ..., path: ..., exclude: ["TIModuleName.app"]),

Podspec

  sources = 'your_sources_expression'
  if File.basename(Dir.getwd) == s.name # installing using :path =>
    s.source_files = sources
    s.exclude_files = s.name + '.app'
  else
    s.source_files = s.name + '/' + sources
    s.exclude_files = s.name + '/*.app'
  end

Docs:

Contributing

  • Run following script in framework's folder:
./setup

Installation

SPM

dependencies: [
    .package(url: "https://github.com/TouchInstinct/LeadKit.git", from: "x.y.z"),
],

Cocoapods

source 'https://github.com/TouchInstinct/Podspecs.git'

pod 'TISwiftUtils', 'x.y.z'
pod 'TIFoundationUtils', 'x.y.z'
# ...

Legacy

Code located in root Sources folder and LeadKit.podspec should be treated as legacy and shouldn't be used in newly created projects. Please use TI* modules via SPM or CocoaPods.

About

No description, website, or topics provided.

Resources

Stars

44 stars

Watchers

34 watching

Forks

Releases

Packages

Used by

Contributors

Languages