About PSPDFKit Instant for iOS
With Instant, it’s easier than ever to add real-time collaboration features to your PSPDFKit-powered app, allowing your users to seamlessly share, edit and annotate PDF documents across iOS, Android and Web apps. Read more in the Overview guide.
At a Glance
- PSPDFInstantClient: The entry point into Instant, representing a connection to your PSPDFKit Server.
- PSPDFInstantDocumentDescriptor: The API to each document managed by Instant. A document descriptor may be used to download the associated PDF file and create a PSPDFDocument.
- PSPDFInstantViewController: A subclass of PSPDFViewController that supports annotation synchronization between all users viewing the same document.
- PSPDFInstantError: The list of Instant specific errors that can happen when managing or syncing documents.
Read more in the Usage guide.
See the Getting Started guide for a step-by-step guide to integrating Instant.
Instant is commercially licensed. Contact us at firstname.lastname@example.org. Copyright © 2010-2020 PSPDFKit GmbH.
Feel free to submit a support ticket if you have any questions or bug reports.
The entry point to Instant, representing a client that can connect to PSPDFKit Server.
The Instant client manages the descriptors of the documents that you have access to. It provides the container for your downloaded documents, and controls the communication channel to the server. By providing a delegate, you are informed of relevant events regarding the synced documents and can manage tasks like authentication in a centralized manner.See more
@interface PSPDFInstantClient : NSObject
class InstantClient : NSObject
A snapshot of the disk cache entry for a certain document identifier.
Keeping these objects around after their creation does not do any harm. As snapshots, however, they do not track changes to the disk cache over time. Because theSee more
overallDiskSpaceis typically dominated by the size of the PDF — not the annotation data stored in any layer — its order of magnitude should be fairly stable, though. Notable exceptions would be scratch-pad style documents that contain mostly empty pages, or documents with many layers containing loads of annotations each.
@protocol PSPDFInstantDocumentCacheEntry <NSObject>
protocol InstantDocumentCacheEntry : NSObjectProtocol
PSPDFInstantDocumentDescriptorrepresents an editing context for annotations on a PDF file managed by Instant.
The document descriptor allows you to download the file and synchronize the annotations in this context, while display and editing of the annotations happens via the specialized
PSPDFDocumentobjects that it provides. You obtain instances that conform to this protocol from a
PSPDFInstantClient, which also keeps the instances it creates alive.
Instant manages the PDF files on disk efficiently, and will reuse the same file for all document descriptors with the same identifier. Therefore, there are some limitations to what you can do with the
PSPDFDocumentinstances you obtain from a document descriptor. For details, see the documentation of
A document descriptor posts the following notifications to inform you of relevant events:
PSPDFInstantDidFailAuthenticationNotificationwhen authenticating the editing context failed
PSPDFInstantDidFinishReauthenticationNotificationwhen the editing context has been reauthenticated
PSPDFInstantDidFailReauthenticationNotificationwhen reauthenticating the editing context failed
PSPDFInstantDidFinishDownloadNotificationwhen the download of the PDF file and associated annotations for a docment descriptor finishes
PSPDFInstantDidFailDownloadNotificationwhen the download of the PDF file or the associated annotations for a document descriptor fails
PSPDFInstantDidBeginSyncingNotificationwhen the document descriptor starts a new sync cycle
PSPDFInstantSyncCycleDidChangeStateNotificationwhen the sync cycle changes its state
PSPDFInstantDidFailSyncingNotificationwhen the sync cycle stops abnormally (reasons include cancellation)
PSPDFInstantDidFinishSyncingNotificationwhen the sync cycle completes successfully
Each of these notifications will typically be posted on a background thread, and have the document descriptor as theirSee more
objectproperty. For a centralized, more type-safe alternative see
PSPDFInstantClientDelegate, and for more details on the sync cycle, refer to the documentation of
@protocol PSPDFInstantDocumentDescriptor <NSObject>
protocol InstantDocumentDescriptor : NSObjectProtocol
A specialized variant of
PSPDFViewControllerthat supports annotation synchronization.
Showing a document managed by Instant in any other view controller is not supported.
NoteInstant only supports a subset of PSPDFKit’s annotation types. As such, this class sanitizes any
PSPDFConfigurationpassed to its designated initializer,
If you choose to set the builder’s
nil, all supported annotation types will be editable. If you set
editableAnnotationTypesto an empty set, no annotations will be editable.
@interface PSPDFInstantViewController : PSPDFViewController
class InstantViewController : PDFViewController