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 API

New API

+ (void)presentMessageComposer

+ (void)presentMessageComposer:(nullable NSString *)initialMessage

+ (void)presentMessageComposerWithInitialMessage:(NSString *)message

+ (void)presentMessageComposer:(nullable NSString *)initialMessage

+ (void)presentConversationList

No 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 API

New 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)