Some test text!
iOS / Guides / Add a 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 .
Import PDFNet.
If you have not already done so, import PDFNet to make it accessible.
#import
.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:
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
):
@UIApplicationMain
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.
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales