iOS SDK v7.0.0 Migration Guide

This guide is to provide information about breaking changes and how to migrate from 6.x.x version to v7.0.0. AmitySDK 7.0.0 is the major release of our SDK.

Installation

Manual Installation

For those migrating from AmitySDK v5 to v7, manual installation now requires including RealmSwift.xcframework alongside the existing frameworks.

Interface Changes

Class
Changes
Remarks

AmityPostFlagger

Removed

Use apis in AmityPostRepository instead

AmityCommentFlagger

Removed

Use apis in AmityCommentRepository instead

AmityMessageFlagger

Removed

Use apis in AmityMessageRepository instead

AmityUserFlagger

Removed

Use apis in AmityUserFlagger instead

AmityChannelParticipation

Removed

Use apis in AmityChannelMembership class instead

AmityCommunityParticipation

Removed

Use apis in AmityCommunityMembership instead

AmityCommentEditor

Removed

Use apis in AmityCommentRepository instead

AmityMessageEditor

Removed

Use apis in AmityMessageRepository instead

enum AmityCommunityType

Removed

-

AmityUserFollowManager

Removed

Use apis in AmityUserRelationship class instead

StoryTargetSearchInfo

Removed

Renamed to AmityStoryTargetSearchInfo

enum AmityFollowStatus: Int

Removed

No changes needed

AmityClient

Property | Methods
Changes
Remarks

currentUser

Removed

Use user instead

totalUnreadCount: Int

Removed

Use getUserUnread() instead

startUnreadCountSync()

Removed

stopUnreadCountSync()

Removed

startUnreadSync()

Removed

stopUnreadSync()

Removed

syncUnreadCount()

Removed

registerDeviceForPushNotification(withDeviceToken:,completion:_)

Removed

Use registerPushNotification instead

registerDeviceForPushNotification(withDeviceToken:_) async throws

Removed

Use registerPushNotification instead

unregisterDeviceForPushNotification(forUserId:,completion:_)

Removed

Use unregisterPushNotification() instead

unregisterDeviceForPushNotification(forUserId:_) async throws

Removed

Use unregisterPushNotification() instead

unregisterPushNotification(forUserId:_) async

Removed

Use unregisterPushNotification() instead

updateUser(builder:_) async throw

Removed

Use editUser() instead

updateUser(builder:,completion:_)

Removed

Use editUser() instead

AmityStreamRepository

Property | Methods
Changes
Remarks

createVideoStream(withTitle:,description:,thumbnailImage:,meta:,completion:_)

Removed

Use createStream(title:,description:,thumbnailImage:,meta:_) async throws instead

getStreamById(_ streamId:_)

Removed

Use getStream(streamId:_) instead

getStreamsCollection(query:_)

Removed

Use getStreams(query:_) instead

AmityChannel

Property | Methods
Changes
Remarks

messageCount: Int

Removed

Use messageCount from AmitySubChannel instead

participation: AmityChannelParticipation

Removed

Use membership instead

unreadCount: Int

Removed

Use subChannelsUnreadCount instead or unreadCount from AmitySubChannel instead

hasMentioned: Bool

Removed

Use isMentioned instead

defaultSubChannelUnreadCount: Int

Removed

Use subChannelsUnreadCount instead or unreadCount from AmitySubChannel instead

AmitySubChannel

Property | Methods
Changes
Remarks

hasMentioned: Bool

Removed

Use isMentioned instead

startReading()

Removed

Use startMessageReceiptSync method in AmitySubChannelRepository instead

stopReading()

Removed

Use stopMessageReceiptSync method in AmitySubChannelRepository instead

AmityObject

Property | Methods
Changes
Remarks

object: T

Removed

Use snapshot instead

AmityChannelRepository

Property | Methods
Changes
Remarks

totalDefaultSubChannelUnreadCount: Int

Removed

Use getUserUnread() from AmityClient instead

updateChannel(_:)

Removed

Use editChannel() instead.

AmityCommunity

Property | Methods
Changes
Remarks

participation: AmityCommunityParticipation

Removed

Use membership instead

AmityCommentRepository

Property | Methods
Changes
Remarks

deleteComment(withId:_,hardDelete:_,completion:_)

Removed

Use softDeleteComment(commentId:_) async throws -> Bool or hardDeleteComment(commentId:_) async throws -> Bool instead

createComment(with:_,completion:_)

Removed

Use createComment(options:_) async throws instead

updateComment(withId:,options:,completion:_)

Removed

Use editComment(commentId:_,options:_) async throws -> AmityComment instead

updateComment(withId:,options:_) async throws

Removed

Use editComment(commentId:_,options:_) async throws -> AmityComment instead

getLatestComment(withReferenceId:,referenceType:_,includeReplies:_)

Removed

getLatestComment(referenceId:_,referenceType:_,includeReplies:_) async throws -> AmityComment instead

AmityPollRepository

Property | Methods
Changes
Remarks

createPoll(options:,completion:_)

Removed

Use createPoll(options:_) async throws -> String instead

closePoll(withId:,completion:_)

Removed

Use closePoll(pollId:_) async throws -> Bool instead

votePoll(withId:,answerIds:,completion:_)

Removed

Use votePoll(pollId:,answerIds:) async throws -> Bool instead

deletePoll(withId:,completion:_)

Removed

Use deletePoll(pollId:_) async throws -> Bool instead

AmityFeedRepository

Property | Methods
Changes
Remarks

getCustomPostRankingGlobalfeed()

Removed

Use getCustomRankingGlobalFeed() -> AmityCollection<AmityPost> instead.

UserUnread

Property | Methods
Changes
Remarks

hasMentioned

Removed

Use isMentioned instead

AmityPostRepository

Property | Methods
Changes
Remarks

createPost(_ builder:_,targetId:_,targetType:_,completion:_)

Removed

Use dedicated APIs such as createTextPost,createImagePost,createFilePost,createVideoPost,createPollPost and createLiveStreamPost instead.

createPost(_ builder:_,targetId:_,targetType:_) async throws

Removed

Use dedicated APIs such as createTextPost,createImagePost,createFilePost,createVideoPost,createPollPost and createLiveStreamPost instead.

createPost(_ builder:_,targetId:_,targetType:_,metadata:_,mentionees:_,completion:_)

Removed

Use dedicated APIs such as createTextPost,createImagePost,createFilePost,createVideoPost,createPollPost and createLiveStreamPost instead.

createPost(_ builder:_,targetId:_,targetType:_,metadata:_,mentionees:_) async throws

Removed

Use dedicated APIs such as createTextPost,createImagePost,createFilePost,createVideoPost,createPollPost and createLiveStreamPost instead.

updatePost(withId postId:_,builder:_,completion:_)

Removed

Use func editPost(postId:,builder:) async throws -> AmityPost instead.

updatePost(withId postId:_,builder:_,metadata:_,mentionees:_,completion:_)

Removed

Use func editPost(postId:,builder:,metadata:,mentionees:) async throws -> AmityPost instead.

deletePost(withId postId:_,parentId:_,hardDelete:_,completion:_)

Removed

Use softDeletePost(postId:,parentId:) async throws -> Bool to soft delete post and hardDeletePost(postId:,parentId:) async throws -> Bool instead

approvePost(withId postId:_,completion:_)

Removed

Use func approvePost(postId:) async throws -> Bool instead.

declinePost(withId postId:_,completion:_)

Removed

Use func declinePost(postId:) async throws -> Bool instead.

AmityCommunityMembership

Property | Methods
Changes
Remarks

getMembers(membershipOptions:_,roles:_,sortBy:_)

Removed

Use getMembers(filter: AmityCommunityMembership.QueryFilter,roles: [String],sortBy: AmityCommunityMembershipSortOption,includeDeleted: Bool = true) instead

searchMembers(keyword:_,membership membershipOptions:_,roles:_,sortBy:_)

Removed

Use searchMembers(keyword: String,filter: [AmityCommunityMembership.SearchFilter],roles: [String],sortBy: AmityCommunityMembershipSortOption,includeDeleted: Bool = true) instead

searchMembers(keyword:_,filter:_,roles:_) -> AmityCollection<AmityCommunityMember>

Removed

Use searchMembers(keyword: String,filter: [AmityCommunityMembership.SearchFilter],roles: [String],sortBy: AmityCommunityMembershipSortOption,includeDeleted: Bool = true) instead

AmityCommunityModeration

Property | Methods
Changes
Remarks

banMembers(_ userIds:_,completion:_)

Removed

Use func banMembers(userIds:) async throws -> Bool instead.

unbanMembers(_ userIds:_,completion:_)

Removed

Use func unbanMembers(userIds:) async throws -> Bool instead.

addRoles(_ roles:_,userIds:_,completion:_)

Removed

Use func addRoles(roles:,userIds:) async throws -> Bool instead.

removeRoles(_ roles:_,userIds:_,completion:_)

Removed

Use func removeRoles(roles:,userIds:) async throws -> Bool instead.

AmityRegion

Enum
Changes
Remarks

case global

Removed

-

AmityEndpoint

Enum
Changes
Remarks

init(httpUrl:_, rpcURL:_, mqttHost:_, uploadUrl:_)

Removed rpcURL

Use init(httpUrl:_, mqttHost:_, uploadUrl:_)

AmityReaction

Property | Methods
Changes
Remarks

reactorId

Removed

Use userId from creator object.

reactorDisplayName

Removed

Use displayName from creator object.

AmityReactionRepository

Property | Methods
Changes
Remarks

addReaction(_ reaction:_,referenceId contentId:_,referenceType type:_,completion:_)

Removed

Use func addReaction(reaction:,referenceId:,referenceType:) async throws -> Bool instead.

removeReaction(_ reaction:_,referenceId contentId:_,referenceType type:_,completion:_)

Removed

Use func removeReaction(reaction:,referenceId:,referenceType:) async throws -> Bool instead.

AmityCommunityQueryOptions

Property | Methods
Changes
Remarks

init(displayName:_,filter:_,sortBy:_,categoryId:_,includeDeleted:_)

Removed

Use initializer without displayName

AmityCommunityRepository

Property | Methods
Changes
Remarks

createCommunity(with options:_,completion:_)

Removed

Use func createCommunity(with:) async throws -> AmityCommunity instead.

updateCommunity(withId id:_,options:_,completion:_)

Removed

Use func editCommunity(id:,options:) async throws -> AmityCommunity instead.

updateCommunity(withId id:_,options:_) async throws -> AmityCommunity

Removed

Use func editCommunity(id:,options:) async throws -> AmityCommunity instead.

joinCommunity(withId communityId:_,completion:_)

Removed

Use func joinCommunity(withId:) async throws -> Bool instead.

leaveCommunity(withId communityId:_,completion:)_

Removed

Use func leaveCommunity(withId:) async throws -> Bool instead.

searchMembers(communityId:_,displayName:_,membership:_,roles:_,sortBy:_)

Removed

Use searchMembers method from AmityCommunityMembership class instead

searchMembers(communityId:_,keyword:_,membership:_,roles:_,sortBy:_)

Removed

Use searchMembers method from AmityCommunityMembership class instead.

AmityComment

Property | Methods
Changes
Remarks

dataType

Removed

Use dataTypes instead.

AmityUserRepository

Property | Methods
Changes
Remarks

searchUser(_ displayName:_,sortBy:_)

Removed

Use func searchUsers(displayName:,sortBy:) -> AmityCollection<AmityUser> instead.

getViewedUsers(postId: String)

Removed

Use getReachedUsers(viewedType: AmityViewedType,viewId: String) instead.

AmitySubChannelRepository

Property | Methods
Changes
Remarks

createSubChannel(withName:_,inChannel channelId:_,completion:_)

Removed

Use func createSubChannel(subChannelName:,channelId:) async throws -> AmitySubChannel instead

updateSubChannel(withId:_,updatedName:_,completion:_)

Removed

Use func editSubChannel(subchannelId:,updatedName:) async throws -> AmitySubChannel instead.

updateSubChannel(withId:_,updatedName:_) async throws

Removed

Use func editSubChannel(subchannelId:,updatedName:) async throws -> AmitySubChannel instead.

deleteSubChannel(withId:_,hardDelete:_,completion:_)

Removed

Use func softDeleteSubChannel(subChannelId:) async throws -> Bool or func hardDeleteSubChannel(subChannelId:) async throws -> Bool instead

AmityChannelModeration

Property | Methods
Changes
Remarks

muteMembers(_ userIds:_,mutePeriod:_,completion:_)

Removed

Use muteMembers(userIds:,mutePeriodInSeconds:) async throws -> Bool instead.

unmuteMembers(_ userIds:_,completion:_)

Removed

Use func unmuteMembers(userIds:) async throws -> Bool instead.

banMembers(_ userIds:_,completion:_)

Removed

Use func banMembers(userIds:) async throws -> Bool instead.

unbanMembers(_ userIds:_,completion:_)

Removed

Use func unbanMembers(userIds:) async throws -> Bool instead.

addRole(_ role:_,userIds:_,completion:_)

Removed

Use func addRole(role:,userIds:) async throws -> Bool instead.

addRoles(_ role:_,userIds:_) async throws -> Bool

Removed

Use func addRole(role:,userIds:) async throws -> Bool instead.

removeRole(_ role:_,userIds:_,completion:_)

Removed

Use func removeRole(role:,userIds:) async throws -> Bool instead.

removeRoles(_ role:_,userIds:_) async throws -> Bool

Removed

Use func removeRole(role:,userIds:) async throws -> Bool instead.

AmityImageMessageCreateOptions

Property | Methods
Changes
Remarks

imageURL: URL?

Removed

Use attachment property instead.

init(subChannelId:_,imageURL:_,caption:_,fullImage:_, tags:_,parentId:_)

Removed

Use initializer with attachment instead

AmityFileMessageCreateOptions

Property | Methods
Changes
Remarks

fileURL: URL?

Removed

Use attachment property instead.

init(subChannelId:_,fileURL:_,fileName:_,caption:_,tags:_,parentId:_)

Removed

Use initializer with attachment instead

AmityFileMessageCreateOptions

Property | Methods
Changes
Remarks

fileURL: URL?

Removed

Use attachment property instead.

init(subChannelId:_,fileURL:_,fileName:_,caption:_,tags:_,parentId:_)

Removed

Use initializer with attachment instead

AmityAudioMessageCreateOptions

Property | Methods
Changes
Remarks

audioFileURL: URL?

Removed

Use attachment property instead.

init(subChannelId:_,audioFileURL:_,fileName:_,tags:_,parentId:_)

Removed

Use initializer with attachment instead

AmityVideoMessageCreateOptions

Property | Methods
Changes
Remarks

videoFileURL: URL?

Removed

Use attachment property instead.

init(subChannelId:_,videoFileURL:_,fileName:_,tags:_,parentId_)

Removed

Use initializer with attachment instead

AmityMessageRepository

Property | Methods
Changes
Remarks

deleteMessage(withId:_,completion:_)

Removed

Use func softDeleteMessage(withId:) async throws -> Bool instead.

func deleteMessage(withId:_) async throws -> Bool

Removed

Use func softDeleteMessage(withId:) async throws -> Bool instead.

deleteFailedMessage(messageId:_,completion:_)

Removed

Use func softDeleteMessage(withId:) async throws -> Bool instead.

createCustomMessage(options:_,completion:_)

Removed

Use func createCustomMessage(options:) async throws -> AmityMessage instead.

createTextMessage(options:_,completion:_)

Removed

Use func createTextMessage(options:) async throws -> AmityMessage instead.

createImageMessage(options:_,completion:_)

Removed

Use func createImageMessage(options:) async throws -> AmityMessage instead.

createAudioMessage(options:_,completion:_)

Removed

Use func createAudioMessage(options:) async throws -> AmityMessage instead.

createFileMessage(options:_,completion:_)

Removed

Use func createFileMessage(options:) async throws -> AmityMessage instead.

createVideoMessage(options:_,completion:_)

Removed

Use func createVideoMessage(options:) async throws -> AmityMessage instead.

editMessage(withId:_,text:_,metadata:_,mentionees:_) async throws -> Bool

Removed

Use func editTextMessage(messageId:,text:,metadata:,mentionees:) async throws -> Bool instead.

AmityFileRepository

Property | Methods
Changes
Remarks

uploadImage(image:_,progress:_,completion:_)

Removed

Use func uploadImage(image:,progress:) async throws -> AmityImageData instead.

uploadFile(_ file:_,progress:_,completion:_)

Removed

Use func uploadFile(file:,progress:) async throws -> AmityFileData instead.

uploadFile(with:_,fileName:_,progress:_,completion:_)

Removed

Use func uploadFile(url:,fileName:,progress:) async throws -> AmityFileData instead.

uploadVideo(url:_,progress:_,completion:_)

Removed

Use func uploadVideo(with:,progress:) async throws -> AmityVideoData instead.

downloadFile(fromURL:_,completion:_)

Removed

Use func downloadFile(fromURL:) async throws -> URL instead.

AmityUserNotificationsManager

Property | Methods
Changes
Remarks

enable(modules:_,completion:_)

Removed

Use func enable(for:) async throws -> Bool instead.

disable(completion:_)

Removed

Use func disableAllNotifications() async throws -> Bool instead.

getSettingsWithCompletion(completion:_)

Removed

Use func getSettings() async throws -> AmityUserNotificationSettings instead.

Last updated

Was this helpful?