Other Constants

The following constants are available globally.

  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_CachedResponse

    Swift

    let kZDCCollection_CachedResponse: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_CloudNodes

    Swift

    let kZDCCollection_CloudNodes: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_Nodes

    Swift

    let kZDCCollection_Nodes: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_Prefs

    Swift

    let kZDCCollection_Prefs: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_PublicKeys

    Swift

    let kZDCCollection_PublicKeys: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_PullState

    Swift

    let kZDCCollection_PullState: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_Reminders

    Swift

    let kZDCCollection_Reminders: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_SessionStorage

    Swift

    let kZDCCollection_SessionStorage: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_SymmetricKeys

    Swift

    let kZDCCollection_SymmetricKeys: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_Tasks

    Swift

    let kZDCCollection_Tasks: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_Users

    Swift

    let kZDCCollection_Users: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_UserAuth

    Swift

    let kZDCCollection_UserAuth: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_SplitKeys

    Swift

    let kZDCCollection_SplitKeys: String
  • Name of collection in YapDatabase. All ZeroDark collection constants start with ZDC

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCollection_SplitKeyShares

    Swift

    let kZDCCollection_SplitKeyShares: String
  • Every account has a .pubKey file. This file is accessible to the world, and is stored using a JSON format. The file contains the public key information for the user.

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCloudFileName_PublicKey

    Swift

    let kZDCCloudFileName_PublicKey: String
  • Every account has a .privKey file. This file is only readable by the user who owns it. The file contains a PBKDF2 encrypted version of the private key. It can only be read if you have the access key (which only the user has access to).

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCloudFileName_PrivateKey

    Swift

    let kZDCCloudFileName_PrivateKey: String
  • The RCRD file contains ONLY the treesystem metadata. That is:

    • the (encrypted) filename
    • the list of permissions
    • the (encrypted) file encryption key
    • other bookkeeping information used by the sync system such as the server-assigned cloudID

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCloudFileExtension_Rcrd

    Swift

    let kZDCCloudFileExtension_Rcrd: String
  • The DATA file contains the (encrypted) content of the node. The DATA file is always in ZDCCryptoFileFormat_CloudFile.

    A DATA file requires a corresponding RCRD file to accompany it on the server. The DATA file can only be decrypted using the corresponding file encryption key.

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCCloudFileExtension_Data

    Swift

    let kZDCCloudFileExtension_Data: String
  • A DirPrefix is a part of the encrypted cloudName of a file. It corresponds with the parent node. Treesystem trunks have a hard-coded dirPrefix, and regular nodes have a randomly generated dirPrefix.

    For more information about how ZeroDark.cloud encrypts node-names to maintain zero-knowledge in the cloud, see the docs

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_Home

    Swift

    let kZDCDirPrefix_Home: String
  • A DirPrefix is a part of the encrypted cloudName of a file. It corresponds with the parent node. Treesystem trunks have a hard-coded dirPrefix, and regular nodes have a randomly generated dirPrefix.

    For more information about how ZeroDark.cloud encrypts node-names to maintain zero-knowledge in the cloud, see the docs

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_Prefs

    Swift

    let kZDCDirPrefix_Prefs: String
  • A DirPrefix is a part of the encrypted cloudName of a file. It corresponds with the parent node. Treesystem trunks have a hard-coded dirPrefix, and regular nodes have a randomly generated dirPrefix.

    For more information about how ZeroDark.cloud encrypts node-names to maintain zero-knowledge in the cloud, see the docs

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_MsgsIn

    Swift

    let kZDCDirPrefix_MsgsIn: String
  • A DirPrefix is a part of the encrypted cloudName of a file. It corresponds with the parent node. Treesystem trunks have a hard-coded dirPrefix, and regular nodes have a randomly generated dirPrefix.

    For more information about how ZeroDark.cloud encrypts node-names to maintain zero-knowledge in the cloud, see the docs

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_MsgsOut

    Swift

    let kZDCDirPrefix_MsgsOut: String
  • A DirPrefix is a part of the encrypted cloudName of a file. It corresponds with the parent node. Treesystem trunks have a hard-coded dirPrefix, and regular nodes have a randomly generated dirPrefix.

    For more information about how ZeroDark.cloud encrypts node-names to maintain zero-knowledge in the cloud, see the docs

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_Avatar

    Swift

    let kZDCDirPrefix_Avatar: String
  • A DirPrefix is a part of the encrypted cloudName of a file. (Deprecated)

    See

    kZDCDirPrefix_MsgsIn

    See

    kZDCDirPrefix_MsgsOut

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_Deprecated_Msgs

    Swift

    let kZDCDirPrefix_Deprecated_Msgs: String
  • A DirPrefix is a part of the encrypted cloudName of a file. (Deprecated)

    See

    kZDCDirPrefix_MsgsIn

    See

    kZDCDirPrefix_MsgsOut

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_Deprecated_Inbox

    Swift

    let kZDCDirPrefix_Deprecated_Inbox: String
  • A DirPrefix is a part of the encrypted cloudName of a file. (Deprecated)

    See

    kZDCDirPrefix_MsgsIn

    See

    kZDCDirPrefix_MsgsOut

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDirPrefix_Deprecated_Outbox

    Swift

    let kZDCDirPrefix_Deprecated_Outbox: String
  • The following notifications are automatically posted for the uiDatabaseConnection:

    • UIDatabaseConnectionWillUpdateNotification
    • UIDatabaseConnectionDidUpdateNotification

    The notifications correspond with the longLivedReadTransaction of the uiDatabaseConnection. The DatabaseManager class listens for YapDatabaseModifiedNotification’s.

    The UIDatabaseConnectionWillUpdateNotification is posted immediately before the uiDatabaseConnection is moved to the latest commit. And the UIDatabaseConnectionDidUpdateNotification is posted immediately after the uiDatabaseConnection was moved to the latest commit.

    These notifications are always posted to the main thread.

    Declaration

    Objective-C

    extern NSString *const _Nonnull UIDatabaseConnectionWillUpdateNotification

    Swift

    static let UIDatabaseConnectionWillUpdate: NSNotification.Name
  • The following notifications are automatically posted for the uiDatabaseConnection:

    • UIDatabaseConnectionWillUpdateNotification
    • UIDatabaseConnectionDidUpdateNotification

    The notifications correspond with the longLivedReadTransaction of the uiDatabaseConnection. The DatabaseManager class listens for YapDatabaseModifiedNotification’s.

    The UIDatabaseConnectionWillUpdateNotification is posted immediately before the uiDatabaseConnection is moved to the latest commit. And the UIDatabaseConnectionDidUpdateNotification is posted immediately after the uiDatabaseConnection was moved to the latest commit.

    These notifications are always posted to the main thread.

    The UIDatabaseConnectionDidUpdateNotification will always contain a userInfo dictionary with:

    • kNotificationsKey Contains the NSArray returned by [uiDatabaseConnection beginLongLivedReadTransaction]. That is, the array of commit info from each commit the connection jumped. This is the information that is fed into the various YapDatabase API’s to figure out what changed.

    Declaration

    Objective-C

    extern NSString *const _Nonnull UIDatabaseConnectionDidUpdateNotification

    Swift

    static let UIDatabaseConnectionDidUpdate: NSNotification.Name
  • Used by UIDatabaseConnectionDidUpdateNotification.userInfo. Contains the NSArray returned by [uiDatabaseConnection beginLongLivedReadTransaction]

    Declaration

    Objective-C

    extern NSString *const _Nonnull kNotificationsKey

    Swift

    let kNotificationsKey: String
  • YapDatabase extension of type: YapDatabaseRelationship
    Access via: transaction.ext(Ext_Relationship) as? YapDatabaseRelationshipTransaction

    Used by the framework to link various objects together such that deleting object A will automatically delete object B.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_Relationship

    Swift

    let Ext_Relationship: String
  • YapDatabase extension of type: YapDatabaseSecondaryIndex
    Access via: transaction.ext(Ext_Index_Nodes) as? YapDatabaseSecondaryIndexTransaction

    Indexes ZDCNode’s by properties ‘cloudID’ & ‘dirPrefix’ for quick lookup.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_Index_Nodes

    Swift

    let Ext_Index_Nodes: String
  • YapDatabase extension of type: YapDatabaseSecondaryIndex
    Access via: transaction.ext(Ext_Index_Users) as? YapDatabaseSecondaryIndexTransaction

    Indexes ZDCUser’s by property ‘random_uuid’ for quick lookup.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_Index_Users

    Swift

    let Ext_Index_Users: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_SplitKeys) as? YapDatabaseAutoViewTransaction

    Organizes ZDCSplitKey’s for convenience & quick enumeration.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_SplitKeys

    Swift

    let Ext_View_SplitKeys: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_SplitKeys_Date) as? YapDatabaseAutoViewTransaction

    Organizes ZDCSplitKey’s for convenience & quick enumeration.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_SplitKeys_Date

    Swift

    let Ext_View_SplitKeys_Date: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_LocalUsers) as? YapDatabaseAutoViewTransaction

    Organizes ZDCLocalUser’s for convenience & quick enumeration.

    Note

    There are related tools available via the ZDCLocalUserManager class.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_LocalUsers

    Swift

    let Ext_View_LocalUsers: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_Treesystem_Name) as? YapDatabaseAutoViewTransaction

    Organizes ZDCNode’s into a hierarchial view, grouped by parentID & sorted by name.

    Note

    The ZDCUserManager has LOTS of methods for enumerating & searching the treesystem.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_Treesystem_Name

    Swift

    let Ext_View_Treesystem_Name: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_Treesystem_CloudName) as? YapDatabaseAutoViewTransaction

    Organizes ZDCNode’s into a hierarchial view, grouped by parentID & sorted by cloudName.

    Note

    The ZDCUserManager has LOTS of methods for enumerating & searching the treesystem.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_Treesystem_CloudName

    Swift

    let Ext_View_Treesystem_CloudName: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_Flat) as? YapDatabaseAutoViewTransaction

    Organizes ZDCNode’s into a flat view, grouped by {localUserID, treeID} tuple & sorted by uuid.

    Note

    The ZDCUserManager has LOTS of methods for enumerating & searching the treesystem.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_Flat

    Swift

    let Ext_View_Flat: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_CloudNode_DirPrefix) as? YapDatabaseAutoViewTransaction

    Organizes ZDCCloudNode’s into a hierarchial view, grouped by dirPrefix & sorted by cloudName.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_CloudNode_DirPrefix

    Swift

    let Ext_View_CloudNode_DirPrefix: String
  • YapDatabase extension of type: YapDatabaseAutoView
    Access via: transaction.ext(Ext_View_Cloud_Flat) as? YapDatabaseAutoViewTransaction

    Organizes ZDCCloudNode’s into a flat view, grouped by {localUserID, treeID} tuple & sorted by uuid.

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_View_Cloud_Flat

    Swift

    let Ext_View_Cloud_Flat: String
  • The prefix used to register YapDatabase extensions of type: ZDCCloud

    Declaration

    Objective-C

    extern NSString *const _Nonnull Ext_CloudCore_Prefix

    Swift

    let Ext_CloudCore_Prefix: String
  • Secondary Index column name for: Ext_Index_Nodes

    Declaration

    Objective-C

    extern NSString *const _Nonnull Index_Nodes_Column_CloudID

    Swift

    let Index_Nodes_Column_CloudID: String
  • Secondary Index column name for: Ext_Index_Nodes

    Declaration

    Objective-C

    extern NSString *const _Nonnull Index_Nodes_Column_DirPrefix

    Swift

    let Index_Nodes_Column_DirPrefix: String
  • Secondary Index column name for: Ext_Index_Nodes

    Declaration

    Objective-C

    extern NSString *const _Nonnull Index_Nodes_Column_PointeeID

    Swift

    let Index_Nodes_Column_PointeeID: String
  • Secondary Index column name for: Ext_Index_Users

    Declaration

    Objective-C

    extern NSString *const _Nonnull Index_Users_Column_RandomUUID

    Swift

    let Index_Users_Column_RandomUUID: String
  • The ZDCDiskManagerChangedNotification is posted to the main thread anytime items change in the cache.

    The notification will contain a userInfo dictionary with the following keys:

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCDiskManagerChangedNotification

    Swift

    static let ZDCDiskManagerChanged: NSNotification.Name
  • A key for the ZDCDiskManagerChangedNotification.userInfo dictionary, which returns an instance of ZDCDiskManagerChanges.

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCDiskManagerChanges

    Swift

    let kZDCDiskManagerChanges: String
  • This notification is posted (to the main thread) whenever the progress list changes.

    The notification will contain a userInfo dictionary with the following keys:

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCProgressListChangedNotification

    Swift

    static let ZDCProgressListChanged: NSNotification.Name
  • A key for the ZDCProgressListChangedNotification.userInfo dictionary, which returns an instance of ZDCProgressManagerChanges.

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCProgressManagerChanges

    Swift

    let kZDCProgressManagerChanges: String
  • When a NSProgress instance is registered with the ProgressManager, the ProgressManager automatically sets this value within the NSProgress.userInfo dictionary.

    The value is of type ZDCProgressType (the enum value is wrapped in NSNumber).

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCProgressTypeKey

    Swift

    let ZDCProgressTypeKey: String
  • When a NSProgress instance of type ZDCProgressType_MetaDownload is registered with the ProgressManager, the ProgressManager automatically sets this value within the NSProgress.userInfo dictionary.

    The value is of type ZDCNodeMetaComponents (the enum value is wrapped in NSNumber)

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCNodeMetaComponentsKey

    Swift

    let ZDCNodeMetaComponentsKey: String
  • This notification is broadcast whenever the sync status changes, which includes:

    • PullStarted (cloud changes detected)
    • PullStopped
    • PushStarted
    • PushStopped
    • PushPaused
    • PushResumed
    • SyncingNodeIDsChanged

    The notification.userInfo dictionary contains an instance of ZDCSyncStatusNotificationInfo. It can be extracted via: notification.userInfo[kZDCSyncStatusNotificationInfo] as? ZDCSyncStatusNotificationInfo

    This notification is always broadcast on the main thread.

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCSyncStatusChangedNotification

    Swift

    static let ZDCSyncStatusChanged: NSNotification.Name
  • A key for the notification.userInfo dictionary of ZDCSyncStatusChangedNotification. The corresponding value is an instance of ZDCSyncStatusNotificationInfo.

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCSyncStatusNotificationInfo

    Swift

    let kZDCSyncStatusNotificationInfo: String
  • Keys are a compound component: {type}:{identifier} This is the type when sharing to another user.

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCShareKeyType_User

    Swift

    let ZDCShareKeyType_User: String
  • Keys are a compound component: {type}:{identifier} This is the type when sharing with a server.

    Website resource goes here: Explains how app developers can selectively share node content with their own customer server(s), and how ZeroDark.cloud notifies their server endpoint(s).

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCShareKeyType_Server

    Swift

    let ZDCShareKeyType_Server: String
  • Keys are a compound component: {type}:{identifier} This is a type that allows a node’s encryptionKey to be wrapped with a passphrase (e.g. PBKDF2).

    You might use this if you want to share a node with a non-app-user. For example, you may develop a website to accompany your app. And the website enables your users to share content with non-users via a passphrase.

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCShareKeyType_Passphrase

    Swift

    let ZDCShareKeyType_Passphrase: String
  • The userID used to represent non-ZeroDark users within the system.

    If your app allows non-ZeroDark users to send files/messages to ZDC users, then the sender of these nodes appears using the single instance of an anonymous user.

    Note

    Anonymous users can be enabled via the ZeroDark.cloud dashboard.

    Declaration

    Objective-C

    extern NSString *const _Nonnull kZDCAnonymousUserID

    Swift

    let kZDCAnonymousUserID: String
  • This property allows you to jump to a specific section (via NSInputStream’s setProperty:forKey: method).

    Note

    If you copy a stream, this value gets copied as well. In other words, the copy will jump to the specific section as well.

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCStreamCloudFileSection

    Swift

    let ZDCStreamCloudFileSection: String
  • This property is available for some streams. To check for support, see the -supportsFileMinMaxOffset method. If supported, you can read/write the value via -[NSInputStream propertyForKey:] & -[NSInputStream setProperty:forKey:].

    When ZDCStreamFileMinOffset is set, the stream will seek to the given offset. If the stream is open, the seek will occur immediately. If the stream isn’t open, the seek will occur when the stream is opened.

    The value is in bytes. The default value is nil, meaning there is no min offset.

  • Setting this property will affect the NSStreamFileCurrentOffset, if the currentOffset is less than the minOffset.
  • If you explicitly set ZDCStreamFileMaxOffset to a value smaller than ZDCStreamFileMinOffset, then the ZDCStreamFileMinOffset property gets set to nil.
  • If you explicitly set NSStreamFileCurrentOffset to a value smaller than ZDCStreamFileMinOffset, then the ZDCStreamFileMinOffset property gets set to nil.

  • See

    NSStreamFileCurrentOffset

    Note

    If you copy a stream, this value gets copied as well.

    Declaration

    Objective-C

    extern NSString *const ZDCStreamFileMinOffset

    Swift

    let ZDCStreamFileMinOffset: String
  • This property is available for some streams. To check for support, see the -supportsFileMinMaxOffset method. If supported, you can read/write the value via -[NSInputStream propertyForKey:] & -[NSInputStream setProperty:forKey:].

    When ZDCStreamFileMaxOffset is set, the stream will automatically stop reading (report EOF) once it reaches the given offset.

    The value is in bytes. The default value is nil, meaning there is no max offset.

  • Setting this property will not affect the NSStreamFileCurrentOffset. If the currentOffset is greater than maxOffset, then EOF will be reported on the next read.
  • If you explicitly set ZDCStreamFileMinOffset to a value bigger than ZDCStreamFileMaxOffset, then the ZDCStreamFileMaxOffset property gets set to nil.
  • If you explicitly set NSStreamFileCurrentOffset to a value bigger than ZDCStreamFileMaxOffset, then the ZDCStreamFileMaxOffset property gets set to nil.

  • See

    NSStreamFileCurrentOffset

    Note

    If you copy a stream, this value gets copied as well.

    Declaration

    Objective-C

    extern NSString *const ZDCStreamFileMaxOffset

    Swift

    let ZDCStreamFileMaxOffset: String
  • This property is available for some streams. To check for support, see the supportsEOFOnWouldBlock method.

    This property is used via the propertyForKey & setProperty:forKey: methods.

    In some scenarios a blocking read is undesireable. The caller wants to read what’s available, but doesn’t mind if there’s no data available currently. However this is difficult to achieve for crypto streams because of 2 reasons:

    First, the encryption/decryption system uses a block cipher. This means we’re unable to produce output until we’ve read at least encryptionKey.length bytes. However, the underlying stream may have less than encryptionKey.length bytes available for us.

    Second, the NSStream API is quite limited. That is, when read:maxLength: is called, only 3 results are officially documented:

    A positive number indicates the number of bytes read. 0 indicates that the end of the buffer was reached. -1 means that the operation failed; more information about the error can be obtained with streamError.

    This property allows you to say:

    If you find yourself in a situation where you would block because the underlying stream doesn’t have enough data for you, then just return 0. I will check streamStatus to see if you actually meant EOF, or if you’re just telling me that you’d block.

    Declaration

    Objective-C

    extern NSString *const ZDCStreamReturnEOFOnWouldBlock

    Swift

    let ZDCStreamReturnEOFOnWouldBlock: String
  • This error code is used when an unexpected cleartext file size is encountered.

    Declaration

    Objective-C

    extern const NSInteger ZDCStreamUnexpectedFileSize

    Swift

    let ZDCStreamUnexpectedFileSize: Int
  • The purpose of the ZDCInterruptingInputStream class is to detect file modifications while the stream is being read. If that occurs, this will be NSError.code value you see as the streamError.

    Declaration

    Objective-C

    extern const NSInteger ZDCFileModifiedDuringRead

    Swift

    let ZDCFileModifiedDuringRead: Int
  • Custom key for NSProgress.userInfo dictionary. Value will be a localized string displayable to the user.

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCLocalizedDescriptionKey

    Swift

    let ZDCLocalizedDescriptionKey: String
  • Custom key for NSProgress.userInfo dictionary. Value will be a (wrapped) ZDCChildProgressType value.

    Declaration

    Objective-C

    extern NSString *const _Nonnull ZDCChildProgressTypeKey

    Swift

    let ZDCChildProgressTypeKey: String