Go to file
Ivan Smolin 03059969b2 Merge pull request 'feat: Set reasonable defaults for SkeletonConfiguration' (#22) from feature/skeleton_configuration_defaults into master
Reviewed-on: #22
2023-11-07 16:39:55 +03:00
.bundle feat: Change access modifiers in `DefaultJsonNetworkService` from `public` to `open`, added additional Moya plugins processing 2022-04-06 20:57:55 +03:00
.githooks refactor: @petropavel13 comments 2021-01-17 21:37:27 +03:00
LeadKit.xcodeproj feat: update minor dependencies 2021-06-21 00:10:00 +03:00
OTPSwiftView feat!: update dependencies and project settings 2021-01-11 23:18:29 +03:00
Plugins/TISwiftLintPlugin build: fix swiftlint issues 2023-05-26 16:07:40 +03:00
Sources feat: Update RequestError cases and url passing to them 2022-07-28 14:28:05 +04:00
TIAppleMapUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIApplication feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIAuth feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIBottomSheet feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TICoreGraphicsUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIDeepLink build: update changelog and podspec versions 2023-07-10 16:37:27 +03:00
TIDeeplink feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIDeveloperUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIEcommerce feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIFoundationUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIGoogleMapUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIKeychainUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TILogging feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIMapUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIMoyaNetworking feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TINetworking feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TINetworkingCache feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIPagination feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TISwiftUICore feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TISwiftUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TITableKitUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TITextProcessing feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TITransitions fix: Podspecs' source and homepage urls 2023-04-19 13:20:18 +03:00
TIUIElements feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIUIKitCore feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIWebView feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
TIYandexMapUtils feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
Tests fix: logic of deletion 2023-07-07 14:00:43 +03:00
build-scripts@318e0ce021 feat: add TIKeychainUtils playground with SingleValueStorage examples 2023-05-24 15:50:59 +03:00
docs fix: layout DSL heuristics 2023-10-20 20:40:21 +03:00
iOS.playground change project structure and integrate code quality 2017-06-08 17:55:01 +03:00
project-scripts feat: TIApplication module and other fixes and improvements 2023-08-23 20:49:23 +03:00
.gitignore feat: Change access modifiers in `DefaultJsonNetworkService` from `public` to `open`, added additional Moya plugins processing 2022-04-06 20:57:55 +03:00
.gitmodules feat: updated gitmodules urls 2023-04-27 13:47:58 +03:00
CHANGELOG.md feat: Set reasonable defaults for SkeletonConfiguration 2023-11-07 16:29:10 +03:00
Cartfile fix: podpsec dependecies 2021-09-08 20:37:09 +03:00
Cartfile.resolved fix: podpsec dependecies 2021-09-08 20:37:09 +03:00
Gemfile feat: Change access modifiers in `DefaultJsonNetworkService` from `public` to `open`, added additional Moya plugins processing 2022-04-06 20:57:55 +03:00
Gemfile.lock build: update changelog and podspec version, fix playground compile issues 2023-06-09 10:14:07 +03:00
LICENSE Initial commit 2016-01-21 22:02:35 +03:00
LeadKit.podspec fix: Podspecs' source and homepage urls 2023-04-19 13:20:18 +03:00
Makefile fix: layout DSL heuristics 2023-10-20 20:40:21 +03:00
Package.resolved fix: move presentation detents settings to modal view controller appearance, force use nan for undefined layout dimension, fix related layout issues 2023-07-26 17:31:28 +03:00
Package.swift fix: layout DSL heuristics 2023-10-20 20:40:21 +03:00
README.md Merge branch 'master' into feature/bottom-sheet 2023-07-24 11:23:40 +03:00
setup feat: updated exporting of environment variable 2023-03-01 19:16:33 +03:00
swiftlint_base.yml feat: add SwiftLint 2023-05-19 17:48:08 +03:00

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

$ touch PlaygroundPodfile

$ echo "ENV[\"DEVELOPMENT_INSTALL\"] = \"true\"

target 'TIModuleName' do
  platform :ios, IOS_VERSION_NUMBER
  use_frameworks!

  pod 'TIDependencyModuleName', :path => '../../../../TIDependencyModuleName/TIDependencyModuleName.podspec'
  pod 'TIModuleName', :path => '../../../../TIModuleName/TIModuleName.podspec'
end" > PlaygroundPodfile

$ 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.

$ 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

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:

Contributing

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

Installation

SPM

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

Cocoapods

source 'https://git.svc.touchin.ru/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.