---
title: "PSPDFKit 9 Migration Guide"
canonical_url: "https://www.nutrient.io/guides/ios/migration-guides/pspdfkit-9-migration-guide/"
md_url: "https://www.nutrient.io/guides/ios/migration-guides/pspdfkit-9-migration-guide.md"
last_updated: "2026-06-09T10:25:14.472Z"
description: "Migration guide for Nutrient iOS SDK version 9 with breaking changes, API updates, and upgrade instructions."
---

This guide covers updating an iOS project from PSPDFKit&nbsp;8.x to PSPDFKit&nbsp;9. We encourage you to update as soon as possible, in order to take advantage of future new features and fixes.

PSPDFKit 9.0.0 for iOS fully supports iOS 11, 12, and 13. iOS 11 support will be removed later during the PSPDFKit 9 lifecycle. Xcode 11 or later is required to use this version of the SDK. Learn more in our [version support](https://www.nutrient.io/../../announcements/version-support) guide.

## XCFramework Integration

PSPDFKit 9 for iOS is bundled as `.xcframework` files (XCFrameworks) instead of as `.framework` files. If you’re using the [manual integration](https://www.nutrient.io/sdk/ios/getting-started.md), you need to remove the old frameworks from the Frameworks, Libraries, and Embedded Content section of your target and add the XCFrameworks instead.![embedded-binaries](@/assets/guides/ios/migration-guides/pspdfkit-9-migration-guide/embedded-binaries.png)

For more details, follow our [integrating PSPDFKit manually](https://www.nutrient.io/sdk/ios/getting-started.md) guide.

## Dark Mode

The entire PSPDFKit user interface was audited for compatibility using the new systemwide Dark Mode, which led to some updates to used default colors and visual effect materials. On iOS 13, most user interface colors are now dynamic `UIColor`s, which automatically adapt in Dark Mode. Color and material changes are mostly contained to iOS 13. However, due to the internal unification of used colors, certain defaults might also have changed slightly on previous iOS versions.

The addition of Dark Mode support also led to some behavioral changes with PSPDFKit’s own internal dark interface implementation.

On iOS 13, `PSPDFAppearanceManager` no longer transitions the UI into dark mode via `UIAppearance`-based theming when `PSPDFAppearanceModeNight` is selected. This is true for both programmatic switching via `PSPDFAppearanceManager.appearanceMode` and when the appearance mode is specified via the built-in UI on `PSPDFSettingsViewController`. Instead, the UI follows the global interface mode setting that the end user selects. The page rendering style is still adjusted when `PSPDFAppearanceMode.appearanceMode` changes.

We recommend following Apple guidelines and honoring the user’s selected interface mode. However, if you prefer to still use PSPDFKit’s UI to switch user interface styles inside your application, you can do so via `PSPDFAppearanceManagerDelegate` messages or `PSPDFAppearanceModeChangedNotification` messages, all of which are still being sent out on appearance updates. You can listen for those updates and then set `overrideUserInterfaceStyle` on a view controller or view appropriate for your application.

The behavior of `PSPDFAppearanceManager`, its delegates, and the related UI remains unchanged on iOS 11 and iOS 12.

## PSPDFKitSwift Integration

The introduction of both ABI and module stability in the Swift 5.1 compiler enabled us to merge our [PSPDFKitSwift](https://github.com/PSPDFKit/PSPDFKitSwift) wrapper into our main binary distribution. The standalone project is now deprecated and **should be removed from your project** when updating to PSPDFKit 9 for iOS. If you’re using CocoaPods or Carthage, you should remove the `PSPDFKitSwift` dependency from your Podfile or Cartfile.

During the integration, we made the following changes to the Swift and Objective-C APIs:

- Changed: `PSPDFKit` Objective-C class

  _Renamed to `PSPDFKitGlobal` to avoid conflicts with the `PSPDFKit` module name. The previous `PSPDFKitObject` Swift typealias was removed._

- Removed: `Result` struct

  _Removed in favor of the built-in struct with the same name in Swift 5._

- Removed: `PDFDocument` convenience subclass

  _Most of its functionality was migrated to `PSPDFDocument` extensions. You should use `PSPDFDocument` instead._

- Removed: Typealiases for annotation types

  _Use `PSPDF`-prefixed class names instead._

If your application is targeting iOS versions **prior to iOS 12.2** and your application **does not already contain any Swift code**, then you need to make sure Xcode bundles Swift standard libraries with your application distribution. To do so, open your target Build Settings and enable Always Embed Swift Standard Libraries. After setting this, clean the project before building again.

If testing on iOS 11 and 12 still leads to issues similar to `dyld: Library not loaded: @rpath/libswiftCore.dylib` (observed for Objective-C-only test targets), then you can also try an alternative approach by including a minimal Swift class in your project that ensures Foundation libraries are loaded.

Sample Swift class:

```swift

import Foundation

class TokenSwiftFile {
    func tokenFunction () {
        NSLog("This file exists to force-load Swift libraries for iOS <12.2.")
    }
}

```

## UIWebView Removal

[`PSPDFWebViewController`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/webviewcontroller) switched from the deprecated `UIWebView` to use the more modern `WKWebView` by default a long time ago. Support for `UIWebView` was kept for a transitional period, and it has now been removed. This means the following API changes have been made:

- Removed: `PSPDFWebKitLegacyModeKey` setting on the `PSPDFKit` object (now `PSPDFKitGlobal`)

- Removed: `PSPDFCommonWebView` protocol

- Removed: `PSPDFWebViewController.useModernWebKit`

  _The more modern WebKit framework is now always used._

- Changed: `PSPDFWebViewController.webView`

  _The property type has changed from `UIView<PSPDFCommonWebView>` to `WKWebView`._

Note that, by default, PSPDFKit asks the system to open links, which usually means they open in Safari ([`PSPDFLinkActionOpenSafari`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/linkaction/opensafari)). This is our recommended user experience. If you would prefer to provide an in-app browser, then we recommend showing `SFSafariViewController` ([`PSPDFLinkActionInlineBrowser`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/linkaction/inlinebrowser)) rather than `PSPDFWebViewController` ([`PSPDFLinkActionInlineWebViewController`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/linkaction/inlinewebviewcontroller)).

## Customizing Document Rendering

PSPDFKit 9 for iOS introduces a new class, `PSPDFRenderOptions`, which is a concrete representation of the options that can be used to customize how a document or annotations are rendered.

`PSPDFRenderOptions` replaces all the keys that were in the `PSPDFRenderOption` enumeration. This means keys such as `PSPDFRenderOptionPreserveAspectRatioKey`, `PSPDFRenderOptionInvertedKey`, and `PSPDFRenderOptionFiltersKey` are no longer available. Likewise, all of the rendering methods that take render options, such as `-[PSPDFDocument imageForPageAtIndex:size:clippedToRect:annotationsoptions:error:]`, have been updated to take `PSPDFRenderOptions` as options, as opposed to taking `NSDictionary<PSPDFRenderOption, id>`. If you use or implement any of these methods yourself, you’ll have to update them to the correct signature to resolve any compilation issues.

APIs affected by this:

- Changed: `-[PSPDFPageView renderOptionsDictWithZoomScale:animated:]`

  _Renamed to `-[PSPDFPageView renderOptionsWithZoomScale:animated:]`._

- Changed: `PSPDFConfiguration.scrollOnTapPageEndAnimationEnabled`

  _Renamed to `animateScrollOnEdgeTaps`._

- Changed: `PSPDFConfiguration.scrollOnTapPageEndMargin`

  _Renamed to `scrollOnEdgeTapMargin`._

- Changed: `-[PSPDFAnnotation maybeRenderCustomAppearanceStreamWithContext:withOptions:]`

  _Renamed to `-[PSPDFAnnotation maybeRenderCustomAppearanceStreamWithContext:options:]`._

- Changed: `-[PSPDFAnnotation drawInContext:withOptions:]`

  _Renamed to `-[PSPDFAnnotation drawInContext:options:]`._

- Changed: `-[PSPDFAnnotation imageWithSize:withOptions:]`

  _Renamed to `-[PSPDFAnnotation imageWithSize:options:]`._

- Changed: `-[PSPDFAnnotationSet drawInContext:withOptions:]`

  _Renamed to `-[PSPDFAnnotationSet drawInContext:options:]`._

- Changed: `-[PSPDFDocument updateRenderOptions:type:]`

  _Use `-[PSPDFDocument updateRenderOptionsForType:withBlock:]`._

- Changed: `-[PSPDFDocument renderOptionsForType:context:]`

  _Use `-[PSPDFDocument renderOptionsForType:]`._

## PDF Generation and Modification

PSPDFKit 9 for iOS improves the API for generating PDFs from website URLs and HTML strings, and it adds the ability to generate PDFs from `NSAttributedString`s.

PDF generation methods are now unified in the form of class methods on `PSPDFProcessor`. They return one of several new operations — `PSPDFURLConversionOperation`, `PSPDFHTMLConversionOperation`, or `PSPDFAttributedStringConversionOperation`. The operations can be observed and canceled. The old instance method-based API for generating PDFs from URLs and HTML strings has been removed.

`-[PSPDFProcessor cancel]` no longer cancels all ongoing conversion operations. The cancelation call only affects operations performed on existing PDFs with the instance method-based API. Use the new `+[PSPDFProcessor cancelAllConversionOperations]` to cancel conversion operations.

APIs affected by this:

- Removed: `-[PSPDFProcessor initWithOptions:]`

  _Pass `options` directly to the new PDF generation methods._

- Removed: `-[PSPDFProcessor convertHTMLString:]`

  _Use the new `+[PSPDFProcessor generatePDFFromHTMLString:options:completionBlock:]`._

- Removed: `-[PSPDFProcessor convertHTMLString:outputFileURL:]`

  _Use the new `+[PSPDFProcessor generatePDFFromHTMLString:outputFileURL:options:completionBlock:]`._

- Removed: `-[PSPDFProcessor convertHTMLString:outputFileURL:completionBlock:]`

  _Use the new `+[PSPDFProcessor generatePDFFromHTMLString:outputFileURL:options:completionBlock:]`._

- Removed: `-[PSPDFProcessor generatePDFFromURL:]`

  _Use the new `+[PSPDFProcessor generatePDFFromURL:options:completionBlock:]`._

- Removed: `-[PSPDFProcessor generatePDFFromURL:outputFileURL:]`

  _Use the new `+[PSPDFProcessor generatePDFFromURL:outputFileURL:options:completionBlock:]`._

- Removed: `-[PSPDFProcessor generatePDFFromURL:outputFileURL:completionBlock:]`

  _Use the new `+[PSPDFProcessor generatePDFFromURL:outputFileURL:options:completionBlock:]`._

- Changed: `PSPDFConversionOperation`

  _Split into `PSPDFURLConversionOperation`, `PSPDFHTMLConversionOperation`, and `PSPDFAttributedStringConversionOperation`._

The `PSPDFProcessor` API for PDF document modification has also been cleaned up. The non-throwing methods `data`, `writeToFileURL:`, and `outputToDataSink:` have been removed in favor of their throwing counterparts.

APIs affected by this:

- Removed: `-[PSPDFProcessor data]`

  _Use `-[PSPDFProcessor dataWithError:]`._

- Removed: `-[PSPDFProcessor writeToFileURL:]`

  _Use `-[PSPDFProcessor writeToFileURL:error:]`._

- Removed: `-[PSPDFProcessor outputToDataSink:]`

  _Use `-[PSPDFProcessor outputToDataSink:error:]`._

The `PSPDFProcessorDelegate`-based error and completion handling via `processor:didFinishWithError:`, `processor:didFinishWithData:`, and `processor:didFinishWithFileURL:` have also been removed.

APIs affected by this:

- Removed: `-[PSPDFProcessorDelegate processor:didFinishWithError:]`

  _Use the `error` parameter in the PDF document modification methods and `completionBlock` in the new PDF generation methods._

- Removed: `-[PSPDFProcessorDelegate processor:didFinishWithData:]`

  _Use `completionBlock` in the new PDF generation methods._

- Removed: `-[PSPDFProcessorDelegate processor:didFinishWithFileURL:]`

  _Use `completionBlock` in the new PDF generation methods._

All these changes result in simpler and safer APIs that are fully compatible with Swift.

## Brightness Manager Cleanup

With modern devices supporting a lower screen brightness, `PSPDFBrightnessManager` has been cleaned up. Additional software dimming is now no longer supported.

- Removed: `-[PSPDFBrightnessManager brightness]`

  _Use `UIScreen.mainScreen.brightness` instead._

- Removed: `-[PSPDFBrightnessManager wantsSoftwareDimming]`

  _Use `UIScreen.mainScreen.wantsSoftwareDimming` instead._

- Removed: `-[PSPDFBrightnessManager wantsAdditionalSoftwareDimming]`

  _Additional software dimming support has been removed, as this is less useful with modern devices supporting a lower screen brightness._

- Removed: `-[PSPDFBrightnessManager additionalBrightnessDimmingFactor]`

  _Additional software dimming support has been removed, as this is less useful with modern devices supporting a lower screen brightness._

- Removed: `-[PSPDFBrightnessManager maximumAdditionalBrightnessDimmingFactor]`

  _Additional software dimming support has been removed, as this is less useful with modern devices supporting a lower screen brightness._

- Removed: `-[PSPDFBrightnessViewController brightnessManager]`

  _The brightness is now directly handled on the main screen instead of going through the brightness manager._

## Status HUD Support for Multiple Windows

Previously, the status HUD was a singleton that was shared across the entire app. On iOS versions prior to 13, there was only ever a single window, so this was fine. But with the introduction of support for multiple windows in iOS 13, this approach was flawed, and each window scene needed its own status HUD to display content on the correct window. As a result, `PSPDFStatusHUD` and `PSPDFStatusHUDItem` changed a bit, since the status HUD now needs a window to coordinate where to show the status HUD item.

- Removed: `+[PSPDFStatusHUD items]`

  _Changed to `+[PSPDFStatusHUD itemsForHUDOnWindow:]`._

- Removed: `+[PSPDFStatusHUD popAllItemsAnimated:completion:]`

  _Changed to `+[PSPDFStatusHUD popAllItemsAnimated:forHUDOnWindow:completion:]`._

- Removed: `-[PSPDFStatusHUDItem pushAnimated:completion:]`

  _Changed to `-[PSPDFStatusHUDItem pushAnimated:onWindow:completion:]`._

- Removed: `-[PSPDFStatusHUDItem pushAndPopWithDelay:animated:completion:]`

  _Changed to `-[PSPDFStatusHUDItem pushAndPopWithDelay:animated:onWindow:completion:]`._

## Other API Changes

- Removed: `+[PSPDFAnnotation isWriteable]`

  _All non-abstract `PSPDFAnnotation` subclasses except the non-standard `PSPDFEraserAnnotation` can be considered writable._

- Removed: `PSPDFBlurView` class

  _This class provided backward compatibility with iOS versions that did not support `UIVisualEffectView`. `UIVisualEffectView` should now be used directly._

- Removed: `PSPDFTabbedBar.interactiveReorderingGestureRecognizer`

  The tabbed bar reordering has been changed to use the system drag-and-drop feature instead of interactive reordering.

- Changed: `PSPDFKit` class

  _Renamed to `PSPDFKitGlobal` to avoid conflicts with the `PSPDFKit` module name in Swift._

- Changed: `+[PSPDFAnnotation isDeletable]` and `PSPDFAnnotation.shouldDeleteAnnotation`

  _Replaced by a single `PSPDFAnnotation.isDeletable` property that consolidates both values._

- Changed: `PSPDFConfiguration.scrollOnTapPageEndEnabled`

  _Renamed to `scrollOnEdgeTapEnabled`._

- Changed: `PSPDFConfiguration.scrollOnTapPageEndAnimationEnabled`

  _Renamed to `animateScrollOnEdgeTaps`._

- Changed: `PSPDFConfiguration.scrollOnTapPageEndMargin`

  _Renamed to `scrollOnEdgeTapMargin`._

- Changed: `PSPDFUsernameHelperWillDismissAlertNotification`

  _Renamed to `PSPDFUsernameHelperDidDismissViewNotification`. This is posted after the dismissal ends rather than before in order to work better with sheets on iOS 13 that can be dismissed by swiping down._

## Removal of Deprecated APIs

All of the previously deprecated APIs have been removed.

### PSPDFKitUI

- Removed: `-[PSPDFAnnotationPresenting didShowPageView:]`

  _Implements `-willShowPageView:` instead, which is functionally the same but better conveys the timing involved in this method._

- Removed: `-[PSPDFAnnotationStateManager drawingInputMode]`

  _Sets the state to `PSPDFAnnotationStringEraser` to use the eraser._

- Removed: `[PSPDFAnnotationPresenting didShowPageView:]`

  _Implements `-willShowPageView:` instead, which is functionally the same but better conveys the timing involved in this method._

- Removed: `[PSPDFAnnotationStateManager drawingInputMode]`

  _Sets the state to `PSPDFAnnotationStringEraser` to use the eraser._

- Removed: `[PSPDFHSVColorPickerController minimumSize]`

  _No longer used._

- Removed: `[PSPDFColorSelectionViewController minimumSize]`

  _No longer used._

- Removed: `[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:willShareFiles:]`

  _The returned value from this method is now discarded. Use `-[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:filenameForGeneratedFileForDocument:destination:]` to change the names of the generated files._

- Removed: `[PSPDFDocumentSharingProcessingManagerDelegate sharingProcessingManager:willShareFiles:]`

  _The returned value from this method is now discarded. Use `-[PSPDFDocumentSharingProcessingManager sharingProcessingManager:filenameForGeneratedFileForDocument:destination:]` to change the names of the generated files._

- Removed: `[PSPDFSignatureViewController lines]`

  _Use the signature view controller’s `drawView.pointSequences` instead._

- Removed: `[PSPDFSignatureViewController keepLandscapeAspectRatio]`

  _A landscape ratio for drawing is now always used by default. Not using a landscape aspect ratio will cause drawing to be cut off on rotation or on app size changes._

- Removed: `[PSPDFSaveViewController initWithDocumentEditorConfiguration:]`

  _Use `initWithSaveDirectories:` instead._

- Removed: `[PSPDFSaveViewController documentEditorConfiguration]`

  _Use `saveDirectories` and `selectedSaveDirectory` instead to configure the Document Editor._

- Removed: `[PSPDFDocumentEditorToolbarController toggleSaveActionSheet:presentationOptions:completionHandler:]`

  _Use the new `-toggleSavingConfirmationViewController:presentationOptions:completionHandler:` method._

- Removed: `PSPDFPersistentCloseButtonMode`

  _Persistent close buttons are no longer used by PSPDFKit itself and will be removed in a future release._

- Removed: `[PSPDFNavigationController persistentCloseButtonMode]`

  _Persistent close buttons are no longer used by PSPDFKit itself and will be removed in a future release._

- Removed: `[PSPDFNavigationController setDelegate:]`

  _Not available._

- Removed: `[PSPDFNavigationController persistentCloseButton]`

  _Persistent close buttons are no longer used by PSPDFKit itself and will be removed in a future release._

- Removed: `[PSPDFUserInterfaceView thumbnailBarInsets]`

  _Use `-[PSPDFUserInterfaceView scrubberBarInsets:]` instead to add insets to the thumbnail bar._

- Removed: `PSPDFPresentationPersistentCloseButtonKey`

  _This option is no longer used by PSPDFKit itself and will be removed in a future release._

- Removed: `[PSPDFDigitalSignatureCoordinator presentSignedDocument:showingPageIndex:]`

  _Use `presentSignedDocument:showingPageIndex:withPresentationContext:` instead._

- Removed: `[PSPDFFlexibleToolbarContainer isFlickToCloseEnabled]`

  _The flick-to-close feature has been removed, and modifying this property no longer has any effect._

- Removed: `[PSPDFBookmarkCell bookmarkString]`

  _The bookmark cell contains multiple labels now. Use the appropriate text fields or labels instead._

- Removed: `[PSPDFScrubberBar isSmallToolbar]`

  _The toolbar can have more than two different sizes now. Override `scrubberBarHeight` to change the scrubber bar size. Overriding `isSmallToolbar` no longer has any effect._

### PSPDFKit

- Removed: `[PSPDFBookmarkManager removeBookmarkForPageAtIndex:]`

  _Use the more accurately named `removeBookmarksForPageAtIndex:` method instead._

- Removed: `+[PSPDFStampAnnotation stampColorForSubject:]`

  _Use `colorForStampType:` instead._

- Removed: `[PSPDFStampAnnotation initWithSubject:]`

  _For a standard stamp, use `initWithStampType:`. For custom text, use `initWithTitle:`._

- Removed: `[PSPDFStampAnnotation localizedSubject]`

  _Use `title` instead._

- Removed: `[PSPDFStampAnnotation subtext]`

  _Use `subtitle` instead._

- Removed: `[PSPDFStampAnnotation subject]`

  _Consider `stampType` or `title`, or cast to `PSPDFAnnotation` if you really want the subject._

- Removed: `[PSPDFDocument applyInstantJSONFromDataProvider:toDocumentProvider:error:]`

  _Use `applyInstantJSONFromDataProvider:toDocumentProvider:lenient:error:` instead_

- Removed: `PSPDFDocumentSaveOptionForceRewrite`

  _Use `PSPDFDocumentSaveOptionForceSaving` instead._

- Removed: `[PSPDFSigner externalSignatureDelegate]`

  _Instead of the `externalSignatureDelegate` property, you can use the `delegate` property for greater flexibility._

- Removed: `[PSPDFSigner signFormElement:withCertificate:writeTo:appearance:biometricProperties:completionBlock:]`

  _Call `signFormElement:withCertificate:writeTo:completionBlock:` instead and set the `dataSource` to configure the signature properties._

- Removed: `[PSPDFSigner signFormElement:withCertificate:writeToDataSink:appearance:biometricProperties:completionBlock:]`

  _Call `signFormElement:withCertificate:writeToDataSink:completionBlock:` instead and set the `dataSource` to configure the signature properties._

- Changed: `PSPDFSignatureInputMethodNone`

  _Enum has been renamed to `PSPDFDrawInputMethod*`._

- Changed: `PSPDFSignatureInputMethodFinger`

  _Enum has been renamed to `PSPDFDrawInputMethod*`._

- Changed: `PSPDFSignatureInputMethodApplePencil`

  _Enum has been renamed to `PSPDFDrawInputMethod*`._

- Changed: `PSPDFSignatureInputMethodThirdPartyStylus`

  _Enum has been renamed to `PSPDFDrawInputMethod*`._

- Changed: `PSPDFDrawInputMethodThirdPartyStylus`

  _Enum has been renamed to `PSPDFDrawInputMethod*`._

- Changed: `PSPDFSignatureInputMethodMouse`

  _Enum has been renamed to `PSPDFDrawInputMethod*`._
---

## Related pages

- [14 9 Migration Guide](/guides/ios/migration-guides/14-9-migration-guide.md)
- [14 2 Migration Guide](/guides/ios/migration-guides/14-2-migration-guide.md)
- [Migrate to electronic signatures](/guides/ios/migration-guides/migrating-to-electronic-signatures.md)
- [Pspdfkit 10 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-10-3-migration-guide.md)
- [Migrating To Advanced Digital Signatures Api](/guides/ios/migration-guides/migrating-to-advanced-digital-signatures-api.md)
- [Pspdfkit 10 Migration Guide](/guides/ios/migration-guides/pspdfkit-10-migration-guide.md)
- [Migrating From Apple Pdfkit](/guides/ios/migration-guides/migrating-from-apple-pdfkit.md)
- [Pspdfkit 10 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-10-4-migration-guide.md)
- [Pspdfkit 11 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-11-5-migration-guide.md)
- [Pspdfkit 11 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-11-3-migration-guide.md)
- [Pspdfkit 12 2 Migration Guide](/guides/ios/migration-guides/pspdfkit-12-2-migration-guide.md)
- [Pspdfkit 13 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-13-3-migration-guide.md)
- [Pspdfkit 12 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-12-3-migration-guide.md)
- [Pspdfkit 13 Migration Guide](/guides/ios/migration-guides/pspdfkit-13-migration-guide.md)
- [Pspdfkit 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-4-migration-guide.md)
- [Pspdfkit 11 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-11-4-migration-guide.md)
- [Pspdfkit 12 Migration Guide](/guides/ios/migration-guides/pspdfkit-12-migration-guide.md)
- [Pspdfkit 6 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-6-5-migration-guide.md)
- [Pspdfkit 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-3-migration-guide.md)
- [Pspdfkit 6 Migration Guide](/guides/ios/migration-guides/pspdfkit-6-migration-guide.md)
- [Pspdfkit 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-5-migration-guide.md)
- [Pspdfkit 7 6 Migration Guide](/guides/ios/migration-guides/pspdfkit-7-6-migration-guide.md)
- [Pspdfkit 9 2 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-2-migration-guide.md)
- [Pspdfkit 9 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-4-migration-guide.md)
- [Pspdfkit 9 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-5-migration-guide.md)
- [Migrate to PSPDFKit 7 with ease](/guides/ios/migration-guides/pspdfkit-7-migration-guide.md)
- [Upgrading](/guides/ios/getting-started/upgrading.md)
- [Pspdfkit 9 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-3-migration-guide.md)
- [PSPDFKit 8 migration guide for iOS developers](/guides/ios/migration-guides/pspdfkit-8-migration-guide.md)

