Swiftpack.co - Package - Pronto-am/MobileCMS-iOS-SDK

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

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

Promises

Almost every asynchronous function ProntoSDK uses Promises internally:

let collection = ProntoCollection<Location>()
collection.list().then { result in
    // ...
}.catch { error in 
    print("Error fetching locations: \(error)")
}

If you want to convert it to your own handler read the promises guide.

References