---
title: "PSPDFKit 10.3 Migration Guide"
canonical_url: "https://www.nutrient.io/guides/ios/migration-guides/pspdfkit-10-3-migration-guide/"
md_url: "https://www.nutrient.io/guides/ios/migration-guides/pspdfkit-10-3-migration-guide.md"
last_updated: "2026-06-09T10:24:43.295Z"
description: "Learn how to easily update your iOS and Mac Catalyst projects to PSPDFKit 10.3, featuring enhanced support and new optimizations for seamless integration."
---

This guide covers updating an iOS or Mac Catalyst project from PSPDFKit&nbsp;10.2 for iOS to PSPDFKit&nbsp;10.3 for iOS. We expect this to be a fast and easy upgrade. We encourage you to update as soon as possible to take advantage of future new features and fixes.

## Optional Improvements

This release adds support for the Optimize Interface for Mac setting for Mac Catalyst apps. If you previously weren’t using the setting because of PSPDFKit, you can now enable it.

If you implement an object conforming to the `SignatureStore` protocol, then you no longer need to implement `init(storeName:)` and `storeName` because these requirements were moved to our concrete implementation, `KeychainSignatureStore`. The name of a store was never read by PSPDFKit.

The store name parameter may now be omitted when initializing a `KeychainSignatureStore`. The default store name will be used in this case. In other words, you can change `KeychainSignatureStore(storeName: KeychainSignatureStore.DefaultStoreName)` to `KeychainSignatureStore()`.

## Breaking API Changes

There are a few API changes that may require straightforward updates. Attempt to compile your project after updating PSPDFKit. If you encounter any compiler errors where your project calls PSPDFKit APIs, then you can find the recommended migration approaches below. If there are no compiler errors, then no integration changes are necessary.

Error handling has been added to the `DataProviding` protocol. The `data` property has been replaced by the `data()` throwing function, and `readData(withSize:atOffset:)` is now a throwing function. These both return `NSError` by reference in Objective-C. Update your implementation to account for the possibility of errors occurring.

Furthermore, the deprecated `DataProviding` method `replace(with:)` has been removed. Use the renamed alternative `replaceContents(with:)`.

The `MenuItem.identifier` property has been changed from read-write to read-only because identifiers should not be changed. Set the identifier when initializing the object.

All initializers of `SearchViewController` except `init(document:)` have been marked as unavailable. Ensure you use `init(document:)`. Note that using any other initializer in a previous version of PSPDFKit would not have worked at runtime anyway.

The type of the `PDFConfiguration.signatureStore` property has changed from required to optional because there can now be no signature store set. If you’re reading this property, account for the possibility of `nil` — such as with optional chaining or force unwrapping — if you’re sure you’ve set this to a non-`nil` value.

The `UIHostingView` class has been removed. This was a general helper for SwiftUI and UIKit interoperability. Use your own helper for this instead, such as the one from the [SwiftUIX](https://github.com/swiftuix/SwiftUIX) project.

## Electronic Signatures

This release adds the [Electronic&nbsp;Signatures](https://www.nutrient.io/guides/ios/signatures/adding-an-electronic-signature.md) component. If you use the older signing functionality as part of the Annotations component and would like to update to Electronic&nbsp;Signatures, see our guide on [migrating to electronic&nbsp;signatures](https://www.nutrient.io/../migrating-to-electronic-signatures/). If you continue to use the older signing functionality, then no integration changes are necessary.
---

## 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)
- [Migrating From Apple Pdfkit](/guides/ios/migration-guides/migrating-from-apple-pdfkit.md)
- [Migrate to electronic signatures](/guides/ios/migration-guides/migrating-to-electronic-signatures.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)
- [Pspdfkit 10 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-10-4-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 11 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-11-5-migration-guide.md)
- [Pspdfkit 13 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-13-3-migration-guide.md)
- [Pspdfkit 13 Migration Guide](/guides/ios/migration-guides/pspdfkit-13-migration-guide.md)
- [Pspdfkit 12 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-12-3-migration-guide.md)
- [Pspdfkit 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-3-migration-guide.md)
- [Pspdfkit 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-4-migration-guide.md)
- [Pspdfkit 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-5-migration-guide.md)
- [Pspdfkit 11 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-11-4-migration-guide.md)
- [Pspdfkit 6 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-6-5-migration-guide.md)
- [Pspdfkit 12 Migration Guide](/guides/ios/migration-guides/pspdfkit-12-migration-guide.md)
- [Pspdfkit 6 Migration Guide](/guides/ios/migration-guides/pspdfkit-6-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)
- [Upgrading](/guides/ios/getting-started/upgrading.md)
- [Pspdfkit 9 4 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-4-migration-guide.md)
- [Pspdfkit 9 3 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-3-migration-guide.md)
- [Pspdfkit 9 5 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-5-migration-guide.md)
- [PSPDFKit 8 migration guide for iOS developers](/guides/ios/migration-guides/pspdfkit-8-migration-guide.md)
- [Migrate to PSPDFKit 7 with ease](/guides/ios/migration-guides/pspdfkit-7-migration-guide.md)
- [Pspdfkit 9 Migration Guide](/guides/ios/migration-guides/pspdfkit-9-migration-guide.md)

