• Stars
    star
    1,989
  • Rank 22,303 (Top 0.5 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 9 years ago
  • Updated about 1 year ago

Reviews

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

Repository Details

Type-safe networking abstraction layer that associates request type with response type.

APIKit

Build Status codecov Carthage compatible Version Platform Swift Package Manager

APIKit is a type-safe networking abstraction layer that associates request type with response type.

// SearchRepositoriesRequest conforms to Request protocol.
let request = SearchRepositoriesRequest(query: "swift")

// Session receives an instance of a type that conforms to Request.
Session.send(request) { result in
    switch result {
    case .success(let response):
        // Type of `response` is `[Repository]`,
        // which is inferred from `SearchRepositoriesRequest`.
        print(response)

    case .failure(let error):
        self.printError(error)
    }
}

Requirements

  • Swift 5.3 or later
  • iOS 9.0 or later
  • Mac OS 10.10 or later
  • watchOS 2.0 or later
  • tvOS 9.0 or later

If you use Swift 2.2 or 2.3, try APIKit 2.0.5.

If you use Swift 4.2 or before, try APIKit 4.1.0.

If you use Swift 5.2 or before, try APIKit 5.3.0.

Installation

  • Insert github "ishkawa/APIKit" ~> 5.0 to your Cartfile.
  • Run carthage update.
  • Link your app with APIKit.framework in Carthage/Build.
  • Insert pod 'APIKit', '~> 5.0' to your Podfile.
  • Run pod install.

Note: CocoaPods 1.4.0 is required to install APIKit 5.

Documentation

Advanced Guides

Migration Guides

More Repositories

1

DataSourceKit

Declarative, testable data source of UICollectionView and UITableView.
Swift
722
star
2

DIKit

A statically typed dependency injector for Swift.
Swift
303
star
3

ISRefreshControl

(deprecated) iOS4-compatible UIRefreshControl
Objective-C
228
star
4

ISColumnsController

paginated container view controller.
Objective-C
108
star
5

ISDiskCache

LRU disk cache for iOS.
Objective-C
86
star
6

sandbox

Objective-C
60
star
7

UINavigationController-Transition

extension for custom transition by blocks.
Objective-C
58
star
8

iosdc-2018-demo

Swift
47
star
9

ISBackGesture

equips UIViewController with recognizing swipe to back.
Objective-C
38
star
10

NSRunLoop-PerformBlock

extension of NSRunLoop for waiting.
Objective-C
31
star
11

UIWebView-Progress

integrates NJKWebViewProgress into UIWebView.
Objective-C
28
star
12

storyboard-2018-demo

Swift
27
star
13

ISRemoveNull

extension of NSArray and NSDictionary to remove NSNull from them.
Objective-C
25
star
14

ISInteractiveEdgesNavigationBar

subclass of UINavigationBar which can handle touch events on both edges.
Objective-C
22
star
15

ISInvocationHookProxy

A proxy object that hooks each NSInvocation of target.
Objective-C
20
star
16

ISMemoryCache

NSDictionary-based memory cache.
Objective-C
19
star
17

ios_mvvm_test_example

Swift
18
star
18

ISHTTPOperation

a subclass of NSOperation to wrap asynchronous NSURLConnection.
Objective-C
13
star
19

talks

Swift
13
star
20

wire_example

Go
11
star
21

ISNetwork

minimal NSURLConnection wrapper (NSOperation based)
Objective-C
11
star
22

ISAlternativeRefreshControl

a template for creating custom UIRefreshControl.
Objective-C
11
star
23

ISMethodSwizzling

functions to swizzle instance/class methods.
Objective-C
9
star
24

iOS5UIRefreshControlTotorial

http://atnd.org/events/39505
Objective-C
8
star
25

APIKit-AlamofireAdapter

Alamofire adapter for APIKit.Session (alpha).
Swift
8
star
26

slackstream

Go
7
star
27

ishkawa.github.com

HTML
5
star
28

flutter_add_to_app_demo

Dart
5
star
29

ISCyclicPagesView

Objective-C
5
star
30

ISRevealController

container controller which has slidable UINavigationController and menu UIViewController.
Objective-C
3
star
31

GHFSupport

3
star
32

custom_json_serializable_example

Dart
3
star
33

IRMCommandOperation

an operation to send command to iRemocon.
Objective-C
3
star
34

NSDictionary-URLQuery

Ruby
3
star
35

ISTableViewController

a viewcontroller for the combination of UITableView and NSMutableArray
Objective-C
2
star
36

GHP

Swift
2
star
37

KIFNextExample

an example project for KIF 2.0.0
Objective-C
2
star
38

ISGcovFlusher

Test observer class which calls __gcov_flush() on completion of XCTests.
Ruby
2
star
39

ISFakeInterfaceOrientation

Objective-C
2
star
40

ttw

an extremely minimal twitter client.
Objective-C
2
star
41

slackmute

Go
2
star
42

XCTestCase-ExpectationWithCondition

extension of XCTestCase to create XCTestExpectation which waits for the condition to be fulfilled.
Swift
2
star
43

SenAsyncTestCase

a subclass of SenTestCase which is compatible with asynchronous tests.
Objective-C
2
star
44

AutoIssueExample

Qiita hackathon
Objective-C
1
star
45

ISMessageAlertView

alert view with ISTextView (subclass of UITextView)
Objective-C
1
star
46

NSDate-Twitter

NSDate category for Twitter
1
star
47

CoreDataExperiment

Objective-C
1
star
48

term_twitter

twitter client for terminal
Python
1
star
49

UIColor-Code

UIColor by color code.
Objective-C
1
star
50

RunTestsForAllDestinationsExample

Objective-C
1
star
51

GIRIcon

Objective-C
1
star
52

ISDataManager

Objective-C
1
star
53

ReadHub

source code reader
Objective-C
1
star
54

Newton

大人の夏休みの自由研究。
Objective-C
1
star
55

remind

command to send task to Reminder (iCloud).
Objective-C
1
star
56

PMDR

extremely minimal pomodoro timer
Objective-C
1
star
57

ISTwitterAuthorizeViewController

a view controller to get access token for twitter (using OAuthCore and ISNetwork)
Objective-C
1
star