1 min read

Get Started

Last Updated - Platform 20.0.0 - SDK 15.0.0

To start using the PoqSDK, you will need access to our private GitHub repositories.

Before you begin

To simplify development we have developed a generation and tooling solution using fastlane. PoqTooling automates everyday tasks such as project generation using XcodeGen, Cocoapods, code signing and much more.

We recommend using rbenv (which is simple to set up) to avoid OS complications such as having to redo this set up following an OS update.

Install the PoqSDK

Swift Package Manager is built into Xcode and simple to use compared to other tools.

  1. Open your workspace or project with Xcode.
  2. Go to File > Swift Packages > Add Package Dependency....
  3. Set the URL to the following (it must include .git).
https://github.com/poqcommerce/Poq.iOS.SDK.git
  1. Set the version from 15.0.0 upwards.
  2. Select PoqFoundation and the features you desire.
  3. Wait for Xcode to checkout your package dependencies.
  4. Repeat these steps for the platform using version 20.0.0.
https://github.com/poqcommerce/Poq.iOS.Platform.git
  1. Wait for Xcode to checkout your package dependencies.

Set up the PoqSDK

  1. Create your AppModule by implementing the PoqModule interface. The AppModule is responsible for setting up the app by hooking into lifecycle events.

import PoqFoundation
import UIKit
class AppModule: PoqModule {
var bundle: Bundle { .main }
func didAddToPlatform() {
// Override feature dependencies.
setUpDependencies()
}
func setUpDependencies() {}
func createViewController(forName name: String) -> UIViewController? {
// Override initial and tab view controllers.
return nil
}
}

  1. Create your AppDelegate as a subclass of BaseAppDelegate. Register the default PoqSDK modules and your AppModule using the following code.

import PoqAnalytics
import PoqFoundation
import PoqNetworking
import PoqPlatform
import UIKit
@UIApplicationMain
class AppDelegate: BaseAppDelegate {
override func setupModules() {
// Register the core modules to set up the default platform behaviour.
PoqPlatform.shared.addModule(PoqPlatformModule())
PoqPlatform.shared.addModule(PoqNetworkingModule())
PoqPlatform.shared.addModule(PoqAnalyticsModule())
// Register any integration modules here.
// PoqPlatform.shared.addModule(PoqFirebaseModule())
// Register your app's module last.
PoqPlatform.shared.addModule(AppModule())
}
}

You have set up the PoqSDK.

Next Steps