Instant

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

Read more in the Usage guide.

Integration

See the Getting Started guide for a step-by-step guide to integrating Instant.

License

Instant is commercially licensed. Contact us at sales@pspdfkit.com. Copyright © 2010-2020 PSPDFKit GmbH.

Support

Feel free to submit a support ticket if you have any questions or bug reports.

  • Possible error codes in the PSPDFInstantErrorDomain.

    See more

    Declaration

    Objective-C

    enum PSPDFInstantError {}

    Swift

    typealias InstantError.Code._ErrorType = InstantError
  • 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

    Declaration

    Objective-C

    
    @interface PSPDFInstantClient : NSObject

    Swift

    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 the overallDiskSpace is 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.

    See more

    Declaration

    Objective-C

    @protocol PSPDFInstantDocumentCacheEntry <NSObject>

    Swift

    protocol InstantDocumentCacheEntry : NSObjectProtocol
  • A PSPDFInstantDocumentDescriptor represents 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 PSPDFDocument objects 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 PSPDFDocument instances you obtain from a document descriptor. For details, see the documentation of editableDocument.

    Notifications

    A document descriptor posts the following notifications to inform you of relevant events:

    Each of these notifications will typically be posted on a background thread, and have the document descriptor as their object property. For a centralized, more type-safe alternative see PSPDFInstantClientDelegate, and for more details on the sync cycle, refer to the documentation of PSPDFInstantDocumentState.

    See more

    Declaration

    Objective-C

    @protocol PSPDFInstantDocumentDescriptor <NSObject>

    Swift

    protocol InstantDocumentDescriptor : NSObjectProtocol
  • A specialized variant of PSPDFViewController that supports annotation synchronization.

    Showing a document managed by Instant in any other view controller is not supported.

    Note

    Instant only supports a subset of PSPDFKit’s annotation types. As such, this class sanitizes any PSPDFConfiguration passed to its designated initializer, updateConfigurationWithBuilder:, or updateConfigurationWithoutReloadingWithBuilder:.
    If you choose to set the builder’s editableAnnotationTypes to nil, all supported annotation types will be editable. If you set editableAnnotationTypes to an empty set, no annotations will be editable.
    See more

    Declaration

    Objective-C

    
    @interface PSPDFInstantViewController : PSPDFViewController

    Swift

    class InstantViewController : PDFViewController