Migrating to v13.0.0

Version 13.0.0 of the Intercom iOS SDK adds support for iOS 16. Xcode 14 is required to build v13.0.0.

In v12.1.0 we deprecated a number of methods in our API. These deprecated methods have now been removed. Developers who are still using the deprecated APIs will need to migrate their code to use the new API methods.
For more information and code samples, please visit our configuration guide.

Objective-C API

Deprecated APINew API
+ (void)presentMessageComposer+ (void)presentMessageComposer:(nullable NSString *)initialMessage
+ (void)presentMessageComposerWithInitialMessage:(NSString *)message+ (void)presentMessageComposer:(nullable NSString *)initialMessage
+ (void)presentConversationListNo replacement
+ (void)reset+ (void)logout
+ (void)registerUnidentifiedUser+ (void)loginUnidentifiedUserWithSuccess:(void(^ __nullable)(void))success failure:(void(^ __nullable)(NSError *_Nonnull error))failure
+ (void)registerUserWithUserId:(NSString *)userId email:(NSString *)email+ (void)loginUserWithUserAttributes:(ICMUserAttributes *)userAttributes success:(void(^ __nullable)(void))success failure:(void(^ __nullable)(NSError *_Nonnull error))failure
+ (void)registerUserWithUserId:(NSString *)userId+ (void)loginUserWithUserAttributes:(ICMUserAttributes *)userAttributes success:(void(^ __nullable)(void))success failure:(void(^ __nullable)(NSError *_Nonnull error))failure
+ (void)registerUserWithEmail:(NSString *)email+ (void)loginUserWithUserAttributes:(ICMUserAttributes *)userAttributes success:(void(^ __nullable)(void))success failure:(void(^ __nullable)(NSError *_Nonnull error))failure
+ (void)updateUser:(ICMUserAttributes *)userAttributes+ (void)updateUser:(ICMUserAttributes *)userAttributes success:(void(^ __nullable)(void))success failure:(void(^ __nullable)(NSError *_Nonnull error))failure
+ (void)setDeviceToken:(NSData *)deviceToken+ (void)setDeviceToken:(NSData *)deviceToken failure:(void(^ __nullable)(NSError * _Nullable error))failure

Swift API

Deprecated APINew API
func presentMessageComposer()func presentMessageComposer(_ initialMessage: String?)
func presentMessageComposer(withInitialMessage message: String)func presentMessageComposer(_ initialMessage: String?)
func presentConversationList()No replacement
func reset()func logout()
func registerUnidentifiedUser()func loginUnidentifiedUser(completion: ((Result<Void, Error>) -> Void)? = nil)
func registerUser(withUserId userId: String, email: String)func loginUser(with attributes: ICMUserAttributes, completion: ((Result<Void, Error>) -> Void)? = nil)
func registerUser(withUserId userId: String)func loginUser(with attributes: ICMUserAttributes, completion: ((Result<Void, Error>) -> Void)? = nil)
func registerUser(withEmail email: String)func loginUser(with attributes: ICMUserAttributes, completion: ((Result<Void, Error>) -> Void)? = nil)
func updateUser(_ userAttributes: ICMUserAttributes)func updateUser(with attributes: ICMUserAttributes, completion: ((Result<Void, Error>) -> Void)? = nil)
func setDeviceToken(_ deviceToken: Data)func setDeviceToken(_ deviceToken: Data, failure: ((Error?) -> Void)? = nil)