Classes
The following classes are available globally.
-
Undocumented
See moreDeclaration
Objective-C
@interface ARTAnnotation : NSObject<NSCopying> /// A Unique ID assigned by Ably to this message. @property (nullable, readonly, nonatomic) NSString *id; /// The action, whether this is an annotation being added or removed, one of the `ARTAnnotationAction` enum values. @property (readonly, nonatomic) ARTAnnotationAction action; /// The client ID of the publisher of this message. @property (nonatomic, readonly, nullable) NSString *clientId; /// The name of this annotation. This is the field that most annotation aggregations will operate on. For example, using "distinct.v1" aggregation (specified in the type), the message summary will show a list of clients who have published an annotation with each distinct annotation.name. @property (nullable, readonly, nonatomic) NSString *name; /// An optional count, only relevant to certain aggregation methods, see aggregation methods documentation for more info. @property (nullable, readonly, nonatomic) NSNumber *count; /// The message payload, if provided. @property (nonatomic, readonly, nullable) id data; /// This is typically empty, as all messages received from Ably are automatically decoded client-side using this value. However, if the message encoding cannot be processed, this attribute contains the remaining transformations not applied to the `data` payload. @property (nonatomic, readonly, nullable) NSString *encoding; /// Timestamp of when the message was received by Ably, as a `NSDate` object. @property (nullable, nonatomic, readonly) NSDate *timestamp; /// This annotation's unique serial (lexicographically totally ordered). @property (readonly, nonatomic) NSString *serial; /// The serial of the message (of type `MESSAGE_CREATE`) that this annotation is annotating. @property (readonly, nonatomic) NSString *messageSerial; /// The type of annotation it is, typically some identifier together with an aggregation method; for example: "emoji:distinct.v1". Handled opaquely by the SDK and validated serverside. @property (readonly, nonatomic) NSString *type; /// A JSON object of arbitrary key-value pairs that may contain metadata, and/or ancillary payloads. @property (nullable, readonly, nonatomic) id<ARTJsonCompatible> extras; - (instancetype)initWithId:(nullable NSString *)annotationId action:(ARTAnnotationAction)action clientId:(nullable NSString *)clientId name:(nullable NSString *)name count:(nullable NSNumber *)count data:(nullable id)data encoding:(nullable NSString *)encoding timestamp:(nullable NSDate *)timestamp serial:(nullable NSString *)serial messageSerial:(NSString *)messageSerial type:(NSString *)type extras:(nullable id<ARTJsonCompatible>)extras; @endSwift
class ARTAnnotation : NSObject, NSCopying, @unchecked Sendable -
Provides parameters for a request to perform an operation that may ultimately call
See moreARTChannelRealtimeInternal‘sinternalAttach:callback:method.Declaration
Objective-C
@interface ARTAttachRequestParams : NSObjectSwift
class AttachRequestParams : NSObject -
Maintains the state that an
See moreARTRealtimeChannelinstance needs in order to determine the duration to wait before retrying an attach. Wraps a sequence ofARTRetrySequenceobjects.Declaration
Objective-C
@interface ARTAttachRetryState : NSObjectSwift
class AttachRetryState : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTAuthInternal : NSObject @property (nullable, readonly) NSString *clientId; @property (nullable, nonatomic, readonly) ARTTokenDetails *tokenDetails; - (void)requestToken:(nullable ARTTokenParams *)tokenParams withOptions:(nullable ARTAuthOptions *)authOptions callback:(ARTTokenDetailsCallback)callback; - (void)requestToken:(ARTTokenDetailsCallback)callback; - (void)authorize:(nullable ARTTokenParams *)tokenParams options:(nullable ARTAuthOptions *)authOptions callback:(ARTTokenDetailsCallback)callback; - (void)authorize:(ARTTokenDetailsCallback)callback; - (void)createTokenRequest:(nullable ARTTokenParams *)tokenParams options:(nullable ARTAuthOptions *)options callback:(void (^)(ARTTokenRequest *_Nullable tokenRequest, NSError *_Nullable error))callback; - (void)createTokenRequest:(void (^)(ARTTokenRequest *_Nullable tokenRequest, NSError *_Nullable error))callback; @endSwift
class ARTAuthInternal : NSObject -
Creates Ably
ARTTokenRequestobjects and obtains Ably Tokens from Ably to subsequently issue to less trusted clients.See moreSee
SeeARTAuthProtocolfor details.Declaration
Objective-C
@interface ARTAuth : NSObject <ARTAuthProtocol>Swift
class ARTAuth : NSObject, ARTAuthProtocol, @unchecked Sendable -
Passes authentication-specific properties in authentication requests to Ably. Properties set using
See moreARTAuthOptionsare used instead of the default values set when the client library is instantiated, as opposed to being merged with them.Declaration
Objective-C
@interface ARTAuthOptions : NSObject <NSCopying>Swift
class ARTAuthOptions : NSObject, NSCopying -
An implementation of
See moreARTRetryDelayCalculatorwhich uses the incremental backoff and jitter rules of RTB1.Declaration
Objective-C
@interface ARTBackoffRetryDelayCalculator : NSObject <ARTRetryDelayCalculator>Swift
class BackoffRetryDelayCalculator : NSObject, RetryDelayCalculator -
A base interface for an
See moreARTMessageand anARTPresenceMessageobjects.Declaration
Objective-C
@interface ARTBaseMessage : NSObject <NSCopying>Swift
class ARTBaseMessage : NSObject, NSCopying -
The base class for
ARTRestChannelandARTRealtimeChannel. Ably platform service organizes the message traffic within applications into named channels. Channels are the medium through which messages are distributed; clients attach to channels to subscribe to messages, and every message published to a unique channel is broadcast by Ably to all subscribers.See moreSee
SeeARTChannelProtocolfor details.Declaration
Objective-C
@interface ARTChannel : NSObjectSwift
class ARTChannel : NSObject, @unchecked Sendable -
Passes additional properties to an
See moreARTRestChannelobject, such as encryption.Declaration
Objective-C
@interface ARTChannelOptions : NSObject <NSCopying>Swift
class ARTChannelOptions : NSObject, NSCopying -
Provides parameters for a request to perform an operation that may cause an
ARTRealtimeChannelInternalinstance to emit a connection state change.
See moreARTRealtimeChannelInternalwill incorporate some of this data into theARTChannelStateChangeobject that it emits as a result of the connection state change.Declaration
Objective-C
@interface ARTChannelStateChangeParams : NSObjectSwift
class ChannelStateChangeParams : NSObject -
Creates and destroys
See moreARTRestChannelandARTRealtimeChannelobjects.Declaration
Objective-C
@interface ARTChannels<ChannelType> : NSObjectSwift
class ARTChannels<ChannelType> : NSObject, @unchecked Sendable where ChannelType : AnyObject -
Passes additional client-specific properties to the REST
See more-[ARTRestProtocol initWithOptions:]or the Realtime-[ARTRealtimeProtocol initWithOptions:].Declaration
Objective-C
@interface ARTClientOptions : ARTAuthOptionsSwift
class ARTClientOptions : ARTAuthOptions -
Maintains the state that an
See moreARTRealtimeinstance needs in order to determine the duration to wait before retrying a connection. Wraps a sequence ofARTRetrySequenceobjects.Declaration
Objective-C
@interface ARTConnectRetryState : NSObjectSwift
class ConnectRetryState : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTConnectionRecoveryKey : NSObject @property (readonly, nonatomic) NSString *connectionKey; @property (readonly, nonatomic) int64_t msgSerial; @property (readonly, nonatomic) NSDictionary<NSString *, NSString *> *channelSerials; - (instancetype)initWithConnectionKey:(NSString *)connectionKey msgSerial:(int64_t)msgSerial channelSerials:(NSDictionary<NSString *, NSString *> *)channelSerials; - (NSString *)jsonString; + (nullable ARTConnectionRecoveryKey *)fromJsonString:(NSString *)json error:(NSError *_Nullable *_Nullable)errorPtr; @endSwift
class ARTConnectionRecoveryKey : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTConnectionInternal : NSObject @property (nullable, readonly, nonatomic) NSString *id; @property (nullable, readonly, nonatomic) NSString *key; @property (readonly, nonatomic) NSInteger maxMessageSize; @property (readonly, nonatomic) ARTRealtimeConnectionState state; @property (nullable, readonly, nonatomic) ARTErrorInfo *errorReason; - (instancetype)initWithRealtime:(ARTRealtimeInternal *)realtime logger:(ARTInternalLog *)logger; - (nullable NSString *)id_nosync; - (nullable NSString *)key_nosync; - (BOOL)isActive_nosync; - (ARTRealtimeConnectionState)state_nosync; - (nullable ARTErrorInfo *)errorReason_nosync; - (nullable ARTErrorInfo *)error_nosync; - (nullable NSString *)createRecoveryKey_nosync; @property (readonly, nonatomic) ARTEventEmitter<ARTEvent *, ARTConnectionStateChange *> *eventEmitter; @property(weak, nonatomic) ARTRealtimeInternal* realtime; // weak because realtime owns self - (void)setId:(NSString *_Nullable)newId; - (void)setKey:(NSString *_Nullable)key; - (void)setMaxMessageSize:(NSInteger)maxMessageSize; - (void)setState:(ARTRealtimeConnectionState)state; - (void)setErrorReason:(ARTErrorInfo *_Nullable)errorReason; - (void)emit:(ARTRealtimeConnectionEvent)event with:(ARTConnectionStateChange *)data; @property (readonly, nonatomic) dispatch_queue_t queue; @property (nullable, readonly) NSString *recoveryKey DEPRECATED_MSG_ATTRIBUTE("Use `createRecoveryKey` method instead."); - (nullable NSString *)createRecoveryKey; - (void)connect; - (void)close; - (void)ping:(ARTCallback)callback; #pragma mark ARTEventEmitter /** * Embeds an `ARTEventEmitter` object. */ ART_EMBED_INTERFACE_EVENT_EMITTER(ARTRealtimeConnectionEvent, ARTConnectionStateChange *) @endSwift
class ARTConnectionInternal : NSObject -
Declaration
Objective-C
@interface ARTConnection : NSObject <ARTConnectionProtocol>Swift
class ARTConnection : NSObject, ARTConnectionProtocol, @unchecked Sendable -
Contains any constraints a client should adhere to and provides additional metadata about a
See moreARTConnection, such as if a request to-[ARTChannelProtocol publish:callback:]a message that exceeds the maximum message size should be rejected immediately without communicating with Ably.Declaration
Objective-C
@interface ARTConnectionDetails : NSObjectSwift
class ARTConnectionDetails : NSObject, @unchecked Sendable -
Provides parameters for a request to perform an operation that may cause an
ARTRealtimeInternalinstance to emit a connection state change.
See moreARTRealtimeInternalwill incorporate this data into theARTConnectionStateChangeobject that it emits as a result of the connection state change.Declaration
Objective-C
@interface ARTConnectionStateChangeParams : NSObjectSwift
class ConnectionStateChangeParams : NSObject -
A clock that increments monotonically, including while the system is asleep.
See moreNote
We don’t give this one anNS_SWIFT_NAME, to avoid confusion with the Swift standard library type also namedContinuousClock.Declaration
Objective-C
@interface ARTContinuousClock : NSObjectSwift
class ARTContinuousClock : NSObject -
Represents an instant in time, as described by an instance of
See moreARTContinuousClock.Declaration
Objective-C
@interface ARTContinuousClockInstant : NSObjectSwift
class ARTContinuousClockInstant : NSObject -
Sets the properties to configure encryption for an
See moreARTRestChannelorARTRealtimeChannelobject.Declaration
Objective-C
@interface ARTCipherParams : NSObject <ARTCipherParamsCompatible>Swift
class ARTCipherParams : NSObject, ARTCipherParamsCompatible -
Undocumented
See moreDeclaration
Objective-C
@interface ARTCbcCipher : NSObject<ARTChannelCipher> - (id)initWithCipherParams:(ARTCipherParams *)cipherParams logger:(ARTInternalLog *)logger; + (instancetype)cbcCipherWithParams:(ARTCipherParams *)cipherParams logger:(ARTInternalLog *)logger; @property (nonatomic) ARTInternalLog *logger; @property (readonly, nonatomic) NSData *keySpec; @property NSData *iv; @property (readonly) NSUInteger blockLength; @endSwift
class ARTCbcCipher : NSObject, ARTChannelCipher -
Contains the properties required to configure the encryption of
See moreARTMessagepayloads.Declaration
Objective-C
@interface ARTCrypto : NSObjectSwift
class ARTCrypto : NSObject -
ARTDataEncoderis used to:- convert the
dataproperty of anARTMessageinto a format that’s suitable to be sent over the wire; that is, to ensure that thisARTMessagecan be placed inside anARTProtocolMessage - convert the
dataproperty of anARTMessagecontained inside anARTProtocolMessageinto something that’s suitable to expose to the user of the SDK
Declaration
Objective-C
@interface ARTDataEncoder : NSObjectSwift
class ARTDataEncoder : NSObject - convert the
-
This object is used for providing parameters into methods with paginated results.
See moreDeclaration
Objective-C
@interface ARTDataQuery : NSObjectSwift
class ARTDataQuery : NSObject -
This object is used for providing parameters into
See moreARTRealtimePresence‘s methods with paginated results.Declaration
Objective-C
@interface ARTRealtimeHistoryQuery : ARTDataQuerySwift
class ARTRealtimeHistoryQuery : ARTDataQuery -
Represents default library settings.
See moreDeclaration
Objective-C
@interface ARTDefault : NSObjectSwift
class ARTDefault : NSObject -
Contains the properties of a device registered for push notifications.
See moreDeclaration
Objective-C
@interface ARTDeviceDetails : NSObjectSwift
class ARTDeviceDetails : NSObject, @unchecked Sendable -
An object representing a unique device identity token used to communicate with APNS.
See moreDeclaration
Objective-C
@interface ARTDeviceIdentityTokenDetails : NSObject <NSSecureCoding>Swift
class ARTDeviceIdentityTokenDetails : NSObject, NSSecureCoding -
Contains the details of the push registration of a device.
See moreDeclaration
Objective-C
@interface ARTDevicePushDetails : NSObjectSwift
class ARTDevicePushDetails : NSObject, @unchecked Sendable -
The implementation of
ARTErrorCheckerthat should be used in non-test code.Declaration
Objective-C
@interface ARTDefaultErrorChecker : NSObject <ARTErrorChecker>Swift
class DefaultErrorChecker : NSObject, ErrorChecker -
An object representing a listener returned by
See moreARTEventEmittermethods.Declaration
Objective-C
@interface ARTEventListener : NSObjectSwift
class ARTEventListener : NSObject, @unchecked Sendable -
A generic interface for event registration and delivery used in a number of the types in the Realtime client library. For example, the
See moreARTConnectionandARTRealtimeChannelobjects emit events for their state using theARTEventEmitterpattern.Declaration
Objective-C
@interface ARTEventEmitter<EventType : id <ARTEventIdentification>, ItemType> : NSObjectSwift
class ARTEventEmitter<EventType, ItemType> : NSObject, @unchecked Sendable where EventType : ARTEventIdentification, ItemType : AnyObject
-
Undocumented
See moreDeclaration
Objective-C
@interface ARTPublicEventEmitter<EventType : id <ARTEventIdentification>, ItemType> : ARTEventEmitter <EventType, ItemType>Swift
class ARTPublicEventEmitter<EventType, ItemType> : ARTEventEmitter<EventType, ItemType> where EventType : ARTEventIdentification, ItemType : AnyObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTInternalEventEmitter<EventType : id <ARTEventIdentification>, ItemType> : ARTEventEmitter <EventType, ItemType>Swift
class ARTInternalEventEmitter<EventType, ItemType> : ARTEventEmitter<EventType, ItemType> where EventType : ARTEventIdentification, ItemType : AnyObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTFallbackHosts : NSObject + (nullable NSArray<NSString *> *)hostsFromOptions:(ARTClientOptions *)options; @endSwift
class ARTFallbackHosts : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTScheduledBlockHandle : NSObject - (instancetype)initWithDelay:(NSTimeInterval)delay queue:(dispatch_queue_t)queue block:(dispatch_block_t)block; - (void)cancel; @endSwift
class ARTScheduledBlockHandle : NSObject -
A superset of
See moreARTPaginatedResultwhich represents a page of results plus metadata indicating the relative queries available to it.ARTHttpPaginatedResponseadditionally carries information about the response to an HTTP request.Declaration
Objective-C
@interface ARTHTTPPaginatedResponse : ARTPaginatedResult <NSDictionary *>Swift
class ARTHTTPPaginatedResponse : ARTPaginatedResult<NSDictionary>, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTInternalLog: NSObject #endif /** Provides a shared logger to be used by all public class methods meeting the following criteria: - they wish to perform logging - they do not have access to any more appropriate logger - their signature is already locked since they are part of the public API of the library Currently, this returns a logger that will not actually output any log messages, but I've created https://github.com/ably/ably-cocoa/issues/1652 for us to revisit this. */ @property (nonatomic, readonly, class) ARTInternalLog *sharedClassMethodLogger_readDocumentationBeforeUsing; /** Creates a logger which forwards its generated messages to the given core object. */ - (instancetype)initWithCore:(id<ARTInternalLogCore>)core NS_DESIGNATED_INITIALIZER; /** A convenience initializer which creates a logger whose core is an instance of `ARTDefaultInternalLogCore` wrapping the given logger. */ - (instancetype)initWithLogger:(id<ARTVersion2Log>)logger; /** A convenience initializer which creates a logger whose core is an instance of `ARTDefaultInternalLogCore` initialized with that class's `initWithClientOptions:` initializer. */ - (instancetype)initWithClientOptions:(ARTClientOptions *)clientOptions; - (instancetype)init NS_UNAVAILABLE; /** Passes the arguments through to the logger's core object. It is not directly used by the internals of the `Ably` library, but it is used by: - some of our Swift tests (which can't access the variadic method below), which want to be able to call a logging method on an instance of `ARTInternalLog` - `ARTPluginAPI`, to implement its conformance to the `APPluginAPIProtocol` protocol, which is used by plugins written in Swift */ - (void)log:(NSString *)message withLevel:(ARTLogLevel)level file:(const char *)fileName line:(NSInteger)line; // This method should not be called directly — it is for use by the ARTLog* macros. It is tested via the tests of the macros. - (void)logWithLevel:(ARTLogLevel)level file:(const char *)fileName line:(NSUInteger)line format:(NSString *)format, ... NS_FORMAT_FUNCTION(4,5); @property (nonatomic) ARTLogLevel logLevel; @endSwift
class InternalLog : NSObject -
The implementation of
See moreARTInternalLogCorethat should be used in non-test code.Declaration
Objective-C
@interface ARTDefaultInternalLogCore : NSObject <ARTInternalLogCore>Swift
class DefaultInternalLogCore : NSObject, InternalLogCore -
The implementation of
ARTJitterCoefficientGeneratorthat should be used in non-test code.Declaration
Objective-C
@interface ARTDefaultJitterCoefficientGenerator : NSObject <ARTJitterCoefficientGenerator>Swift
class DefaultJitterCoefficientGenerator : NSObject, JitterCoefficientGenerator -
Undocumented
Declaration
Objective-C
@interface ARTJsonEncoder : NSObject <ARTJsonLikeEncoderDelegate> @endSwift
class ARTJsonEncoder : NSObject, ARTJsonLikeEncoderDelegate -
Undocumented
See moreDeclaration
Objective-C
@interface ARTJsonLikeEncoder : NSObject <ARTEncoder> @property (nonatomic, nullable) id<ARTJsonLikeEncoderDelegate> delegate; - (instancetype)initWithDelegate:(id<ARTJsonLikeEncoderDelegate>)delegate; - (instancetype)initWithLogger:(ARTInternalLog *)logger delegate:(nullable id<ARTJsonLikeEncoderDelegate>)delegate; - (instancetype)initWithRest:(ARTRestInternal *)rest delegate:(nullable id<ARTJsonLikeEncoderDelegate>)delegate logger:(ARTInternalLog *)logger; @endSwift
class ARTJsonLikeEncoder : NSObject, ARTEncoder -
Contains the device identity token and secret of a device.
See moreARTLocalDeviceextendsARTDeviceDetails.Declaration
Objective-C
@interface ARTLocalDevice : ARTDeviceDetailsSwift
class ARTLocalDevice : ARTDeviceDetails, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTLogLine : NSObject @property(nonatomic, readonly) NSDate *date; @property(nonatomic, readonly) ARTLogLevel level; @property(nonatomic, readonly) NSString *message; - (instancetype)initWithDate:(NSDate *)date level:(ARTLogLevel)level message:(NSString *)message; - (NSString *)toString; @endSwift
class ARTLogLine : NSObject -
ARTLogAdapterprovides an implementation ofARTVersion2Logthat writes all log messages to a given instance ofARTLog.The intention of this class is to allow us to maintain the public API of the SDK, which allows users to provide an
See moreARTLoginstance, whilst usingARTVersion2Logfor logging inside the SDK. Upon the next major release of this library, whenARTVersion2Logwill be renamedARTLogand the currentARTLogwill be removed, we can remove this class too.Declaration
Objective-C
@interface ARTLogAdapter : NSObject <ARTVersion2Log>Swift
class LogAdapter : NSObject, Version2Log -
Contains annotations summary for a message. The keys of the dict are annotation types, and the values are aggregated summaries for that annotation type.
See moreDeclaration
Objective-C
@interface ARTMessageAnnotations : NSObjectSwift
class ARTMessageAnnotations : NSObject -
Contains version information for a message, including operation metadata.
See moreDeclaration
Objective-C
@interface ARTMessageVersion : NSObjectSwift
class ARTMessageVersion : NSObject -
Undocumented
Declaration
Objective-C
@interface ARTMsgPackEncoder : NSObject <ARTJsonLikeEncoderDelegate> @endSwift
class ARTMsgPackEncoder : NSObject, ARTJsonLikeEncoderDelegate -
Undocumented
Declaration
Objective-C
@interface ARTOSReachability : NSObject <ARTReachability> @endSwift
class ARTOSReachability : NSObject, ARTReachability -
Contains a page of results for message or presence history, stats, or REST presence requests. An
See moreARTPaginatedResultresponse from a REST API paginated query is also accompanied by metadata that indicates the relative queries available to theARTPaginatedResultobject.Declaration
Objective-C
@interface ARTPaginatedResult<ItemType> : NSObjectSwift
class ARTPaginatedResult<ItemType> : NSObject, @unchecked Sendable where ItemType : AnyObject -
This object is used for providing parameters into
See moreARTRestPresence‘s methods with paginated results.Declaration
Objective-C
@interface ARTPresenceQuery : NSObjectSwift
class ARTPresenceQuery : NSObject -
Contains an individual presence update sent to, or received from, Ably.
See moreDeclaration
Objective-C
@interface ARTPresenceMessage : ARTBaseMessageSwift
class ARTPresenceMessage : ARTBaseMessage -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushInternal : NSObject @property (nonatomic, readonly) ARTPushAdminInternal *admin; @property (readonly) dispatch_queue_t queue; - (instancetype)initWithRest:(ARTRestInternal *)rest logger:(ARTInternalLog *)logger; #if TARGET_OS_IOS - (void)getActivationMachine:(void (^)(ARTPushActivationStateMachine *))block; /// Direct access to _activationMachine var for internal testing. /// Throws an exception if there is no activation machine or it could not be locked immediately. @property (readonly) ARTPushActivationStateMachine *activationMachine; /// Create the _activationMachine manually with a custom delegate for internal testing. - (ARTPushActivationStateMachine *)createActivationStateMachineWithDelegate:(id<ARTPushRegistererDelegate, NSObject>)delegate; #endif #if TARGET_OS_IOS + (void)didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken rest:(ARTRest *)rest; + (void)didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken realtime:(ARTRealtime *)realtime; + (void)didFailToRegisterForRemoteNotificationsWithError:(NSError *)error rest:(ARTRest *)rest; + (void)didFailToRegisterForRemoteNotificationsWithError:(NSError *)error realtime:(ARTRealtime *)realtime; + (void)didRegisterForLocationNotificationsWithDeviceToken:(NSData *)deviceToken rest:(ARTRest *)rest; + (void)didRegisterForLocationNotificationsWithDeviceToken:(NSData *)deviceToken realtime:(ARTRealtime *)realtime; + (void)didFailToRegisterForLocationNotificationsWithError:(NSError *)error rest:(ARTRest *)rest; + (void)didFailToRegisterForLocationNotificationsWithError:(NSError *)error realtime:(ARTRealtime *)realtime; - (void)activate; - (void)deactivate; #endif @endSwift
class ARTPushInternal : NSObject -
Enables a device to be registered and deregistered from receiving push notifications.
See moreDeclaration
Objective-C
@interface ARTPush : NSObject <ARTPushProtocol>Swift
class ARTPush : NSObject, ARTPushProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushActivationEvent : NSObject <NSSecureCoding> - (NSData *)archiveWithLogger:(nullable ARTInternalLog *)logger; + (nullable ARTPushActivationState *)unarchive:(NSData *)data withLogger:(nullable ARTInternalLog *)logger; @endSwift
class ARTPushActivationEvent : NSObject, NSSecureCoding -
Event with Error info
See moreDeclaration
Objective-C
@interface ARTPushActivationErrorEvent : ARTPushActivationEventSwift
class ARTPushActivationErrorEvent : ARTPushActivationEvent -
Event with Device Identity Token details
See moreDeclaration
Objective-C
@interface ARTPushActivationDeviceIdentityEvent : ARTPushActivationEventSwift
class ARTPushActivationDeviceIdentityEvent : ARTPushActivationEvent
-
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventCalledActivate : ARTPushActivationEvent @endSwift
class ARTPushActivationEventCalledActivate : ARTPushActivationEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventCalledDeactivate : ARTPushActivationEvent @endSwift
class ARTPushActivationEventCalledDeactivate : ARTPushActivationEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventGotPushDeviceDetails : ARTPushActivationEvent @endSwift
class ARTPushActivationEventGotPushDeviceDetails : ARTPushActivationEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventGettingPushDeviceDetailsFailed : ARTPushActivationErrorEventSwift
class ARTPushActivationEventGettingPushDeviceDetailsFailed : ARTPushActivationErrorEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventGotDeviceRegistration : ARTPushActivationDeviceIdentityEventSwift
class ARTPushActivationEventGotDeviceRegistration : ARTPushActivationDeviceIdentityEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventGettingDeviceRegistrationFailed : ARTPushActivationErrorEventSwift
class ARTPushActivationEventGettingDeviceRegistrationFailed : ARTPushActivationErrorEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventRegistrationSynced : ARTPushActivationDeviceIdentityEventSwift
class ARTPushActivationEventRegistrationSynced : ARTPushActivationDeviceIdentityEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventSyncRegistrationFailed : ARTPushActivationErrorEventSwift
class ARTPushActivationEventSyncRegistrationFailed : ARTPushActivationErrorEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventDeregistered : ARTPushActivationEvent @endSwift
class ARTPushActivationEventDeregistered : ARTPushActivationEvent -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationEventDeregistrationFailed : ARTPushActivationErrorEventSwift
class ARTPushActivationEventDeregistrationFailed : ARTPushActivationErrorEvent -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushActivationState : NSObject <NSSecureCoding> - (instancetype)init NS_UNAVAILABLE; - (instancetype)initWithMachine:(ARTPushActivationStateMachine *)machine logger:(ARTInternalLog *)logger; + (instancetype)new NS_UNAVAILABLE; + (instancetype)newWithMachine:(ARTPushActivationStateMachine *)machine logger:(ARTInternalLog *)logger; @property (atomic, nullable) ARTPushActivationStateMachine *machine; - (nullable ARTPushActivationState *)transition:(ARTPushActivationEvent *)event; - (NSData *)archive; + (nullable ARTPushActivationState *)unarchive:(NSData *)data withLogger:(nullable ARTInternalLog *)logger; @endSwift
class ARTPushActivationState : NSObject, NSSecureCoding -
Persistent State
Declaration
Objective-C
@interface ARTPushActivationPersistentState : ARTPushActivationStateSwift
class ARTPushActivationPersistentState : ARTPushActivationState
-
Undocumented
Declaration
Objective-C
@interface ARTPushActivationStateNotActivated : ARTPushActivationPersistentStateSwift
class ARTPushActivationStateNotActivated : ARTPushActivationPersistentState -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationStateWaitingForDeviceRegistration : ARTPushActivationState @endSwift
class ARTPushActivationStateWaitingForDeviceRegistration : ARTPushActivationState -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationStateWaitingForPushDeviceDetails : ARTPushActivationPersistentStateSwift
class ARTPushActivationStateWaitingForPushDeviceDetails : ARTPushActivationPersistentState -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationStateWaitingForNewPushDeviceDetails : ARTPushActivationPersistentStateSwift
class ARTPushActivationStateWaitingForNewPushDeviceDetails : ARTPushActivationPersistentState -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushActivationStateWaitingForRegistrationSync : ARTPushActivationState - (instancetype)initWithMachine:(ARTPushActivationStateMachine *)machine logger:(ARTInternalLog *)logger NS_UNAVAILABLE; + (instancetype)newWithMachine:(ARTPushActivationStateMachine *)machine logger:(ARTInternalLog *)logger NS_UNAVAILABLE; - (instancetype)initWithMachine:(ARTPushActivationStateMachine *)machine logger:(ARTInternalLog *)logger fromEvent:(ARTPushActivationEvent *)event; + (instancetype)newWithMachine:(ARTPushActivationStateMachine *)machine logger:(ARTInternalLog *)logger fromEvent:(ARTPushActivationEvent *)event; @property (atomic) ARTPushActivationEvent *fromEvent; @endSwift
class ARTPushActivationStateWaitingForRegistrationSync : ARTPushActivationState -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationStateAfterRegistrationSyncFailed : ARTPushActivationPersistentStateSwift
class ARTPushActivationStateAfterRegistrationSyncFailed : ARTPushActivationPersistentState -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationStateWaitingForDeregistration : ARTPushActivationState @endSwift
class ARTPushActivationStateWaitingForDeregistration : ARTPushActivationState -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushActivationDeprecatedPersistentState : ARTPushActivationPersistentStateSwift
class ARTPushActivationDeprecatedPersistentState : ARTPushActivationPersistentState -
Undocumented
Declaration
Objective-C
@interface ARTPushActivationStateAfterRegistrationUpdateFailed : ARTPushActivationDeprecatedPersistentStateSwift
class ARTPushActivationStateAfterRegistrationUpdateFailed : ARTPushActivationDeprecatedPersistentState -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushActivationStateMachine : NSObject @property (readonly, nonatomic) ARTPushActivationEvent *lastEvent; @property (readonly, nonatomic) ARTPushActivationState *current; @property (readonly, nonatomic) NSArray<ARTPushActivationEvent *> *pendingEvents; - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; - (void)sendEvent:(ARTPushActivationEvent *)event; @endSwift
class ARTPushActivationStateMachine : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushAdminInternal : NSObject @property (nonatomic, readonly) ARTPushDeviceRegistrationsInternal *deviceRegistrations; @property (nonatomic, readonly) ARTPushChannelSubscriptionsInternal *channelSubscriptions; - (instancetype)initWithRest:(ARTRestInternal *)rest logger:(ARTInternalLog *)logger; - (void)publish:(ARTPushRecipient *)recipient data:(ARTJsonObject *)data wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(nullable ARTCallback)callback; @endSwift
class ARTPushAdminInternal : NSObject -
Enables the management of device registrations and push notification subscriptions. Also enables the publishing of push notifications to devices.
See moreDeclaration
Objective-C
@interface ARTPushAdmin : NSObject <ARTPushAdminProtocol>Swift
class ARTPushAdmin : NSObject, ARTPushAdminProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushChannelInternal : NSObject - (instancetype)init:(ARTRestInternal *)rest withChannel:(ARTChannel *)channel logger:(ARTInternalLog *)logger; - (void)subscribeDeviceWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents; - (void)subscribeDeviceWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(nullable ARTCallback)callback; - (void)subscribeClientWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents; - (void)subscribeClientWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(nullable ARTCallback)callback; - (void)unsubscribeDeviceWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents; - (void)unsubscribeDeviceWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(nullable ARTCallback)callback; - (void)unsubscribeClientWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents; - (void)unsubscribeClientWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(nullable ARTCallback)callback; - (BOOL)listSubscriptions:(NSStringDictionary *)params wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedPushChannelCallback)callback error:(NSError *_Nullable *_Nullable)errorPtr; @endSwift
class ARTPushChannelInternal : NSObject -
Enables devices to subscribe to push notifications for a channel.
See moreSee
SeeARTPushChannelProtocolfor details.Declaration
Objective-C
@interface ARTPushChannel : NSObject <ARTPushChannelProtocol>Swift
class ARTPushChannel : NSObject, ARTPushChannelProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushChannelSubscriptionsInternal : NSObject - (instancetype)initWithRest:(ARTRestInternal *)rest logger:(ARTInternalLog *)logger; - (void)save:(ARTPushChannelSubscription *)channelSubscription wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTCallback)callback; - (void)listChannelsWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(ARTPaginatedTextCallback)callback; - (void)list:(NSStringDictionary *)params wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedPushChannelCallback)callback; - (void)remove:(ARTPushChannelSubscription *)subscription wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTCallback)callback; - (void)removeWhere:(NSStringDictionary *)params wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTCallback)callback; @endSwift
class ARTPushChannelSubscriptionsInternal : NSObject -
Enables device push channel subscriptions.
See moreSee
SeeARTPushChannelSubscriptionsProtocolfor details.Declaration
Objective-C
@interface ARTPushChannelSubscriptions : NSObject <ARTPushChannelSubscriptionsProtocol>Swift
class ARTPushChannelSubscriptions : NSObject, ARTPushChannelSubscriptionsProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTPushDeviceRegistrationsInternal : NSObject - (instancetype)initWithRest:(ARTRestInternal *)rest logger:(ARTInternalLog *)logger; - (void)save:(ARTDeviceDetails *)deviceDetails wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTCallback)callback; - (void)get:(ARTDeviceId *)deviceId wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(void (^)(ARTDeviceDetails *_Nullable, ARTErrorInfo *_Nullable))callback; - (void)list:(NSStringDictionary *)params wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedDeviceDetailsCallback)callback; - (void)remove:(NSString *)deviceId wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTCallback)callback; - (void)removeWhere:(NSStringDictionary *)params wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTCallback)callback; @endSwift
class ARTPushDeviceRegistrationsInternal : NSObject -
Enables the management of push notification registrations with Ably.
See moreSee
SeeARTPushDeviceRegistrationsProtocolfor details.Declaration
Objective-C
@interface ARTPushDeviceRegistrations : NSObject <ARTPushDeviceRegistrationsProtocol>Swift
class ARTPushDeviceRegistrations : NSObject, ARTPushDeviceRegistrationsProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTQueuedDealloc : NSObject - (instancetype)init NS_UNAVAILABLE; - (instancetype)init:(id)ref queue:(dispatch_queue_t)queue; @endSwift
class ARTQueuedDealloc : NSObject -
A client that extends the functionality of the
See moreARTRestand provides additional realtime-specific features.Declaration
Objective-C
@interface ARTRealtime : NSObject <ARTRealtimeProtocol>Swift
class ARTRealtime : NSObject, ARTRealtimeProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRealtimeInternal : NSObject #endif - (instancetype)init NS_UNAVAILABLE; - (instancetype)initWithOptions:(ARTClientOptions *)options; - (instancetype)initWithKey:(NSString *)key; - (instancetype)initWithToken:(NSString *)token; @property (nonatomic, readonly) ARTConnectionInternal *connection; @property (nonatomic, readonly) ARTRealtimeChannelsInternal *channels; @property (readonly) ARTAuthInternal *auth; @property (readonly) ARTPushInternal *push; #if TARGET_OS_IOS @property (nonnull, nonatomic, readonly, getter=device) ARTLocalDevice *device; #endif @property (readonly, nullable, getter=clientId) NSString *clientId; @property (readonly, nonatomic) dispatch_queue_t queue; - (void)timeWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(ARTDateTimeCallback)callback; - (BOOL)request:(NSString *)method path:(NSString *)path params:(nullable NSStringDictionary *)params body:(nullable id)body headers:(nullable NSStringDictionary *)headers wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTHTTPPaginatedCallback)callback error:(NSError *_Nullable *_Nullable)errorPtr; - (void)ping:(ARTCallback)cb; - (BOOL)statsWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedStatsCallback)callback; - (BOOL)stats:(nullable ARTStatsQuery *)query wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedStatsCallback)callback error:(NSError *_Nullable *_Nullable)errorPtr; - (void)connect; - (void)close; @endSwift
class ARTRealtimeInternal : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRealtimeAnnotationsInternal : NSObject<ARTRealtimeAnnotationsProtocol> @property (readonly, nonatomic) ARTEventEmitter<ARTEvent *, ARTAnnotation *> *eventEmitter; @property (readonly, weak, nonatomic) ARTRealtimeInternal *realtime; // weak because realtime owns self - (instancetype)initWithChannel:(ARTRealtimeChannelInternal *)channel logger:(ARTInternalLog *)logger; - (void)onMessage:(ARTProtocolMessage *)message; @property (nonatomic) dispatch_queue_t queue; @endSwift
class ARTRealtimeAnnotationsInternal : NSObject, ARTRealtimeAnnotationsProtocol -
See more
See
SeeARTRealtimeAnnotationsProtocolfor details.Declaration
Objective-C
@interface ARTRealtimeAnnotations : NSObject <ARTRealtimeAnnotationsProtocol>Swift
class ARTRealtimeAnnotations : NSObject, ARTRealtimeAnnotationsProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRealtimeChannelInternal : ARTChannelSwift
class ARTRealtimeChannelInternal : ARTChannel -
Enables messages to be published and subscribed to. Also enables historic messages to be retrieved and provides access to the
See moreARTRealtimePresenceobject of a channel. Also implementsARTEventEmitterinterface and emitsARTChannelEventevents, where aARTChannelEventis either aARTRealtimeChannelStateor anARTChannelEvent.ARTChannelEventUpdate.Declaration
Objective-C
@interface ARTRealtimeChannel : NSObject <ARTRealtimeChannelProtocol>Swift
class ARTRealtimeChannel : NSObject, ARTRealtimeChannelProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRealtimeChannelsInternal : NSObject - (ARTRealtimeChannelInternal *)get:(NSString *)name; - (ARTRealtimeChannelInternal *)get:(NSString *)name options:(ARTRealtimeChannelOptions *)options; - (id<NSFastEnumeration>)copyIntoIteratorWithMapper:(ARTRealtimeChannel *(^)(ARTRealtimeChannelInternal *))mapper; - (instancetype)initWithRealtime:(ARTRealtimeInternal *)realtime logger:(ARTInternalLog *)logger; @property (readonly, getter=getNosyncIterable) id<NSFastEnumeration> nosyncIterable; @property (nonatomic, readonly, getter=getCollection) NSMutableDictionary<NSString *, ARTRealtimeChannelInternal *> *collection; - (ARTRealtimeChannelInternal *)_getChannel:(NSString *)name options:(ARTChannelOptions * _Nullable)options addPrefix:(BOOL)addPrefix; @property (nonatomic) dispatch_queue_t queue; - (BOOL)exists:(NSString *)name; - (void)release:(NSString *)name callback:(nullable ARTCallback)errorInfo; - (void)release:(NSString *)name; @endSwift
class ARTRealtimeChannelsInternal : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRealtimePresenceInternal : NSObject @property (nonatomic, readonly) NSString *connectionId; @property (readonly, nonatomic) ARTEventEmitter<ARTEvent *, ARTPresenceMessage *> *eventEmitter; - (instancetype)initWithChannel:(ARTRealtimeChannelInternal *)channel logger:(ARTInternalLog *)logger; - (void)_unsubscribe; - (BOOL)syncComplete_nosync; - (BOOL)syncInProgress_nosync; - (void)failPendingPresence:(ARTStatus *)status; - (void)broadcast:(ARTPresenceMessage *)pm; - (void)onMessage:(ARTProtocolMessage *)message; - (void)onSync:(ARTProtocolMessage *)message; - (void)onAttached:(ARTProtocolMessage *)message; @property (nonatomic) dispatch_queue_t queue; @property (readonly, nonatomic) NSMutableArray<ARTQueuedMessage *> *pendingPresence; @property (readonly) BOOL syncComplete; - (void)get:(ARTPresenceMessagesCallback)callback; - (void)get:(ARTRealtimePresenceQuery *)query callback:(ARTPresenceMessagesCallback)callback; - (void)enter:(id _Nullable)data; - (void)enter:(id _Nullable)data callback:(nullable ARTCallback)callback; - (void)update:(id _Nullable)data; - (void)update:(id _Nullable)data callback:(nullable ARTCallback)callback; - (void)leave:(id _Nullable)data; - (void)leave:(id _Nullable)data callback:(nullable ARTCallback)callback; - (void)enterClient:(NSString *)clientId data:(id _Nullable)data; - (void)enterClient:(NSString *)clientId data:(id _Nullable)data callback:(nullable ARTCallback)callback; - (void)updateClient:(NSString *)clientId data:(id _Nullable)data; - (void)updateClient:(NSString *)clientId data:(id _Nullable)data callback:(nullable ARTCallback)callback; - (void)leaveClient:(NSString *)clientId data:(id _Nullable)data; - (void)leaveClient:(NSString *)clientId data:(id _Nullable)data callback:(nullable ARTCallback)callback; - (ARTEventListener *_Nullable)subscribe:(ARTPresenceMessageCallback)callback; - (ARTEventListener *_Nullable)subscribeWithAttachCallback:(nullable ARTCallback)onAttach callback:(ARTPresenceMessageCallback)callback; - (ARTEventListener *_Nullable)subscribe:(ARTPresenceAction)action callback:(ARTPresenceMessageCallback)callback; - (ARTEventListener *_Nullable)subscribe:(ARTPresenceAction)action onAttach:(nullable ARTCallback)onAttach callback:(ARTPresenceMessageCallback)callback; - (void)unsubscribe; - (void)unsubscribe:(ARTEventListener *)listener; - (void)unsubscribe:(ARTPresenceAction)action listener:(ARTEventListener *)listener; - (void)historyWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(ARTPaginatedPresenceCallback)callback; - (BOOL)history:(ARTRealtimeHistoryQuery *_Nullable)query wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedPresenceCallback)callback error:(NSError *_Nullable *_Nullable)errorPtr; @endSwift
class ARTRealtimePresenceInternal : NSObject -
Enables the presence set to be entered and subscribed to, and the historic presence set to be retrieved for a channel.
See moreSee
SeeARTRealtimePresenceProtocolfor details.Declaration
Objective-C
@interface ARTRealtimePresence : ARTPresence <ARTRealtimePresenceProtocol>Swift
class ARTRealtimePresence : ARTPresence, ARTRealtimePresenceProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRealtimeTransportError : NSObject @property (nonatomic) NSError *error; @property (nonatomic) ARTRealtimeTransportErrorType type; /** This meaning of this property is only defined if the error is of type `ARTRealtimeTransportErrorTypeBadResponse`. */ @property (nonatomic) NSInteger badResponseCode; @property (nonatomic) NSURL *url; - (instancetype)initWithError:(NSError *)error type:(ARTRealtimeTransportErrorType)type url:(NSURL *)url; - (instancetype)initWithError:(NSError *)error badResponseCode:(NSInteger)badResponseCode url:(NSURL *)url; - (NSString *)description; @endSwift
class ARTRealtimeTransportError : NSObject -
The implementation of
ARTRealtimeTransportFactorythat should be used in non-test code.Declaration
Objective-C
@interface ARTDefaultRealtimeTransportFactory : NSObject <ARTRealtimeTransportFactory>Swift
class DefaultRealtimeTransportFactory : NSObject, RealtimeTransportFactory -
ARTRest private methods that are used internally and for internal testing
See moreDeclaration
Objective-C
@interface ARTRestInternal : NSObjectSwift
class ARTRestInternal : NSObject -
A client that offers a simple stateless API to interact directly with Ably’s REST API.
See moreDeclaration
Objective-C
@interface ARTRest : NSObject <ARTRestProtocol>Swift
class ARTRest : NSObject, ARTRestProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRestAnnotationsInternal : NSObject<ARTRestAnnotationsProtocol> - (instancetype)initWithChannel:(ARTRestChannelInternal *)channel logger:(ARTInternalLog *)logger; @endSwift
class ARTRestAnnotationsInternal : NSObject, ARTRestAnnotationsProtocol -
Functionality for annotating messages with small pieces of data, such as emoji reactions, that the server will roll up into the message as a summary.
See moreSee
SeeARTRestAnnotationsProtocolfor details.Declaration
Objective-C
@interface ARTRestAnnotations : NSObject <ARTRestAnnotationsProtocol>Swift
class ARTRestAnnotations : NSObject, ARTRestAnnotationsProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRestChannelInternal : ARTChannelSwift
class ARTRestChannelInternal : ARTChannel -
Enables messages to be published and historic messages to be retrieved for a channel.
See moreDeclaration
Objective-C
@interface ARTRestChannel : NSObject <ARTRestChannelProtocol>Swift
class ARTRestChannel : NSObject, ARTRestChannelProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRestChannelsInternal : NSObject - (ARTRestChannelInternal *)get:(NSString *)name; - (ARTRestChannelInternal *)get:(NSString *)name options:(ARTChannelOptions *)options; - (id<NSFastEnumeration>)copyIntoIteratorWithMapper:(ARTRestChannel *(^)(ARTRestChannelInternal *))mapper; - (instancetype)initWithRest:(ARTRestInternal *)rest logger:(ARTInternalLog *)logger; - (ARTRestChannelInternal *)_getChannel:(NSString *)name options:(ARTChannelOptions * _Nullable)options addPrefix:(BOOL)addPrefix; - (BOOL)exists:(NSString *)name; - (void)release:(NSString *)name; @endSwift
class ARTRestChannelsInternal : NSObject -
Undocumented
See moreDeclaration
Objective-C
@interface ARTRestPresenceInternal : NSObject - (instancetype)initWithChannel:(ARTRestChannelInternal *)channel logger:(ARTInternalLog *)logger; - (void)get:(ARTPaginatedPresenceCallback)callback; - (BOOL)get:(ARTPaginatedPresenceCallback)callback error:(NSError *_Nullable *_Nullable)errorPtr; - (BOOL)get:(ARTPresenceQuery *)query callback:(ARTPaginatedPresenceCallback)callback error:(NSError *_Nullable *_Nullable)errorPtr; - (BOOL)history:(nullable ARTDataQuery *)query wrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents callback:(ARTPaginatedPresenceCallback)callback error:(NSError *_Nullable *_Nullable)errorPtr; - (void)historyWithWrapperSDKAgents:(nullable NSStringDictionary *)wrapperSDKAgents completion:(ARTPaginatedPresenceCallback)callback; @endSwift
class ARTRestPresenceInternal : NSObject -
Enables the retrieval of the current and historic presence set for a channel.
See moreSee
SeeARTRestPresenceProtocolfor details.Declaration
Objective-C
@interface ARTRestPresence : ARTPresence <ARTRestPresenceProtocol>Swift
class ARTRestPresence : ARTPresence, ARTRestPresenceProtocol, @unchecked Sendable -
Consider an operation which can fail. If we attempt to perform the operation and it fails, we may wish to start performing a sequence of retries, until success or some other termination condition is achieved. An
See moreARTRetrySequencekeeps track of the number of retries that have been attempted. Each time itsaddRetryAttemptmethod is called, it increments its retry count, and returns anARTRetryAttemptwhich describes the duration that we should wait before performing the retry of the operation.Declaration
Objective-C
@interface ARTRetrySequence : NSObjectSwift
class RetrySequence : NSObject -
Describes an intention to retry an operation.
See moreDeclaration
Objective-C
@interface ARTRetryAttempt : NSObjectSwift
class RetryAttempt : NSObject
-
A
See moreARTSRWebSocketobject lets you connect, send and receive data to a remote Web Socket.Declaration
Objective-C
@interface ARTSRWebSocket : NSObject <ARTWebSocket, NSStreamDelegate>Swift
class ARTSRWebSocket : NSObject, ARTWebSocket, StreamDelegate -
Provides an interface for injecting additional configuration into
ARTRestorARTRealtimeinstances.This is for anything that test code wishes to be able to configure but which should not be part of the public API of these classes.
See moreDeclaration
Objective-C
@interface ARTTestClientOptions : NSObject <NSCopying>Swift
class ARTTestClientOptions : NSObject, NSCopying -
Defines the properties of an Ably Token.
See moreDeclaration
Objective-C
@interface ARTTokenParams : NSObject <NSCopying>Swift
class ARTTokenParams : NSObject, NSCopying -
Contains
See moreARTRealtimeConnectionStatechange information emitted by theARTConnectionobject.Declaration
Objective-C
@interface ARTConnectionStateChange : NSObjectSwift
class ARTConnectionStateChange : NSObject, @unchecked Sendable -
Contains state change information emitted by an
See moreARTRealtimeChannelobject.Declaration
Objective-C
@interface ARTChannelStateChange : NSObjectSwift
class ARTChannelStateChange : NSObject, @unchecked Sendable -
Undocumented
Declaration
Objective-C
@interface ARTURLSessionServerTrust : NSObject<NSURLSessionDelegate, NSURLSessionTaskDelegate, ARTURLSession> @endSwift
class ARTURLSessionServerTrust : NSObject, URLSessionDelegate, URLSessionTaskDelegate, ARTURLSession -
The implementation of
ARTWebSocketFactorythat should be used in non-test code.Declaration
Objective-C
@interface ARTDefaultWebSocketFactory : NSObject <ARTWebSocketFactory>Swift
class DefaultWebSocketFactory : NSObject, WebSocketFactory -
Undocumented
See moreDeclaration
Objective-C
@interface ARTWebSocketTransport : NSObject <ARTRealtimeTransport> - (instancetype)init UNAVAILABLE_ATTRIBUTE; - (instancetype)initWithRest:(ARTRestInternal *)rest options:(ARTClientOptions *)options resumeKey:(nullable NSString *)resumeKey logger:(ARTInternalLog *)logger webSocketFactory:(id<ARTWebSocketFactory>)webSocketFactory NS_DESIGNATED_INITIALIZER; @property (readonly, nonatomic) NSString *resumeKey; @endSwift
class ARTWebSocketTransport : NSObject, ARTRealtimeTransport -
An object which wraps an instance of
ARTPushand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyPush : NSObject <ARTPushProtocol>Swift
class ARTWrapperSDKProxyPush : NSObject, ARTPushProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTPushAdminand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyPushAdmin : NSObject <ARTPushAdminProtocol>Swift
class ARTWrapperSDKProxyPushAdmin : NSObject, ARTPushAdminProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTPushChanneland provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyPushChannel : NSObject <ARTPushChannelProtocol>Swift
class ARTWrapperSDKProxyPushChannel : NSObject, ARTPushChannelProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTPushChannelSubscriptionsand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyPushChannelSubscriptions : NSObject <ARTPushChannelSubscriptionsProtocol>Swift
class ARTWrapperSDKProxyPushChannelSubscriptions : NSObject, ARTPushChannelSubscriptionsProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTPushDeviceRegistrationsand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyPushDeviceRegistrations : NSObject <ARTPushDeviceRegistrationsProtocol>Swift
class ARTWrapperSDKProxyPushDeviceRegistrations : NSObject, ARTPushDeviceRegistrationsProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTRealtimeand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyRealtime : NSObject <ARTRealtimeInstanceMethodsProtocol>Swift
class ARTWrapperSDKProxyRealtime : NSObject, ARTRealtimeInstanceMethodsProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTRealtimeAnnotationsand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyRealtimeAnnotations : NSObject <ARTRealtimeAnnotationsProtocol>Swift
class ARTWrapperSDKProxyRealtimeAnnotations : NSObject, ARTRealtimeAnnotationsProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTRealtimeChanneland provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyRealtimeChannel : NSObject <ARTRealtimeChannelProtocol>Swift
class ARTWrapperSDKProxyRealtimeChannel : NSObject, ARTRealtimeChannelProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTRealtimeChannelsand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyRealtimeChannels : NSObject <ARTRealtimeChannelsProtocol>Swift
class ARTWrapperSDKProxyRealtimeChannels : NSObject, ARTRealtimeChannelsProtocol, @unchecked Sendable -
An object which wraps an instance of
ARTRealtimePresenceand provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.See moreImportant
This class should only be used by Ably-authored SDKs.Declaration
Objective-C
@interface ARTWrapperSDKProxyRealtimePresence : NSObject <ARTRealtimePresenceProtocol>Swift
class ARTWrapperSDKProxyRealtimePresence : NSObject, ARTRealtimePresenceProtocol, @unchecked Sendable -
Undocumented
See moreDeclaration
Objective-C
@interface ARTSRSecurityPolicy : NSObject /** A default `ARTSRSecurityPolicy` implementation specifies socket security and validates the certificate chain. Use a subclass of `ARTSRSecurityPolicy` for more fine grained customization. */ + (instancetype)defaultPolicy; /** Specifies socket security and provider certificate pinning, disregarding certificate chain validation. @param pinnedCertificates Array of `SecCertificateRef` SSL certificates to use for validation. */ + (instancetype)pinnningPolicyWithCertificates:(NSArray *)pinnedCertificates DEPRECATED_MSG_ATTRIBUTE("Using pinned certificates is neither secure nor supported in SocketRocket, " "and leads to security issues. Please use a proper, trust chain validated certificate."); /** Specifies socket security and optional certificate chain validation. @param enabled Whether or not to validate the SSL certificate chain. If you are considering using this method because your certificate was not issued by a recognized certificate authority, consider using `pinningPolicyWithCertificates` instead. */ - (instancetype)initWithCertificateChainValidationEnabled:(BOOL)enabled DEPRECATED_MSG_ATTRIBUTE("Disabling certificate chain validation is unsafe. " "Please use a proper Certificate Authority to issue your TLS certificates.") NS_DESIGNATED_INITIALIZER; /** Updates all the security options for input and output streams, for example you can set your socket security level here. @param stream Stream to update the options in. */ - (void)updateSecurityOptionsInStream:(NSStream *)stream; /** Whether or not the specified server trust should be accepted, based on the security policy. This method should be used when responding to an authentication challenge from a server. In the default implemenation, no further validation is done here, but you're free to override it in a subclass. See `ARTSRPinningSecurityPolicy.h` for an example. @param serverTrust The X.509 certificate trust of the server. @param domain The domain of serverTrust. @return Whether or not to trust the server. */ - (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust forDomain:(NSString *)domain; @endSwift
class ARTSRSecurityPolicy : NSObject -
Contains the token string used to authenticate a client with Ably.
See moreDeclaration
Objective-C
@interface ARTAuthDetails : NSObject <NSCopying>Swift
class ARTAuthDetails : NSObject, NSCopying -
Provides information about the Ably client library and the environment in which it’s running.
See moreDeclaration
Objective-C
@interface ARTClientInformation : NSObjectSwift
class ARTClientInformation : NSObject -
Contains an individual message that is sent to, or received from, Ably.
See moreDeclaration
Objective-C
@interface ARTMessage : ARTBaseMessageSwift
class ARTMessage : ARTBaseMessage -
Represents an outbound annotation to be published or deleted.
This type is based on
See moreARTAnnotationbut omits the properties that are populated by the Realtime service.Declaration
Objective-C
@interface ARTOutboundAnnotation : NSObject <NSCopying>Swift
class ARTOutboundAnnotation : NSObject, NSCopying, @unchecked Sendable -
Contains the subscriptions of a device, or a group of devices sharing the same
See moreclientId, has to a channel in order to receive push notifications.Declaration
Objective-C
@interface ARTPushChannelSubscription : NSObjectSwift
class ARTPushChannelSubscription : NSObject -
Describes the properties of the channel state.
See moreDeclaration
Objective-C
@interface ARTChannelProperties : NSObjectSwift
class ARTChannelProperties : NSObject -
Passes additional properties to an
See moreARTRealtimeChannelobject, such as encryption, anARTChannelModeand channel parameters.Declaration
Objective-C
@interface ARTRealtimeChannelOptions : ARTChannelOptionsSwift
class ARTRealtimeChannelOptions : ARTChannelOptions -
This object is used for providing parameters into
See moreARTRealtimePresence‘s methods with paginated results.Declaration
Objective-C
@interface ARTRealtimePresenceQuery : ARTPresenceQuerySwift
class ARTRealtimePresenceQuery : ARTPresenceQuery -
This object is used for providing parameters into
See moreARTRestAnnotations‘s methods with paginated results.Declaration
Objective-C
@interface ARTAnnotationsQuery : NSObjectSwift
class ARTAnnotationsQuery : NSObject, @unchecked Sendable -
This object is used for providing parameters into
See moreARTStats‘s methods with paginated results.Declaration
Objective-C
@interface ARTStatsQuery : ARTDataQuerySwift
class ARTStatsQuery : ARTDataQuery -
Contains the aggregate counts for messages and data transferred.
See moreDeclaration
Objective-C
@interface ARTStatsMessageCount : NSObjectSwift
class ARTStatsMessageCount : NSObject -
Contains a breakdown of summary stats data for different (channel vs presence) message types.
See moreDeclaration
Objective-C
@interface ARTStatsMessageTypes : NSObjectSwift
class ARTStatsMessageTypes : NSObject -
Contains a breakdown of summary stats data for traffic over various transport types.
See moreDeclaration
Objective-C
@interface ARTStatsMessageTraffic : NSObjectSwift
class ARTStatsMessageTraffic : NSObject -
Contains the aggregate data for usage of a resource in a specific scope.
See moreDeclaration
Objective-C
@interface ARTStatsResourceCount : NSObjectSwift
class ARTStatsResourceCount : NSObject -
Contains a breakdown of summary stats data for different (
See moreTLSvs non-TLS) connection types.Declaration
Objective-C
@interface ARTStatsConnectionTypes : NSObjectSwift
class ARTStatsConnectionTypes : NSObject -
Contains the aggregate counts for requests made.
See moreDeclaration
Objective-C
@interface ARTStatsRequestCount : NSObjectSwift
class ARTStatsRequestCount : NSObject -
Details the stats on push notifications.
See moreDeclaration
Objective-C
@interface ARTStatsPushCount : NSObjectSwift
class ARTStatsPushCount : NSObject -
Contains application statistics for a specified time interval and time period.
See moreDeclaration
Objective-C
@interface ARTStats : NSObjectSwift
class ARTStats : NSObject -
A generic Ably error object that contains an Ably-specific status code, and a generic status code. Errors returned from the Ably server are compatible with the
See moreARTErrorInfostructure and should result in errors that inherit fromARTErrorInfo.Declaration
Objective-C
@interface ARTErrorInfo : NSErrorSwift
class ARTErrorInfo : NSError -
Summary with total count and list of client IDs.
See moreDeclaration
Objective-C
@interface ARTSummaryClientIdList : NSObjectSwift
class ARTSummaryClientIdList : NSObject, @unchecked Sendable -
Summary with total count and dictionary mapping client IDs to counts.
See moreDeclaration
Objective-C
@interface ARTSummaryClientIdCounts : NSObjectSwift
class ARTSummaryClientIdCounts : NSObject, @unchecked Sendable -
Summary with only total count.
See moreDeclaration
Objective-C
@interface ARTSummaryTotal : NSObjectSwift
class ARTSummaryTotal : NSObject, @unchecked Sendable -
Contains an Ably Token and its associated metadata.
See moreDeclaration
Objective-C
@interface ARTTokenDetails : NSObject <NSCopying>Swift
class ARTTokenDetails : NSObject, NSCopying -
Contains the properties of a request for a token to Ably. Tokens are generated using
See more-[ARTAuthProtocol requestToken:].Declaration
Objective-C
@interface ARTTokenRequest : NSObjectSwift
class ARTTokenRequest : NSObject -
Contains the metrics associated with a
See moreARTRestChannelorARTRealtimeChannel, such as the number of publishers, subscribers and connections it has.Declaration
Objective-C
@interface ARTChannelMetrics : NSObjectSwift
class ARTChannelMetrics : NSObject, @unchecked Sendable -
Contains the metrics of a
See moreARTRestChannelorARTRealtimeChannelobject.Declaration
Objective-C
@interface ARTChannelOccupancy : NSObjectSwift
class ARTChannelOccupancy : NSObject, @unchecked Sendable -
Contains the status of a
See moreARTRestChannelorARTRealtimeChannelobject such as whether it is active and itsARTChannelOccupancy.Declaration
Objective-C
@interface ARTChannelStatus : NSObjectSwift
class ARTChannelStatus : NSObject, @unchecked Sendable -
Contains the details of a
See moreARTRestChannelorARTRealtimeChannelobject such as its ID andARTChannelStatus.Declaration
Objective-C
@interface ARTChannelDetails : NSObjectSwift
class ARTChannelDetails : NSObject, @unchecked Sendable -
A set of options for controlling the creation of an
See moreARTWrapperSDKProxyRealtimeobject.Declaration
Objective-C
@interface ARTWrapperSDKProxyOptions : NSObjectSwift
class ARTWrapperSDKProxyOptions : NSObject, @unchecked Sendable
Classes Reference