Skip to content

Commit 992ca13

Browse files
authored
Merge pull request #219 from apptentive/branch_5.1.2
Release 5.1.2
2 parents 4c003b7 + 69ff395 commit 992ca13

20 files changed

+121
-494
lines changed

Apptentive/Apptentive.xcodeproj/project.pbxproj

+5-146
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
0116D5281E92F516001DA5CF /* ApptentiveMessageStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 0116D5261E92F516001DA5CF /* ApptentiveMessageStore.m */; };
1717
01201AD31FC637BE00EB3593 /* CodePointAndInteractionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 01201AD21FC637BD00EB3593 /* CodePointAndInteractionTests.m */; };
1818
01216C501EBBB53E0062BD0D /* RequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01216C4F1EBBB53E0062BD0D /* RequestTests.swift */; };
19-
012285481E4A81AD00DD2F58 /* Apptentive_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 01A2CFAB1E490A9600C2103A /* Apptentive_Private.h */; settings = {ATTRIBUTES = (Public, ); }; };
20-
012285491E4A831500DD2F58 /* Apptentive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01A2CF911E49062700C2103A /* Apptentive.framework */; };
2119
0123005F20531698000EC3C3 /* ClauseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0123005E20531698000EC3C3 /* ClauseTests.m */; };
2220
012ED9292072F33F003D87F3 /* ApptentiveRetryPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 012ED9272072F33F003D87F3 /* ApptentiveRetryPolicy.h */; };
2321
012ED92A2072F33F003D87F3 /* ApptentiveRetryPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 012ED9282072F33F003D87F3 /* ApptentiveRetryPolicy.m */; };
@@ -352,10 +350,6 @@
352350
01A2D26B1E4946D600C2103A /* testJsonDiffing.1.old.json in Resources */ = {isa = PBXBuildFile; fileRef = 01A2D2301E4946D600C2103A /* testJsonDiffing.1.old.json */; };
353351
01A2D26C1E4946D600C2103A /* testJsonDiffing.2.new.json in Resources */ = {isa = PBXBuildFile; fileRef = 01A2D2311E4946D600C2103A /* testJsonDiffing.2.new.json */; };
354352
01A2D26D1E4946D600C2103A /* testJsonDiffing.2.old.json in Resources */ = {isa = PBXBuildFile; fileRef = 01A2D2321E4946D600C2103A /* testJsonDiffing.2.old.json */; };
355-
01A2D28C1E49609100C2103A /* ApptentiveDebugging.h in Headers */ = {isa = PBXBuildFile; fileRef = 01A2D27E1E49609100C2103A /* ApptentiveDebugging.h */; settings = {ATTRIBUTES = (Public, ); }; };
356-
01A2D2951E4960E100C2103A /* Apptentive+Debugging.h in Headers */ = {isa = PBXBuildFile; fileRef = 01A2D2931E4960E100C2103A /* Apptentive+Debugging.h */; settings = {ATTRIBUTES = (Public, ); }; };
357-
01A2D2961E4960E100C2103A /* Apptentive+Debugging.m in Sources */ = {isa = PBXBuildFile; fileRef = 01A2D2941E4960E100C2103A /* Apptentive+Debugging.m */; };
358-
01A2D2971E49614A00C2103A /* Apptentive+Debugging.m in Sources */ = {isa = PBXBuildFile; fileRef = 01A2D2941E4960E100C2103A /* Apptentive+Debugging.m */; };
359353
01A2D2981E49638A00C2103A /* ATDataModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 01A2D0B01E490A9700C2103A /* ATDataModel.xcdatamodeld */; };
360354
01A2D2991E4963A500C2103A /* ATDataModel v1 to v2.xcmappingmodel in Sources */ = {isa = PBXBuildFile; fileRef = 01A2D0AB1E490A9700C2103A /* ATDataModel v1 to v2.xcmappingmodel */; };
361355
01A2D29A1E4963A500C2103A /* ATDataModel v2 to v3.xcmappingmodel in Sources */ = {isa = PBXBuildFile; fileRef = 01A2D0AC1E490A9700C2103A /* ATDataModel v2 to v3.xcmappingmodel */; };
@@ -437,13 +431,6 @@
437431
/* End PBXBuildFile section */
438432

439433
/* Begin PBXContainerItemProxy section */
440-
012285461E4A814300DD2F58 /* PBXContainerItemProxy */ = {
441-
isa = PBXContainerItemProxy;
442-
containerPortal = 01A2CF881E49062700C2103A /* Project object */;
443-
proxyType = 1;
444-
remoteGlobalIDString = 01A2CF901E49062700C2103A;
445-
remoteInfo = Apptentive;
446-
};
447434
01A2CF9C1E49062800C2103A /* PBXContainerItemProxy */ = {
448435
isa = PBXContainerItemProxy;
449436
containerPortal = 01A2CF881E49062700C2103A /* Project object */;
@@ -827,11 +814,6 @@
827814
01A2D2301E4946D600C2103A /* testJsonDiffing.1.old.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = testJsonDiffing.1.old.json; sourceTree = "<group>"; };
828815
01A2D2311E4946D600C2103A /* testJsonDiffing.2.new.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = testJsonDiffing.2.new.json; sourceTree = "<group>"; };
829816
01A2D2321E4946D600C2103A /* testJsonDiffing.2.old.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = testJsonDiffing.2.old.json; sourceTree = "<group>"; };
830-
01A2D27C1E49609100C2103A /* ApptentiveDebugging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ApptentiveDebugging.framework; sourceTree = BUILT_PRODUCTS_DIR; };
831-
01A2D27E1E49609100C2103A /* ApptentiveDebugging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ApptentiveDebugging.h; sourceTree = "<group>"; };
832-
01A2D27F1E49609100C2103A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
833-
01A2D2931E4960E100C2103A /* Apptentive+Debugging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Apptentive+Debugging.h"; sourceTree = "<group>"; };
834-
01A2D2941E4960E100C2103A /* Apptentive+Debugging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Apptentive+Debugging.m"; sourceTree = "<group>"; };
835817
01A2D29E1E4963F700C2103A /* v2CorruptDatabase */ = {isa = PBXFileReference; lastKnownFileType = folder; path = v2CorruptDatabase; sourceTree = "<group>"; };
836818
01A2D29F1E4963F700C2103A /* v2WALDatabase */ = {isa = PBXFileReference; lastKnownFileType = folder; path = v2WALDatabase; sourceTree = "<group>"; };
837819
01A2D2A01E4963F700C2103A /* v3WALDatabase */ = {isa = PBXFileReference; lastKnownFileType = folder; path = v3WALDatabase; sourceTree = "<group>"; };
@@ -925,14 +907,6 @@
925907
);
926908
runOnlyForDeploymentPostprocessing = 0;
927909
};
928-
01A2D2781E49609100C2103A /* Frameworks */ = {
929-
isa = PBXFrameworksBuildPhase;
930-
buildActionMask = 2147483647;
931-
files = (
932-
012285491E4A831500DD2F58 /* Apptentive.framework in Frameworks */,
933-
);
934-
runOnlyForDeploymentPostprocessing = 0;
935-
};
936910
/* End PBXFrameworksBuildPhase section */
937911

938912
/* Begin PBXGroup section */
@@ -1007,7 +981,6 @@
1007981
isa = PBXGroup;
1008982
children = (
1009983
01A2CF931E49062700C2103A /* Apptentive */,
1010-
01A2D27D1E49609100C2103A /* ApptentiveDebugging */,
1011984
01A2CF9E1E49062800C2103A /* ApptentiveTests */,
1012985
01A2CF921E49062700C2103A /* Products */,
1013986
);
@@ -1018,7 +991,6 @@
1018991
children = (
1019992
01A2CF911E49062700C2103A /* Apptentive.framework */,
1020993
01A2CF9A1E49062800C2103A /* ApptentiveTests.xctest */,
1021-
01A2D27C1E49609100C2103A /* ApptentiveDebugging.framework */,
1022994
);
1023995
name = Products;
1024996
sourceTree = "<group>";
@@ -1725,17 +1697,6 @@
17251697
path = criteria;
17261698
sourceTree = "<group>";
17271699
};
1728-
01A2D27D1E49609100C2103A /* ApptentiveDebugging */ = {
1729-
isa = PBXGroup;
1730-
children = (
1731-
01A2D2931E4960E100C2103A /* Apptentive+Debugging.h */,
1732-
01A2D2941E4960E100C2103A /* Apptentive+Debugging.m */,
1733-
01A2D27E1E49609100C2103A /* ApptentiveDebugging.h */,
1734-
01A2D27F1E49609100C2103A /* Info.plist */,
1735-
);
1736-
path = ApptentiveDebugging;
1737-
sourceTree = "<group>";
1738-
};
17391700
01AD54981E8706800057D10C /* Message Center */ = {
17401701
isa = PBXGroup;
17411702
children = (
@@ -1948,16 +1909,6 @@
19481909
);
19491910
runOnlyForDeploymentPostprocessing = 0;
19501911
};
1951-
01A2D2791E49609100C2103A /* Headers */ = {
1952-
isa = PBXHeadersBuildPhase;
1953-
buildActionMask = 2147483647;
1954-
files = (
1955-
01A2D28C1E49609100C2103A /* ApptentiveDebugging.h in Headers */,
1956-
012285481E4A81AD00DD2F58 /* Apptentive_Private.h in Headers */,
1957-
01A2D2951E4960E100C2103A /* Apptentive+Debugging.h in Headers */,
1958-
);
1959-
runOnlyForDeploymentPostprocessing = 0;
1960-
};
19611912
/* End PBXHeadersBuildPhase section */
19621913

19631914
/* Begin PBXNativeTarget section */
@@ -1997,25 +1948,6 @@
19971948
productReference = 01A2CF9A1E49062800C2103A /* ApptentiveTests.xctest */;
19981949
productType = "com.apple.product-type.bundle.unit-test";
19991950
};
2000-
01A2D27B1E49609100C2103A /* ApptentiveDebugging */ = {
2001-
isa = PBXNativeTarget;
2002-
buildConfigurationList = 01A2D28D1E49609100C2103A /* Build configuration list for PBXNativeTarget "ApptentiveDebugging" */;
2003-
buildPhases = (
2004-
01A2D2771E49609100C2103A /* Sources */,
2005-
01A2D2781E49609100C2103A /* Frameworks */,
2006-
01A2D2791E49609100C2103A /* Headers */,
2007-
01A2D27A1E49609100C2103A /* Resources */,
2008-
);
2009-
buildRules = (
2010-
);
2011-
dependencies = (
2012-
012285471E4A814300DD2F58 /* PBXTargetDependency */,
2013-
);
2014-
name = ApptentiveDebugging;
2015-
productName = ApptentiveDebugging;
2016-
productReference = 01A2D27C1E49609100C2103A /* ApptentiveDebugging.framework */;
2017-
productType = "com.apple.product-type.framework";
2018-
};
20191951
/* End PBXNativeTarget section */
20201952

20211953
/* Begin PBXProject section */
@@ -2036,11 +1968,6 @@
20361968
LastSwiftMigration = 0900;
20371969
ProvisioningStyle = Automatic;
20381970
};
2039-
01A2D27B1E49609100C2103A = {
2040-
CreatedOnToolsVersion = 8.2.1;
2041-
DevelopmentTeam = 86WML2UN43;
2042-
ProvisioningStyle = Automatic;
2043-
};
20441971
};
20451972
};
20461973
buildConfigurationList = 01A2CF8B1E49062700C2103A /* Build configuration list for PBXProject "Apptentive" */;
@@ -2076,7 +2003,6 @@
20762003
targets = (
20772004
01A2CF901E49062700C2103A /* Apptentive */,
20782005
01A2CF991E49062800C2103A /* ApptentiveTests */,
2079-
01A2D27B1E49609100C2103A /* ApptentiveDebugging */,
20802006
);
20812007
};
20822008
/* End PBXProject section */
@@ -2186,13 +2112,6 @@
21862112
);
21872113
runOnlyForDeploymentPostprocessing = 0;
21882114
};
2189-
01A2D27A1E49609100C2103A /* Resources */ = {
2190-
isa = PBXResourcesBuildPhase;
2191-
buildActionMask = 2147483647;
2192-
files = (
2193-
);
2194-
runOnlyForDeploymentPostprocessing = 0;
2195-
};
21962115
/* End PBXResourcesBuildPhase section */
21972116

21982117
/* Begin PBXSourcesBuildPhase section */
@@ -2380,7 +2299,6 @@
23802299
01216C501EBBB53E0062BD0D /* RequestTests.swift in Sources */,
23812300
EFF4D2A91EC3806300FD4EFE /* ApptentiveConversationMigrationTests.m in Sources */,
23822301
01A2D2981E49638A00C2103A /* ATDataModel.xcdatamodeld in Sources */,
2383-
01A2D2971E49614A00C2103A /* Apptentive+Debugging.m in Sources */,
23842302
010FE33B203E2D900021C246 /* CriteriaDescriptionTests.swift in Sources */,
23852303
01A2D2401E4946D600C2103A /* ApptentiveConnectTests.m in Sources */,
23862304
01A2D2991E4963A500C2103A /* ATDataModel v1 to v2.xcmappingmodel in Sources */,
@@ -2390,22 +2308,9 @@
23902308
);
23912309
runOnlyForDeploymentPostprocessing = 0;
23922310
};
2393-
01A2D2771E49609100C2103A /* Sources */ = {
2394-
isa = PBXSourcesBuildPhase;
2395-
buildActionMask = 2147483647;
2396-
files = (
2397-
01A2D2961E4960E100C2103A /* Apptentive+Debugging.m in Sources */,
2398-
);
2399-
runOnlyForDeploymentPostprocessing = 0;
2400-
};
24012311
/* End PBXSourcesBuildPhase section */
24022312

24032313
/* Begin PBXTargetDependency section */
2404-
012285471E4A814300DD2F58 /* PBXTargetDependency */ = {
2405-
isa = PBXTargetDependency;
2406-
target = 01A2CF901E49062700C2103A /* Apptentive */;
2407-
targetProxy = 012285461E4A814300DD2F58 /* PBXContainerItemProxy */;
2408-
};
24092314
01A2CF9D1E49062800C2103A /* PBXTargetDependency */ = {
24102315
isa = PBXTargetDependency;
24112316
target = 01A2CF901E49062700C2103A /* Apptentive */;
@@ -2477,7 +2382,7 @@
24772382
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
24782383
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
24792384
COPY_PHASE_STRIP = NO;
2480-
CURRENT_PROJECT_VERSION = 14;
2385+
CURRENT_PROJECT_VERSION = 15;
24812386
DEBUG_INFORMATION_FORMAT = dwarf;
24822387
ENABLE_STRICT_OBJC_MSGSEND = YES;
24832388
ENABLE_TESTABILITY = YES;
@@ -2535,7 +2440,7 @@
25352440
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
25362441
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
25372442
COPY_PHASE_STRIP = NO;
2538-
CURRENT_PROJECT_VERSION = 14;
2443+
CURRENT_PROJECT_VERSION = 15;
25392444
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
25402445
ENABLE_NS_ASSERTIONS = NO;
25412446
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -2567,7 +2472,7 @@
25672472
DEFINES_MODULE = YES;
25682473
DEVELOPMENT_TEAM = 86WML2UN43;
25692474
DYLIB_COMPATIBILITY_VERSION = 1;
2570-
DYLIB_CURRENT_VERSION = 14;
2475+
DYLIB_CURRENT_VERSION = 15;
25712476
DYLIB_INSTALL_NAME_BASE = "@rpath";
25722477
GCC_PREFIX_HEADER = "Apptentive/Misc/ApptentiveConnect-Prefix.pch";
25732478
GCC_PREPROCESSOR_DEFINITIONS = "APPTENTIVE_DEBUG=1";
@@ -2589,7 +2494,7 @@
25892494
DEFINES_MODULE = YES;
25902495
DEVELOPMENT_TEAM = 86WML2UN43;
25912496
DYLIB_COMPATIBILITY_VERSION = 1;
2592-
DYLIB_CURRENT_VERSION = 14;
2497+
DYLIB_CURRENT_VERSION = 15;
25932498
DYLIB_INSTALL_NAME_BASE = "@rpath";
25942499
GCC_PREFIX_HEADER = "Apptentive/Misc/ApptentiveConnect-Prefix.pch";
25952500
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
@@ -2633,44 +2538,7 @@
26332538
};
26342539
name = Release;
26352540
};
2636-
01A2D28E1E49609100C2103A /* Debug */ = {
2637-
isa = XCBuildConfiguration;
2638-
buildSettings = {
2639-
CODE_SIGN_IDENTITY = "";
2640-
DEFINES_MODULE = YES;
2641-
DEVELOPMENT_TEAM = 86WML2UN43;
2642-
DYLIB_COMPATIBILITY_VERSION = 1;
2643-
DYLIB_CURRENT_VERSION = 14;
2644-
DYLIB_INSTALL_NAME_BASE = "@rpath";
2645-
INFOPLIST_FILE = ApptentiveDebugging/Info.plist;
2646-
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
2647-
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
2648-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
2649-
PRODUCT_BUNDLE_IDENTIFIER = com.apptentive.ApptentiveDebugging;
2650-
PRODUCT_NAME = "$(TARGET_NAME)";
2651-
SKIP_INSTALL = YES;
2652-
};
2653-
name = Debug;
2654-
};
2655-
01A2D28F1E49609100C2103A /* Release */ = {
2656-
isa = XCBuildConfiguration;
2657-
buildSettings = {
2658-
CODE_SIGN_IDENTITY = "";
2659-
DEFINES_MODULE = YES;
2660-
DEVELOPMENT_TEAM = 86WML2UN43;
2661-
DYLIB_COMPATIBILITY_VERSION = 1;
2662-
DYLIB_CURRENT_VERSION = 14;
2663-
DYLIB_INSTALL_NAME_BASE = "@rpath";
2664-
INFOPLIST_FILE = ApptentiveDebugging/Info.plist;
2665-
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
2666-
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
2667-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
2668-
PRODUCT_BUNDLE_IDENTIFIER = com.apptentive.ApptentiveDebugging;
2669-
PRODUCT_NAME = "$(TARGET_NAME)";
2670-
SKIP_INSTALL = YES;
2671-
};
2672-
name = Release;
2673-
};
2541+
26742542
/* End XCBuildConfiguration section */
26752543

26762544
/* Begin XCConfigurationList section */
@@ -2701,15 +2569,6 @@
27012569
defaultConfigurationIsVisible = 0;
27022570
defaultConfigurationName = Release;
27032571
};
2704-
01A2D28D1E49609100C2103A /* Build configuration list for PBXNativeTarget "ApptentiveDebugging" */ = {
2705-
isa = XCConfigurationList;
2706-
buildConfigurations = (
2707-
01A2D28E1E49609100C2103A /* Debug */,
2708-
01A2D28F1E49609100C2103A /* Release */,
2709-
);
2710-
defaultConfigurationIsVisible = 0;
2711-
defaultConfigurationName = Release;
2712-
};
27132572
/* End XCConfigurationList section */
27142573

27152574
/* Begin XCVersionGroup section */

Apptentive/Apptentive/Apptentive.h

+9-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ FOUNDATION_EXPORT double ApptentiveVersionNumber;
2020
FOUNDATION_EXPORT const unsigned char ApptentiveVersionString[];
2121

2222
/** The version number of the Apptentive SDK. */
23-
#define kApptentiveVersionString @"5.1.1"
23+
#define kApptentiveVersionString @"5.1.2"
2424

2525
/** The version number of the Apptentive API platform. */
2626
#define kApptentiveAPIVersionString @"9"
@@ -782,6 +782,14 @@ typedef NS_ENUM(NSUInteger, ApptentiveLogLevel) {
782782
*/
783783
@property (copy, nonatomic) ApptentiveAuthenticationFailureCallback authenticationFailureCallback;
784784

785+
/**
786+
Updates the login token with the provided one. Used to refresh a token that has expired or may expire soon.
787+
788+
@param token The new authorization token.
789+
@param completion handler indicating success or failure.
790+
*/
791+
- (void)updateToken:(NSString *)token completion:(nullable void(^)(BOOL))completion;
792+
785793
///---------------------------------
786794
/// @name Logging System
787795
///---------------------------------

Apptentive/Apptentive/Apptentive.m

+27
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
NSString *const ApptentiveErrorDomain = @"com.apptentive";
5454

5555
static Apptentive *_sharedInstance;
56+
static Apptentive *_nullInstance;
5657

5758

5859
@implementation ApptentiveConfiguration
@@ -100,6 +101,12 @@ @implementation Apptentive
100101
+ (instancetype)sharedConnection {
101102
if (_sharedInstance == nil) {
102103
ApptentiveLogWarning(@"Apptentive instance is not initialized. Make sure you've registered it with your app key and signature.");
104+
105+
if (_nullInstance == nil) {
106+
_nullInstance = [Apptentive nullInstance];
107+
}
108+
109+
return _nullInstance;
103110
}
104111
return _sharedInstance;
105112
}
@@ -108,6 +115,10 @@ + (instancetype)shared {
108115
return [self sharedConnection];
109116
}
110117

118+
+ (instancetype)nullInstance {
119+
return [[Apptentive alloc] init];
120+
}
121+
111122
- (id)initWithConfiguration:(ApptentiveConfiguration *)configuration {
112123
self = [super init];
113124

@@ -162,6 +173,8 @@ + (void)registerWithConfiguration:(ApptentiveConfiguration *)configuration {
162173
} @catch (NSException *e) {
163174
ApptentiveLogCrit(@"Exception while initializing Apptentive instance (%@).", e);
164175
}
176+
177+
_nullInstance = nil;
165178
}
166179

167180
- (id<ApptentiveStyle>)styleSheet {
@@ -204,6 +217,10 @@ - (void)setPersonEmailAddress:(nullable NSString *)personEmailAddress {
204217
self.backend.personEmailAddress = personEmailAddress;
205218
}
206219

220+
- (void)setMParticleId:(NSString *)mParticleId {
221+
[self.backend setMParticleId:mParticleId];
222+
}
223+
207224
- (void)sendAttachmentText:(NSString *)text {
208225
[self.operationQueue dispatchAsync:^{
209226
if (self.backend.conversationManager.activeConversation == nil) {
@@ -944,6 +961,16 @@ - (void)logOut {
944961
}];
945962
}
946963

964+
- (void)updateToken:(NSString *)token completion:(nullable void (^)(BOOL))completion {
965+
[self.operationQueue dispatchAsync:^{
966+
BOOL success = [self.backend.conversationManager updateToken:token];
967+
968+
if (completion != nil) {
969+
completion(success);
970+
}
971+
}];
972+
}
973+
947974
- (ApptentiveAuthenticationFailureCallback)authenticationFailureCallback {
948975
return self.backend.authenticationFailureCallback;
949976
}

0 commit comments

Comments
 (0)