CBLDatabaseConfiguration

@interface CBLDatabaseConfiguration : NSObject

/**
 Path to the directory to store the database in. If the directory doesn't already exist it will
 be created when the database is opened. The default directory will be in Application Support.
 You won't usually need to change this.
 */
@property (nonatomic, copy) NSString* directory;


/**
 Initializes the CBLDatabaseConfiguration object.
 */
- (instancetype) init;


/**
 Initializes the CBLDatabaseConfiguration object with the configuration object.

 @param config The configuration object.
 @return The CBLDatabaseConfiguration object.
 */
- (instancetype) initWithConfig: (nullable CBLDatabaseConfiguration*)config;

@end

Undocumented

  • Path to the directory to store the database in. If the directory doesn’t already exist it will be created when the database is opened. The default directory will be in Application Support. You won’t usually need to change this.

    Declaration

    Objective-C

    @property (readwrite, copy, nonatomic) NSString *_Nonnull directory;

    Swift

    var directory: String { get set }
  • Initializes the CBLDatabaseConfiguration object.

    Declaration

    Objective-C

    - (nonnull instancetype)init;

    Swift

    init()
  • Initializes the CBLDatabaseConfiguration object with the configuration object.

    Declaration

    Objective-C

    - (nonnull instancetype)initWithConfig:
        (nullable CBLDatabaseConfiguration *)config;

    Swift

    init(config: CBLDatabaseConfiguration?)

    Parameters

    config

    The configuration object.

    Return Value

    The CBLDatabaseConfiguration object.

  • ENTERPRISE EDITION ONLY.

    A key to encrypt the database with. If the database does not exist and is being created, it will use this key, and the same key must be given every time it’s opened.

    • The primary form of key is an NSData object 32 bytes in length: this is interpreted as a raw AES-256 key. To create a key, generate random data using a secure cryptographic randomizer like SecRandomCopyBytes or CCRandomGenerateBytes.
    • Alternatively, the value may be an NSString containing a password. This will be run through 64,000 rounds of the PBKDF algorithm to securely convert it into an AES-256 key.
    • A default nil value, of course, means the database is unencrypted.

    Declaration

    Objective-C

    @property (assign, readwrite, nonatomic, nullable)
        CBLEncryptionKey *encryptionKey;

    Swift

    var encryptionKey: CBLEncryptionKey? { get set }