GetSocial iOS SDK Manual Initialization Guide

Disable Auto Initialization

By default GetSocial SDK is initialized automatically on application start. You can disable this behavior and initialize from code.

Using GetSocial Installer Script

If you are using GetSocial Installer script, to disable auto initialization:

  1. In your Xcode project, open Project settings and select target you want to modify.
  2. Go to Build Phases tab → Run Script section and add --auto-init parameter to GetSocial configuration:
    1
    ./getsocial.sh --app-id="your-getsocial-app-id" --auto-init="false"
    

Using Info Plist Property

If you are not using GetSocial Installer script you have to add .plist property manually:

  1. In your Xcode project, open .plist file.
  2. Add property im.getsocial.sdk.AutoInitSdk:
    1
    2
    <key>im.getsocial.sdk.AutoInitSdk</key>
    <false/>
    

Initialize From Code

To initialize GetSocial SDK from code, just call [GetSocial init].

Most of GetSocial APIs require initialized SDK. You can check SDK initialization state in sync or async way.

1
2
3
if ([GetSocial isInitialized]) {
    // use GetSocial
}

If you want to be notified about initialization complete, you can set a block, that will be invoked when SDK gets initialized or invoked immediately if it is already initialized:

1
2
3
[GetSocial executeWhenInitialized:^() {
    // GetSocial is ready to be used
}];

It can be useful when you want to use GetSocial on application start, but you can not be sure is it ready for using, for example you want to retrieve referral data on application start:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
@implementation MainViewController
...
- (void)viewDidLoad {
    [super viewDidLoad];
    ...
    [GetSocial executeWhenInitialized:^() {
        [GetSocial referralDataWithSuccess:... failure:...];
    }];
    [GetSocial init];
    ...
}
...
@end

Initialize With Dynamic Application Id

Also, you can specify application ID to initialize with from code:

1
2
NSString *appId = ...;
[GetSocial initWithAppId:appId];

Give us your feedback! Was this article helpful?

😀 🙁