Skip to content

irodeanu/quickblox-ios-sdk

 
 

Repository files navigation

QuickBlox iOS SDK

This project contains QuickBlox iOS SDK, that includes

How to start

To start work you should just put framework into your project and call desired methods.

Latest framework file you can download from downloads page.

Documentation

Oh, please, please show me the code

iOS SDK is really simple to use. Just in few minutes you can power your mobile app with huge amount of awesome functions to store, pass and represent your data.

1. Get app credentials

2. Create new iOS project

3. Add framework to project, see this tutorial

4. Make QuickBlox API calls

The common way to interact with QuickBlox can be presented with following sequence of actions:

  1. Initialize framework with application credentials
  2. Create session
  3. Login with existing user or register new one
  4. Perform actions with any QuickBlox data entities (users, locations, files, custom objects, pushes etc.)

4.1 Initialize framework with application credentials

[QBSettings setApplicationID:92];
[QBSettings setAuthorizationKey:@"wJHdOcQSxXQGWx5"];
[QBSettings setAuthorizationSecret:@"BTFsj7Rtt27DAmT"];

4.2. Create session

[QBAuth createSessionWithDelegate:self];

- (void)completedWithResult:(Result *)result{
    if(result.success && [result isKindOfClass:QBAAuthSessionCreationResult.class]){
        // Success, do something
    }
}

4.3. Register/login

First create (register) new user

QBUUser *user = [QBUUser user];
user.login = @"garry";
user.password = @"garry5santos";

[QBUsers signUp:user delegate:self];

- (void)completedWithResult:(Result *)result{
    if(result.success && [result isKindOfClass:QBUUserResult.class]){
        // Success, do something
        QBUUserResult *userResult = (QBUUserResult *)result;
        NSLog(@"New user=%@", userResult.user);
    }
}

then authorize user

[QBUsers logInWithUserLogin:@"garry" password:@"garry5santos"  delegate:self];

- (void)completedWithResult:(Result *)result{
    if(result.success && [result isKindOfClass:QBUUserLogInResult.class]){
        // Success, do something
        QBUUserLogInResult *userResult = (QBUUserLogInResult *)result;
        NSLog(@"Logged In user=%@", userResult.user);
    }
}

4.4. Perform actions

Create new location for Indiana Jones

QBLGeoData *location = [QBLGeoData geoData];
location.latitude = 23.2344;
location.longitude = -12.23523;
location.status = @"Hello, world, I'm Indiana Jones, I'm at London right now!";

[QBLocation createGeoData:location delegate:self];

- (void)completedWithResult:(Result *)result{
    if(result.success && [result isKindOfClass:QBLGeoDataResult.class]){
        // Success, do something
        QBLGeoDataResult *locationResult = (QBLGeoDataResult *)result;
        NSLog(@"New location=%@", locationResult.geoData);
    }
}

or put Image into storage

NSData *file = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"YellowStar" ofType:@"png"]];

[QBContent TUploadFile:file fileName:@"Great Image" contentType:@"image/png" isPublic:YES delegate:self];

- (void)completedWithResult:(Result *)result{
    if(result.success && [result isKindOfClass:QBCFileUploadTaskResult.class]){
        // Success, do something
    }
}

iOS Framework provides following classes to interact with QuickBlox API (each class has suite of static methods):

  • QBAuth
  • QBUsers
  • QBCustomObjects
  • QBLocation
  • QBContent
  • QBRatings
  • QBMessages
  • QBChat

See also

About

quickblox-ios-sdk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published