PSPDFKit 11.5 Migration Guide

This guide covers updating an iOS or Mac Catalyst project from PSPDFKit 11.4 for iOS to PSPDFKit 11.5 for iOS. We encourage you to update as soon as possible, in order to take advantage of future new features and fixes.

Removed Deprecated APIs

This version of PSPDFKit removes APIs that have been deprecated for more than a year, and therefore removes APIs that were deprecated in PSPDFKit 10.5 for iOS.

Here’s a list of all the APIs removed in this release:

Removed Deprecated APIMigration Strategy
All APIs related to the page grabber, such as PDFConfiguration.isPageGrabberEnabled and PDFViewController.pageGrabberControllerThe scroll indicator from UIScrollView supports dragging on iOS 13 and later, so this functionality isn’t needed.
PDFTabbedBar.tabbedBarStyle and PDFTabbedBarStyleSince iOS 13, the bar has been styled based on the traitCollection’s userInterfaceStyle.
PSPDFAppearanceModeChangedAnimatedKeyAppearance mode changes haven’t been animated since iOS 13.
The AppearanceModeManagerDelegate methods appearanceManager(_:applyAppearanceSettingsFor:) and appearanceManager(_:updateConfiguration:for:)Appearance mode changes only affect page rendering and should no longer be used for UI customization.
PDFAppearanceModeManager.setAppearanceMode(_:animated:)The animated parameter hasn’t been relevant since iOS 13. Set the appearanceMode property instead.

Updated Icons

Most image resources used by PSPDFKit.framework are now located in an asset catalog instead of inside PSPDFKit.bundle. If you’re customizing the icons by replacing the images in PSPDFKit.bundle, switch to using the SDK.imageLoadingHandler(opens in a new tab) API, which is a closure that gives you a name and returns an UIImage instance. You can read more about this in our guide on customizing the PDF viewer icons. Note that various image resources inside PSPDFKitUI.framework were already using an asset catalog.

We also unified the icons used for the note annotations so that the icons rendered on the PDF page and the icons in the user interface are the same. As a result of this, the icon names used for NoteAnnotation.annotationIcon(opens in a new tab) have been updated to be same names as the ones used for NoteAnnotation.renderAnnotationIcon(opens in a new tab). Below is a list of the updated icon names:

Old Icon NameNew Icon Name
note_check_thinnote-check
note_circle_thinnote-circle
note_comment_thinnote-comment
note_cross_thinnote-cross
note_help_thinnote-help
note_insert_thinnote-insert
note_key_thinnote-key
note_newparagraph_thinnote-newparagraph
note_note_thinnote-note
note_paragraph_thinnote-paragraph
note_rightarrow_thinnote-rightarrow
note_rightpointer_thinnote-rightpointer
note_star_thinnote-star