Go to file
Ivan Smolin 77559babdb Merge pull request 'feature/stack_appearance_layout' (#9) from feature/stack_appearance_layout into master
Reviewed-on: #9
2023-06-26 19:51:15 +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 Revert "refactor: unable BUILD_LIBRARY_FOR_DISTRIBUTION" 2021-09-08 21:14:47 +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 build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIAuth build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIDeepLink build: fix playground and podspec issues 2023-05-31 17:33:22 +03:00
TIDeeplink build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIDeveloperUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIEcommerce build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIFoundationUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIGoogleMapUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIKeychainUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
TILogging build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIMapUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIMoyaNetworking build: update changelog and up version 2023-06-17 01:56:50 +03:00
TINetworking build: update changelog and up version 2023-06-17 01:56:50 +03:00
TINetworkingCache build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIPagination build: update changelog and up version 2023-06-17 01:56:50 +03:00
TISwiftUICore build: update changelog and up version 2023-06-17 01:56:50 +03:00
TISwiftUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
TITableKitUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
TITextProcessing build: update changelog and up version 2023-06-17 01:56:50 +03:00
TITransitions fix: Podspecs' source and homepage urls 2023-04-19 13:20:18 +03:00
TIUIElements build: fix code review notes 2023-06-26 14:06:56 +03:00
TIUIKitCore build: fix code review notes 2023-06-26 14:06:56 +03:00
TIWebView build: update changelog and up version 2023-06-17 01:56:50 +03:00
TIYandexMapUtils build: update changelog and up version 2023-06-17 01:56:50 +03:00
Tests `TITextProcessing` for regex and text formatting added 2023-04-19 14:22:05 +03:00
build-scripts@318e0ce021 feat: add TIKeychainUtils playground with SingleValueStorage examples 2023-05-24 15:50:59 +03:00
docs build: update changelog and up version 2023-06-17 01:56:50 +03:00
iOS.playground change project structure and integrate code quality 2017-06-08 17:55:01 +03:00
project-scripts feat: Added UserLocationFetcher helper that requests authorization and subscribes to user location updates 2023-06-05 14:36:45 +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 build: update changelog and up version 2023-06-17 01:56:50 +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
Package.resolved `TITextProcessing` for regex and text formatting added 2023-04-19 14:22:05 +03:00
Package.swift feat: Added UserLocationFetcher helper that requests authorization and subscribes to user location updates 2023-06-05 14:36:45 +03:00
README.md build: fix playground and podspec issues 2023-05-31 17:33:22 +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.