ProntoSDK 4.0.3

ProntoSDK 4.0.3

Maintained by Bas van Kuijck.



ProntoSDK 4.0.3

  • By
  • Bas van Kuijck

Pronto iOS SDK


The official Pronto iOS SDK


Join our slack channel   |   Support us on Beerpay


Installation

Cococapods

Add the following to your Podfile:

pod 'ProntoSDK'

Available sub-specs:

  • ProntoSDK/Authentication
  • ProntoSDK/Notifications
  • ProntoSDK/Collections
  • ProntoSDK/AppUpdateCheck
  • ProntoSDK/Localization
  • ProntoSDK/RemoteConfig

And run:

pod install

Carthage

Add the following to your Cartfile:

github "Pronto-am/MobileCMS-iOS-SDK"

And run:

carthage update

SwiftPM

Add the following dependency to your Package.swift:

 .package(url: "https://github.com/Pronto-am/MobileCMS-iOS-SDK", .upToNextMajor(from: "2.0.0"))

Accio

Add the following dependency to your Package.swift:

 .package(url: "https://github.com/Pronto-am/MobileCMS-iOS-SDK", .upToNextMajor(from: "2.0.0"))

And run:

accio install

Development

Open ProntoSDK.xcodeproj end start development.

Implementation

Core

In AppDelegate.swift:

import ProntoSDK

func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let config = ProntoConfig()
    
    // Setup the API client credentials
    config.clientID = <#CLIENT_ID#>
    config.clientSecret = <#CLIENT_SECRET#>
    config.encryptionKey = <#ENCRYPTION_KEY#>    
    config.domain = "mypronto.site.com"
    config.firebaseDomain = "myprontoproject.firebaseio.com"
    
    // Activate each plugin your project uses
    config.plugins = [ .notifications, .authentication, .collections, .localization, .updateChecker ]
    
    // Disable logging for non-debug builds
    #if DEBUG
        config.logger = Logger() // Should conform to `Cobalt.Logger` protocol
    #endif
    
    ProntoSDK.configure(config)
    
    // Do the rest of the implementation
    
    return true

Notifications plugin

📯 Read notifications documentation

Authentication plugin

🔐 Read authentication documentation

Collections plugin

🗂 Read collections documentation

Update checker plugin

🌟 Read update checker documentation

Localization

🇪🇺 Read localization documentation

Remote config

⚙️ Read remote config documentation

RxSwift

Almost every asynchronous function ProntoSDK uses RxSwift internally:

import RxSwift
import RxCocoa

let single = ProntoCollection<Location>().list() // = Single<[Location]>
single.subscribe(onSuccess: { locations in 
    // ...
}, onError: { error in 
    print("Error fetching locations: \(error)")
}).disposed(by: disposeBag)

References