Some test text!

Discord Logo

Chat with us

PDFTron is now Apryse, learn more here.

iOS / Guides / Add a license key


PDFTron is now Apryse, learn more here.

Add license key

This guide demonstrates how to initialize PDFNet with a license key. To begin working with PDFNet, you must have first added it to your project .

  1. Import PDFNet.

    If you have not already done so, import PDFNet to make it accessible.

    Import PDFNet

    Importing PDFNet. The equivalent in Objective-C is #import.
  2. PDFNet must be initialized before any other PDFNet API calls are made. This only needs to be done once. If you have a commercial license key, it must be passed in to the initialize method. (An invalid key will result in the library running in demo mode.) Initializing PDFNet is done as shown:

No trial license key required.
The trial of Apryse SDK works without a license key. A commercial license key is required for use in a production environment. Please fill out our licensing form if you do not have a valid license key.
Keep your commercial license key confidential.
License keys are uniquely generated. Please make sure that it is not publicly available (e.g. in your public GitHub).

Initializing PDFNet in a Swift project that uses storyboards

The app lifecycle in a Swift project that uses storyboards is different than other iOS projects, they require careful handling to ensure PDFNet is initialized before its classes are used.

In Swift projects that use storyboards, non-optional stored properties that are instantiated at the point of declaration are instantiated before most code has a chance to run, including application(_:willFinishLaunchingWithOptions:). This means that even if you initialize PDFNet with a license key in this method, which is "your app’s first chance to execute code at launch time", it will result in an error.

To initialize PDFNet beforeapplication(_:willFinishLaunchingWithOptions:), add a new property in AppDelegate.swift that is initialized with the result of a call to PDFNet's initialize method (which is void):

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    private let pdfnetInitialize = PTPDFNet.initialize("Insert commercial license key here after purchase")

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        return true

Alternatively, non-optional stored properties could be instantiated in the class's init functions, in which case application(_:willFinishLaunchingWithOptions:) will be run first.

Get the answers you need: Support