ably-cocoa

iOS, tvOS and macOS Objective-C and Swift client library SDK for Ably realtime messaging service

APACHE-2.0 License

Stars
41
Committers
26

Bot releases are visible (Hide)

ably-cocoa - v1.1.11 - Beta 0

Published by ricardopereira about 5 years ago

Important changes

Tentative fix of:

  • Crash on creating weak ref to deallocating object #879

Versions

Podfile

pod 'Ably', '1.1.11-beta.0'

Cartfile

github "ably/ably-cocoa" == 1.1.11-beta.0

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.10

Published by ricardopereira about 5 years ago

Important changes

Fixed bugs:

  • Push device registration omits clientId #877

Complete list of changes available here.

Versions

Podfile

pod 'Ably', '1.1.10'

Cartfile

github "ably/ably-cocoa" == 1.1.10

Objective-C

#import <Ably/Ably.h>

Swift

import Ably

Compatibility

  • Carthage release for Swift is built with Xcode 10.2.1.
ably-cocoa - v1.1.9

Published by ricardopereira over 5 years ago

Important changes

Fixed bugs:

  • Push deactivate on an app is failing with push-subscribe permissions #873

Merged pull requests:

  • Delete device registration should not use the general-purpose endpoint #871 (ricardopereira)

Complete list of changes available here.

⚠️ Important notes

Push related

Whenever a new device token occurs in application(_:didRegisterForRemoteNotificationsWithDeviceToken:), the library was updating the LocalDevice.deviceIdentityTokenDetails with invalid data. The issue causing this was in the deviceUpdateRegistration: method (https://github.com/ably/ably-cocoa/pull/867).

After updating to this version, because of the bad state of deviceIdentityTokenDetails, it is possible that a response error with status code 401 occurs when a PATCH /push/deviceRegistrations request is done:

error =     {
    code = 40100;
    href = "https://help.ably.io/error/40100";
    message = "Incompatible deviceSecret specified for device access. (See https://help.ably.io/error/40100 for help.)";
    serverId = "frontend.33f8.1.eu-central-1-A.i-00dc4bfbae5ebfeac";
    statusCode = 401;
};

✅ The recommended way to fix the deviceIdentityTokenDetails bad state is to deactivate() -> activate() the device.

Versions

Podfile

pod 'Ably', '1.1.9'

Cartfile

github "ably/ably-cocoa" == 1.1.9

Objective-C

#import <Ably/Ably.h>

Swift

import Ably

Compatibility

  • Carthage release for Swift is built with Xcode 10.2.1.
ably-cocoa - v1.1.8

Published by ricardopereira over 5 years ago

Important changes

Fixed bugs:

  • Push deactivate/activate sequence results in stopped notifications #863
  • Library apparently interpreting the connectionStateTtl with incorrect units #866

Merged pull requests:

Complete list of changes available here.

⚠️ Important notes

Push related

Whenever a new device token occurs in application(_:didRegisterForRemoteNotificationsWithDeviceToken:), the library was updating the LocalDevice.deviceIdentityTokenDetails with invalid data. The issue causing this was in the deviceUpdateRegistration: method (https://github.com/ably/ably-cocoa/pull/867).

After updating to this version, because of the bad state of deviceIdentityTokenDetails, it is possible that a response error with status code 401 occurs when a PATCH /push/deviceRegistrations request is done:

error =     {
    code = 40100;
    href = "https://help.ably.io/error/40100";
    message = "Incompatible deviceSecret specified for device access. (See https://help.ably.io/error/40100 for help.)";
    serverId = "frontend.33f8.1.eu-central-1-A.i-00dc4bfbae5ebfeac";
    statusCode = 401;
};

✅ The recommended way to fix the deviceIdentityTokenDetails bad state is to deactivate() -> activate() the device.

Versions

Podfile

pod 'Ably', '1.1.8'

Cartfile

github "ably/ably-cocoa" == 1.1.8

Objective-C

#import <Ably/Ably.h>

Swift

import Ably

Compatibility

  • Carthage release for Swift is built with Xcode 10.2.1.
ably-cocoa - v1.1.7

Published by ricardopereira over 5 years ago

Important changes

Fixed bugs:

  • Push deactivate/activate sequence results in stopped notifications #863

Merged pull requests:

  • Fix Push Activation State Machine: WaitingForRegistrationUpdate bad state #864 (ricardopereira)

Complete list of changes available here.

Podfile

pod 'Ably', '1.1.7'

Cartfile

github "ably/ably-cocoa" == 1.1.7

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.6

Published by ricardopereira over 5 years ago

Important changes

Fixed bugs:

  • Lexical or Preprocessor Issue: 'SRWebSocket.h' file not found #840
  • KSCrashAblyFork ksthread_getQueueName #846

Complete list of changes available here.

⚠️ Breaking changes

We changed the name of our SocketRocket framework to SocketRocketAblyFork. In case you're using the library with Carthage, then you need to update the path of the SocketRocket framework on your application targets’ Build Phases settings tab:

Screenshot 2019-06-13 at 14 06 43

Podfile

pod 'Ably', '1.1.6'

Cartfile

github "ably/ably-cocoa" == 1.1.6

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.5

Published by ricardopereira over 5 years ago

Important changes

Implemented enhancements:

  • Swift 5 / Xcode 10.2 #838

Fixed bugs:

  • Issue reported in iOS push tutorial #850

Complete list of changes available here.

Podfile

pod 'Ably', '1.1.5'

Cartfile

github "ably/ably-cocoa" == 1.1.5

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.4

Published by ricardopereira over 5 years ago

Important changes

Implemented enhancements:

  • Add idempotent REST publishing #749

Fixed bugs:

  • Default token params should not include a capabilities member #576
  • Unsubscribe on channel enumeration causing crash #842

Complete list of changes available here.

Podfile

pod 'Ably', '1.1.4'

Cartfile

github "ably/ably-cocoa" == 1.1.4

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.3

Published by ricardopereira almost 6 years ago

Important changes include:

  • macOS Support
  • tvOS Support

Complete list of changes available here.

Podfile

pod 'Ably', '1.1.3'

Cartfile

github "ably/ably-cocoa" == 1.1.3

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.2

Published by ricardopereira almost 6 years ago

Important changes include:

  • Update to Xcode 10 (Swift 4.2) #813
  • HTTP Paginated Response implemented #783
  • Unable to submit to AppStore has been fixed #803

Complete list of changes available here.

Podfile

pod 'Ably', '1.1.2'

Cartfile

github "ably/ably-ios" == 1.1.2

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.1

Published by ricardopereira about 6 years ago

Fixed bugs:

  • Update SocketRocket dependency #804

Podfile

pod 'Ably', '1.1.1'

Cartfile

github "ably/ably-ios" == 1.1.1

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.0

Published by funkyboy about 6 years ago

Important changes include:

  • Upgrade to Xcode 9.4 #721
  • Update Swift to version 4.1 #716
  • Update protocol version to 1.1 #777
  • Update push API and push device authentication #761
  • Add max message size #759

See the complete release notes at https://blog.ably.io/ablys-client-library-sdks-1-1-release-8165c73c76fd

Podfile

pod 'Ably', '1.1.0'

Cartfile

github "ably/ably-ios" == 1.1.0

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.0.14

Published by funkyboy over 6 years ago

Important changes include:

  • Implement connection state freshness check #645
  • Support for JWT #713

Podfile

pod 'Ably', '1.0.14'

Cartfile

github "ably/ably-ios" == 1.0.14

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.0.13

Published by funkyboy over 6 years ago

Important changes include:

  • Obtain a new connection when reconnecting after an interval greater than connectionStateTtl + maxIdleInterval #719

Podfile

pod 'Ably', '1.0.13'

Cartfile

github "ably/ably-ios" == 1.0.13

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.0.12

Published by funkyboy over 6 years ago

Important changes include:

  • Address warnings in KSCrash fork #680
  • Fix App Store publication when using Carthage #698
  • Fix high memory usage #691

Podfile

pod 'Ably', '1.0.12'

Cartfile

github "ably/ably-ios" == 1.0.12

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.0.11

Published by funkyboy over 6 years ago

Important changes include:

  • Fix crash on authentication challenge (#676)

Podfile

pod 'Ably', '1.0.11'

Cartfile

github "ably/ably-ios" == 1.0.11

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.0.10

Published by ricardopereira almost 7 years ago

Important changes include:

  • RTN23a idle timeout (#638).
  • Move to DISCONNECTED on unexpected WebSocket close (#655).
  • Deadlock: should dispatch in the user queue when removing an observer of an EventEmitter (#640).
  • Presence map should use the memberKey as key rather than the clientId (#641).
  • Presence map shouldn't be accessible (#631).
  • Carthage support (#639).

This release is compatible with Xcode 7.3, Xcode 8 and Xcode 9.

Podfile

pod 'Ably', '1.0.10'

Cartfile

github "ably/ably-ios" == 1.0.10

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - v1.1.0 - Push notification support - beta v1

Published by mattheworiordan about 7 years ago

See https://www.ably.io/documentation/realtime/push for details on how to use Ably's native push notifications.

Installation

You can install Ably for iOS through CocoaPods, Carthage or manually.

Installing through CocoaPods (recommended)

Add this line to your application's Podfile:

# For Xcode 7.3 and newer
pod 'Ably', :git => 'https://github.com/ably/ably-ios.git', :branch => 'push'

And then install the dependency:

$ pod install

Then you can:

 // On Objective-C
#import <Ably/Ably.h>

// On Swift
import Ably

Installing through Carthage

Add this line to your application's Cartfile:

# For Xcode 7.3 and newer
github "ably/ably-ios" "push"

And then run carthage update to build the framework and drag the built Ably.framework into your Xcode project.

Manual installation

  1. Clone the push branch: git clone -b push [email protected]:ably/ably-ios.git
  2. Drag the directory ably-ios/ably-ios into your project as a group.
  3. Ably depends on SocketRocket 0.5.1; get it from the releases page and follow its manual installation instructions.
  4. Ably also depends on msgpack 0.1.8; get it from the releases page and link it into your project.
ably-cocoa - 1.0.9

Published by tcard about 7 years ago

Important changes include:

  • Some network conditions that wrongly resulted in a FAILED connection now result in a temporarily DISCONNECTED connection.
  • Implement Presence.get when the channel is SUSPENDED or DISCONNECTED.

This release is compatible with Xcode 7.3 and Xcode 8.

Podfile

pod 'Ably', '1.0.9'

Cartfile

github "ably/ably-ios" == 1.0.9

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
ably-cocoa - 1.0.8

Published by tcard about 7 years ago

Important changes include:

  • The library is now thread-safe! Check the README to see what this means exactly.
  • The old connection is reused when a reauth happens. (#622)

This release is compatible with Xcode 7.3 and Xcode 8.

Podfile

pod 'Ably', '1.0.8'

Cartfile

github "ably/ably-ios" == 1.0.8

Objective-C

#import <Ably/Ably.h>

Swift

import Ably
Package Rankings
Top 16.47% on Swiftpackageindex.com
Top 6.04% on Cocoapods.org
Top 28.7% on Carthage
Badges
Extracted from project README
Check Pod Integration Test: iOS 14.4 Integration Test: macOS 10.15 Integration Test: tvOS 14.3 Features CocoaPods SPM Swift Compatibility SPM Platform Compatibility