Feature/skeletons api See merge request touchinstinct/LeadKit!1 |
||
|---|---|---|
| .bundle | ||
| .githooks | ||
| LeadKit.xcodeproj | ||
| OTPSwiftView | ||
| Sources | ||
| TIAppleMapUtils | ||
| TIAuth | ||
| TIDeveloperUtils | ||
| TIEcommerce | ||
| TIFoundationUtils | ||
| TIGoogleMapUtils | ||
| TIKeychainUtils | ||
| TIMapUtils | ||
| TIMoyaNetworking | ||
| TINetworking | ||
| TINetworkingCache | ||
| TIPagination | ||
| TISwiftUICore | ||
| TISwiftUtils | ||
| TITableKitUtils | ||
| TITransitions | ||
| TIUIElements | ||
| TIUIKitCore | ||
| TIWebView | ||
| TIYandexMapUtils | ||
| Tests | ||
| build-scripts@1f83bf5d08 | ||
| docs | ||
| iOS.playground | ||
| project-scripts | ||
| .gitignore | ||
| .gitmodules | ||
| CHANGELOG.md | ||
| Cartfile | ||
| Cartfile.resolved | ||
| Gemfile | ||
| Gemfile.lock | ||
| LICENSE | ||
| LeadKit.podspec | ||
| Package.resolved | ||
| Package.swift | ||
| README.md | ||
| run_swiftlint.sh | ||
| setup | ||
README.md
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 playground --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 ENV["DEVELOPMENT_INSTALL"] # 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:
- TIFoundationUtils
- Semantic Commit Messages - commit message codestyle.
- Snippets - useful commands and scripts for development.
Contributing
- 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.
Installation
SPM
dependencies: [
.package(url: "https://gitlab.ti/touchinstinct/LeadKit.git", from: "x.y.z"),
],
Cocoapods
source 'https://gitlab.ti/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.