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
cd TIModuleName
nef plaground --name TIModuleName --cocoapods --custom-podfile PlaygroundPodfile
See example of PlaygroundPodfile
in TIFoundationUtils
For every new feature in module create new Playground page with documentation in comments. See nef markdown documentation.
cd TIModuleName
ln -s TIModuleName.app/Contents/MacOS/TIModuleName.playground TIModuleName.playground
# gitignore nef files
**/build/
**/nef/
LICENSE
project-scripts/gen_docs_from_playgrounds.sh
:
PLAYGROUNDS="${SRCROOT}/TIFoundationUtils/TIFoundationUtils.app
${SRCROOT}/TIModuleName/TIModuleName.app"
.target(name: "TIModuleName", dependencies: ..., path: ..., exclude: ["TIModuleName.app"]),
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
- TIFoundationUtils
- Semantic Commit Messages - commit message codestyle.
- Snippets - useful commands and scripts for development.
- Run following script in framework's folder:
./setup
-
If legacy Source folder needed, build dependencies for LeadKit.xcodeproj.
-
Make sure the commit message codestyle is followed. More about Semantic Commit Messages.
dependencies: [
.package(url: "https://github.com/TouchInstinct/LeadKit.git", from: "x.y.z"),
],
source 'https://github.com/TouchInstinct/Podspecs.git'
pod 'TISwiftUtils', 'x.y.z'
pod 'TIFoundationUtils', 'x.y.z'
# ...
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.