Programming language: Objective-C
License: Unknown
Tags: Messaging    
Latest version: v4.1.0

LayerKit alternatives and similar libraries

Based on the "Messaging" category.
Alternatively, view LayerKit alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of LayerKit or a related project?

Add another 'Messaging' Library


Layer iOS Releases

This repository contains binary distributions of iOS products released by Layer.

If you have any questions, comments, or issues related to any products distributed via this repository then please contact the team by emailing [email protected]. Questions about pricing or product roadmap can be directed to [email protected].


LayerKit is the iOS SDK for interacting with the Layer communications cloud. It provides a simple, object oriented interface to the rich messaging capabilities provided by the platform.

In order to use LayerKit you must be a registered developer with a provisioned application identifier and have configured a backend system to act as an identity provider for your client applications. All aspects of this setup are covered in detail in the Layer iOS Documentation.


LayerKit can be installed directly into your application by importing a framework or via CocoaPods. Quick installation instructions are provided below for reference, but please refer to the Layer iOS Documentation for full details and troubleshooting.

CocoaPods Installation

The recommended path for installation is CocoaPods. CocoaPods provides a simple, versioned dependency management system that automates the tedious and error prone aspects of manually configuring libraries and frameworks. You can add LayerKit to your project via CocoaPods by doing the following:

$ sudo gem install cocoapods
$ pod setup

Now create a Podfile in the root of your project directory and add the following:

pod 'LayerKit'

Complete the installation by executing:

$ pod install

These instructions will setup your local CocoaPods environment and import LayerKit into your project. Once this has completed, test your installation by referring to the Verifying LayerKit Configuration section below.

Carthage Installation

LayerKit can also be installed to your project via Carthage. Carthage is a decentralized package manager that is designed to be as simple as possible. Carthage will not make any modifications to your project, so installation is moderately more involved than with CocoaPods. To get started, ensure that you have installed Carthage and then create a Cartfile with the following content:

binary "https://raw.githubusercontent.com/layerhq/releases-ios/master/LayerKit.json"

and run the following command:

carthage update

This will put the LayerKit.framework into the your_project_root/Carthage/Build/iOS/ directory, from where you can add it to your project and link it with your application target. Then select your application target within XCode and navigate to the Build Phases panel and click the + icon and select New Run Script Phase. Set the content to:

/usr/local/bin/carthage copy-frameworks

In the Input Files section add:


Now build your application target and everything should be set.

Framework Installation

If you wish to install LayerKit directly into your application via the binary framework, then you have a choice between two distributions:

  • LayerKit.framework - This build artifact is a dynamic framework that is compatible with Objective-C and Swift projects that target iOS 8 and higher.
  • LayerKit.embeddedframework - This build artifact is a pseudo-framework that contains a static library asset and a set of public header files. It is compatible with Objective-C projects that target iOS 7 and higher.

Download the appropriate build artifact from this repository and add it to your application:

  1. Drag and drop the framework onto your project, instructing Xcode to copy items into your destination group's folder.
  2. Update your project settings to include the linker flags: -ObjC -lz
  3. Add the following Cocoa SDK frameworks to your project: 'CFNetwork', 'Security', 'MobileCoreServices', 'SystemConfiguration', 'libsqlite3.tbd'
  4. LayerKit.framework only: The dynamic framework distribution requires the configuration of additional build phases to complete installation. The steps are detailed on the Layer Knowledge Base.

Build and run your project to verify installation was successful. Once you have completed a successful build, refer to the Verifying LayerKit Configuration section below for details on how to test your setup.

Verifying LayerKit Configuration

Once you have finished installing LayerKit via CocoaPods or framework, you can test your configuration by importing the headers and connecting a client to the Layer cloud. To do so, edit your application delegate to include the code below (note that you must substitute the app ID placeholder text with your actual app identifier):

#import <LayerKit/LayerKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    LYRClient *layerClient = [LYRClient clientWithAppID:appID];
    [layerClient connectWithCompletion:^(BOOL success, NSError *error) {
        if (success) {
            NSLog(@"Sucessfully connected to Layer!");
        } else {
            NSLog(@"Failed connection to Layer with error: %@", error);

Launch your application and verify that the connection is successful. You are now ready to begin authenticating clients and sending messages. Please refer to the Layer iOS Documentation for details.


You can reach the Layer team at any time by emailing [email protected].


LayerKit is licensed under the Layer SDK License.

*Note that all licence references and agreements mentioned in the LayerKit README section above are relevant to that project's source code only.