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 API Migration Strategy
All APIs related to the page grabber, such as PDFConfiguration.isPageGrabberEnabled and PDFViewController.pageGrabberController The scroll indicator from UIScrollView supports dragging on iOS 13 and later, so this functionality isn’t needed.
PDFTabbedBar.tabbedBarStyle and PDFTabbedBarStyle Since iOS 13, the bar has been styled based on the traitCollection’s userInterfaceStyle.
PSPDFAppearanceModeChangedAnimatedKey Appearance 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 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 have been updated to be same names as the ones used for NoteAnnotation.renderAnnotationIcon. Below is a list of the updated icon names:

Old Icon Name New Icon Name
note_check_thin note-check
note_circle_thin note-circle
note_comment_thin note-comment
note_cross_thin note-cross
note_help_thin note-help
note_insert_thin note-insert
note_key_thin note-key
note_newparagraph_thin note-newparagraph
note_note_thin note-note
note_paragraph_thin note-paragraph
note_rightarrow_thin note-rightarrow
note_rightpointer_thin note-rightpointer
note_star_thin note-star