• Stars
    star
    241
  • Rank 166,702 (Top 4 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Sumo is a library that prepares for fast upload for iOS. It is effective when uploading by selecting images continuously.

Sumo

Sumo is a library that prepares for fast upload for iOS. It is effective when uploading by selecting images continuously. Sumo will prepare for uploading immediately after the image is selected. Multiple selected images are compiled into one file and compressed. One compressed file can communicate without overhead.

Feature 🎉

  • ☑️ Non blocking Main thread.
  • ☑️ Fast resizing.
  • ☑️ Task is cancelable.
  • ☑️ Multi sessions.

Usage

Sumo consists of sessions and tasks. Multiple tasks are associated with one session, and you can obtain obtain artifacts by zip the session.

override func viewDidLoad() {
    super.viewDidLoad()
    var options: Sumo.Session.Options = Sumo.Session.Options()
    // Target of image resizing
    options.imageTargetSize = CGSize(width: 500, height: 500)
    Sumo.shared.startSession(options: options)
}

For example in CollectionView's

  • func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
  • func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath)
// Compress and process the image in the background.
func didSelectItem(indexPath: IndexPath, asset: PHAsset) {
    Sumo.shared.startWorflow(asset.localIdentifier) { (error) in
        if let error = error {
            debugPrint(error)
            return
        }
    }
}

// Cancel the image being compressed.
func didDeselectItem(indexPath: IndexPath, asset: PHAsset) {
    Sumo.shared.cancel(asset.localIdentifier)
}
// Stop all processing.
@objc private func cancel() {
    Sumo.shared.stop()
}

// Cancel the task being processed. The session will continue to remain.
@objc private func reset() {
    Sumo.shared.reset()
}

// Compress the resized photo to zip.
@objc private func zip() {
    Sumo.shared.zip { (url, error) in
        // Transfer to any server.
    }
}

AssemblyLine is generalized to Sumo.

More Repositories

1

Bleu

BLE (Bluetooth LE) for U🎁 Bleu is the best in the Bluetooth library.
Swift
489
star
2

Toolbar

Awesome autolayout Toolbar. Toolbar is a library for iOS. You can easily create chat InputBar.
Swift
456
star
3

Pring

Cloud Firestore model framework for iOS - Google
Swift
259
star
4

Ballcap-iOS

Firebase Cloud Firestore support library for iOS. 🧢
Swift
228
star
5

Salada

Firebase model framework Salada. Salada is the best Firebase framework.
Swift
225
star
6

PaperKit

PaperKit is like Paper app of Facebook
Objective-C
155
star
7

pring.ts

Cloud Firestore model framework for TypeScript - Google
TypeScript
109
star
8

ballcap.ts

Cloud Firestore support library for admin. 🧢
TypeScript
107
star
9

Demae

TypeScript
77
star
10

Router

Router is a library that assists with SwiftUI view transitions.
Swift
73
star
11

AssemblyLine

AssemblyLine is a library for easily writing workflows.
Swift
40
star
12

Injectable

Dependency Injection for Swift
Ruby
31
star
13

Deck

Deck is a library that provides a UI to reproduce stacked cards for SwiftUI.
Swift
25
star
14

Muni

Chat with Cloud Firestore
Swift
23
star
15

TimeRangePicker

Swift
21
star
16

firestore-commerce

firestore-commerce is a framework that links Firestore and Stripe. By manipulating the Ballcap data model, you can sell immediately.
TypeScript
16
star
17

pring-admin.ts

Cloud Firestore model framework for TypeScript - Google
TypeScript
13
star
18

FirebaseAdmin

Firebase admin for Swift is a Swift package that provides a simple interface to interact with the Firebase admin SDK.
Swift
12
star
19

schedule.ts

TypeScript
9
star
20

SwiftWebUI-WASM-CFs

JavaScript
9
star
21

Messagestore

Swift
8
star
22

DocumentID

FirebaseFirestoreSwift's library for lightweight use of DocumentIDs in SwiftUI.
Swift
8
star
23

Flow

Swift
8
star
24

jp-zipcode

TypeScript
7
star
25

passkit.ts

Apple Pay, Wallet Development. passkit.ts is a library for issuing pass with typescript.
TypeScript
7
star
26

PickerGroup

Multi-picker for iOS and Mac available in SwiftUI
Swift
6
star
27

scenario

The scenario is the Cloud Functions support library. It is possible to clarify the dependency and limit the side effects.
TypeScript
6
star
28

tradable.ts

tradable.ts is a basic protocol to implement EC in Firebase.
TypeScript
5
star
29

Msg

Msg is a chat library based on FirebaseFirestore.
Swift
5
star
30

AdvancedTableViewSample

Advanced TableView Design Sample
Swift
5
star
31

OnTheKeyboard

Toolbar on the keyboard
Swift
5
star
32

PaperKit-Camera

PaperKit + Camera is a super cool user interface that has integrated the camera to the UI of Paper.
Objective-C
5
star
33

StripeAPI

StripeAPI is a Framework that can handle Stripe type-safely.
Swift
4
star
34

FirestoreSwift

Swift
4
star
35

CameraUI

Swift
4
star
36

FirebaseAPI

Lightweight Cloud Firestore Client API using googleapis gRPC.
Swift
4
star
37

CalendarUI

Swift
4
star
38

classy

classy provides getter / setter to typescript.
TypeScript
3
star
39

vue-pring-sample

Vue + Cloud Firestore +TypeScript
Vue
3
star
40

Antenna

A simple BLE sample code
Swift
3
star
41

Chart

Swift
3
star
42

SaladaSample

Salada sample code. Using Firebase Realtime Database
Swift
3
star
43

flow.ts

Flow enables coding of structured scripts.
JavaScript
2
star
44

ReactionToolbar

ReactionToolbar is the UI, such as the Facebook of Ractions.
Swift
2
star
45

Tradable

Swift
2
star
46

reaf

Host Next.js SSR app on Firebase Cloud Functions with Firebase Hosting redirects. Built with typescript.
TypeScript
2
star
47

ChatUI

Swift
2
star
48

MsgBox

MsgBox can build Chat by linking Firestore and Realm.
Swift
2
star
49

STPScrollView

STPScrollView is a Custom ScrollView
Objective-C
2
star
50

FirebaseInterface

Swift
2
star
51

tradestore.ts

TypeScript
2
star
52

RecurrenceRule

Swift
2
star
53

Socialbase

Socialbase is a framework for building SNS in Cloud Firestore.
Swift
2
star
54

STPPressGestureRecognizer

This is GestureRecognizer for iOS. It works like Force Touch.
Objective-C
2
star
55

ClockFace

Swift
2
star
56

ReactUI

JavaScript
2
star
57

FirebaseDemo

Firebase meetup #4
Ruby
2
star
58

Chat

Swift
1
star
59

MultiListener

Swift
1
star
60

FileSystemNavigator

Swift
1
star
61

SwiftUICell

SwiftUICell runs SwiftUI as CollectionView Cell
Swift
1
star
62

EventStack

Swift
1
star
63

Tong

Tong is library for using ElasticSearch with Swift.
Swift
1
star
64

Timeline

Swift
1
star
65

Calendar

Swift
1
star
66

Paym

Swift
1
star
67

document-propagator.ts

TypeScript
1
star
68

dressing

Dressing provides the functionality of CloudFunctions to connect Firebase and ElasticSearch. You need to use Salada for clients.
JavaScript
1
star
69

PHFetchedResultsController

A fetchedResultsController for PhotoKit. It can be divided into sections by date PhotoKit
Objective-C
1
star
70

NSMutableURLRequestMultipart

NSMutableURLRequestMultipart is a category of NSMutableURLRequest for sending a simple POST request.
Objective-C
1
star