summaryrefslogtreecommitdiff
path: root/platform/ios/vendor/Fabric/FABKitProtocol.h
blob: 53e0656de04bea8b46a583db498013e825abfb5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//
//  FABKitProtocol.h
//
//  Copyright (c) 2015 Twitter. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
 *  Protocol that a class in a Fabric Kit must conform to to provide information to Fabric at runtime.
 */
@protocol FABKit <NSObject>

@required

/**
 *  Required. The globally unique identifier of the Kit.
 *  We encourage the use of reverse-DNS notation.
 *  Example: @"io.fabric.sdk.ios"
 */
+ (NSString *)bundleIdentifier;

/**
 *  Required. Must return the current version of the Kit that is being used at runtime.
 *  We encourage the use of semantic versioning (http://semver.org/), without prefixing the version with a "v".
 *  This is commonly referred to as the "marketing version".
 *  Example: @"1.2.3"
 */
+ (NSString *)kitDisplayVersion;

@optional

/**
 *  The build version of the kit. Should be monotonically increasing and unique.
 *  Example: 137
 */
+ (NSString *)kitBuildVersion;

/**
 *  Perform any necessary initialization.
 *  This method will be invoked on the Kit when the user calls +[Fabric initializeKits].
 *  @note This method being called does not necessarily imply that the developer has started using the Kit yet.
 */
+ (void)initializeIfNeeded;

@end