[docs] Trim README to Documentation links; fix signature image
This commit is contained in:
109
README.md
109
README.md
@@ -1,94 +1,43 @@
|
|||||||
|
|
||||||

|

|
||||||
Loverde Co. Essentials Swift Scripts
|
|
||||||
----
|
|
||||||
|
|
||||||
This is a repository of essential scripts written in Swift for Loverde Co. used to save time on re-writing and keeping it on all other projects. So this Cocoapods will evolve with Swift and will improve with every release!
|
# Loverde Co. Essentials
|
||||||
|
|
||||||
|
Essential Swift scripts, extensions, SwiftUI components, and UIKit-era helpers,
|
||||||
|
shared across Loverde Co. projects. Evolves with Swift, improves every release.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
- iOS 15.* or newer, Swift 5.* or newer.
|
|
||||||
|
|
||||||
## Features
|
- iOS 15 or newer · Swift 5 or newer
|
||||||
- [x] Many usefull scripts extensions
|
|
||||||
- [x] `API` — typed async networking + multipart uploads
|
## Installation — Swift Package Manager
|
||||||
- [x] SwiftUI components (`LCENavigationView`) and UIKit-era helpers
|
|
||||||
|
```swift
|
||||||
|
dependencies: [
|
||||||
|
.package(url: "https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials", .upToNextMajor(from: "2.0.0"))
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Or add it in Xcode via **File ▸ Add Package Dependencies…** with the URL:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials
|
||||||
|
```
|
||||||
|
|
||||||
|
```swift
|
||||||
|
import LCEssentials
|
||||||
|
```
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
| Guide | Covers |
|
| Guide | Covers |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| **[API.md](Documentation/API.md)** | `API` networking — requests, multipart uploads, client certificates, error handling, and why it beats a hand-rolled `URLSession` |
|
| **[API.md](Documentation/API.md)** | `API` networking — typed requests, multipart uploads, client certificates, error handling, and why it beats a hand-rolled `URLSession` |
|
||||||
| **[Extensions.md](Documentation/Extensions.md)** | Foundation / value-type / string / collection / numeric / date / crypto extensions and the `LCEssentials` namespace |
|
| **[Extensions.md](Documentation/Extensions.md)** | Foundation / value-type / string / collection / numeric / date / crypto extensions and the `LCEssentials` namespace |
|
||||||
| **[SwiftUI.md](Documentation/SwiftUI.md)** | SwiftUI components and `View` helpers |
|
| **[SwiftUI.md](Documentation/SwiftUI.md)** | SwiftUI components (`LCENavigationView`) and `View` helpers |
|
||||||
| **[UIKit.md](Documentation/UIKit.md)** | Programmatic layout & constraints, view/control extensions, navigation, tables, and drop-in components |
|
| **[UIKit.md](Documentation/UIKit.md)** | Programmatic layout & constraints, view/control extensions, navigation, tables, and drop-in components (`LCSnackBarView`, image picker/zoom, GIF loading) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
Installation
|
Daniel Arantes Loverde — <daniel@loverde.com.br>
|
||||||
----
|
|
||||||
#### Swift Package Manager (SPM)
|
|
||||||
``` swift
|
|
||||||
dependencies: [
|
|
||||||
.package(url: "https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials", .upToNextMajor(from: "1.0.0"))
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
You can also add it via XCode SPM editor with URL:
|
[<img src="https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" width="28" alt="GitHub">](https://github.com/loverde-co/resume/)
|
||||||
|
|
||||||
``` swift
|
|
||||||
https://git.loverde.com.br/Loverde-Company-LTDA/LCEssentials
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage example
|
|
||||||
|
|
||||||
* Background Trhead
|
|
||||||
|
|
||||||
```swift
|
|
||||||
LCEssentials.backgroundThread(delay: 0.6, background: {
|
|
||||||
//Do something im background
|
|
||||||
}) {
|
|
||||||
//When finish, update UI
|
|
||||||
}
|
|
||||||
```
|
|
||||||
* NavigationController with Completion Handler
|
|
||||||
|
|
||||||
```swift
|
|
||||||
self.navigationController?.popViewControllerWithHandler(completion: {
|
|
||||||
//Do some stuff after pop
|
|
||||||
})
|
|
||||||
|
|
||||||
//or more simple
|
|
||||||
self.navigationController?.popViewControllerWithHandler {
|
|
||||||
//Do some stuff after pop
|
|
||||||
}
|
|
||||||
```
|
|
||||||
* Networking with `API`
|
|
||||||
|
|
||||||
```swift
|
|
||||||
struct User: Decodable, Sendable { let id: Int; let name: String }
|
|
||||||
|
|
||||||
let user: User = try await API.shared.request(
|
|
||||||
url: "https://api.example.com/users/{id}",
|
|
||||||
method: .get,
|
|
||||||
pathParams: ["id": "42"]
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
Full guide — requests, uploads, client certificates, error handling, and why it
|
|
||||||
beats a hand-rolled `URLSession`: **[Documentation/API.md](Documentation/API.md)**
|
|
||||||
|
|
||||||
## Another components
|
|
||||||
> LCESnackBarView - **great way to send feedback to user**
|
|
||||||
|
|
||||||
And then import `LCEssentials ` wherever you import UIKit or SwiftUI
|
|
||||||
|
|
||||||
``` swift
|
|
||||||
import LCEssentials
|
|
||||||
```
|
|
||||||
|
|
||||||
Any question or doubts, please send thru email
|
|
||||||
|
|
||||||
Daniel Arantes Loverde - <daniel@loverde.com.br>
|
|
||||||
|
|
||||||
[](https://github.com/loverde-co/resume/)
|
|
||||||
|
|
||||||
Autor: Daniel Arantes Loverde
|
|
||||||
|
|||||||
Reference in New Issue
Block a user