iOS
This page contains an overview of all relevant changes made to the iOS SDK and the latest version releases
- The error messages have been improved to provide more clarity in certain cases. In particular, the error 800000 unknown has been dealt with in more detail.
- Improved the error messages for more clarity in certain cases.
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Fixed issue where the SDK crashes on initializing
AmityChannelRepository
.
- Xcode Version: 14.1
- Realm Version: 10.32.2
- Realm Swift Version: 10.32.2
- Minimum Target: iOS 13.0
- Fixed issue where the SDK crashes for some users with the error message "Cannot register notification blocks from within write transactions".
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
AmityUser
Live Collection now supports the automatic addition of new objects via real-time events. Affected APIs:
AmityUserRepository
func searchUser(_ displayName: String, sortBy: AmityUserSortOption) -> AmityCollection<AmityUser>
func getUsers(_ sortBy: AmityUserSortOption) -> AmityCollection<AmityUser>
- Fixed issue where the SDK crashes for some users with the error message "Cannot register notification blocks from within write transactions".
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Fixed issue where the SDK crashes for some users with the error message "Cannot register notification blocks from within write transactions".
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Fixed issue where local cache was cleared on query channels with 'firstPage'.
- Xcode Version: 14.1
- Realm Version: 10.32.2
- Realm Swift Version: 10.32.2
- Minimum Target: iOS 13.0
AmityCommunityMember
Live Collection now supports the automatic addition of new objects via real-time events. Affected APIs:
AmityCommunityRepository
func searchMembers(...) -> AmityCollection<AmityCommunityMember>
- Added new API for searching community members with keywords.
AmityCommunityRepository
func searchMembers(communityId: String, keyword: String, membership membershipOptions: AmityCommunityMembershipFilterOption, roles: [String], sortBy: AmityCommunityMembershipSortOption) -> AmityCollection<AmityCommunityMember>
AmityCommunity
Live Collection now supports automatic addition of new items via real-time events. Affected APIs:
AmityCommunityRepository
func getCommunities(...) -> AmityCollection<AmityCommunity>
- Added async/await API for
deleteMessage
,createCustomMessage
,createTextMessage
,createImageMessage
,createAudioMessage
,createFileMessage
andcreateVideoMessage
inAmityMesageRepository
. - Introduced the ability to delete on a specific poll post.
AmityPollRepository
func deletePoll(...)
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- All deprecated interfaces from AmitySDK v5.x.x has been removed in AmitySDK v6.0.0.
- AmitySDK v6.0.0 has been written in PureSwift. This version has breaking changes in api interfaces. Please refer to the migration guide for more details.
- Events related to channels of type Community & Conversation are automatically subscribed. To receive events for other type of channels, user needs to subscribe to it explicitly.
- For subscribing to channel topics, create an instance of the AmityChannelTopic class and use the AmityTopicSubscription class to subscribe to it.
- Xcode Version: 14.1
- Realm Version: 10.32.2
- Realm Swift Version: 10.32.2
- Minimum Target: iOS 13.0
- Introduced new login API
AmityClient {
public func login(userId: String, displayName: String?, authToken: String?, sessionHandler: SessionHandler) async throws
}
- Added
sesionState
API toAmityClient
- Added
issuedAt
,expiresAt
API toAmityUserToken
- Fixed issue where the user could not send a reply to image messages
- Fixed issue where the user could not see the existing message when editing it
- Deprecated
connectionState
API - Deprecated old login API
AmityClient {
@available(*, deprecated)
@objc public func login(userId: String, displayName: String?, authToken: String?, completion: AmityRequestCompletion?)
}
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- SDK Upgrade
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Upgraded the post settings feature. When a moderator role is demoted to a user role, post creation must be approved by a moderator.
- Introduced the ability to get video thumbnail image data from video messages using the
AmityMessage.getVideoThumbnailImageInfo()
function.
- Fixed issue where the application crashes when a globally banned user sends a message in a channel.
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Fixed issue where the global feed is not updated after creating a post in the community feed or user feed.
- Xcode Version: 14.0
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Introduced a new
moderatorCount
property inAmityChannel
to show the total number of moderator in the channel.
- Fixed issue where channels with a certain ID were not retrieved correctly.
- Xcode Version: 14.0.0
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Fixed issue where the application crashes with
errorCannot
register notification blocks from within write transactions when fetching Live Object or Live Collection within observe block.
- Xcode Version: 13.4.0
- Realm Version: 10.28.3
- Minimum Target: iOS 12.0
- When creating a poll post, the
setTimeToClosePoll
value is set to 30 days by default if the user does not set any value.
- Fixed issue where the application crashes when the user adds a reaction to a message.
- Xcode Version: 13.4.0
- Realm Version: 10.28.3
- Minimum Target: iOS 12.0
- Fixed issue where SDK tries to query the current user after logging in.
- Fixed issue where the
isJoined
property forAmityCommunity
is not updated properly when a user leaves the community. - Fixed issue where the URL of the downloaded file is the same for multiple downloads.
- Non-members with the User role can no longer be able to get information about the conversation channel.
- Non-members with the User role can no longer query messages within the conversation channel.
- Xcode Version: 13.4.0
- Realm Version: 10.28.3
- Minimum Target: iOS 12.0
- Fixed issue where reaction count was incorrect
- Xcode Version: 13.4.0
- Realm Version: 10.28.3
- Minimum Target: iOS 12.0
- Community query is now case-insensitive! You no longer have to match the case sensitivity of the community’s display name when querying for a community.
- System now displays an error message while uploading HDR video format
- Fixed issue where reaction count becomes deficit
- Fixed muting channel members issue
- Xcode Version: 13.4.0
- Realm Version: 10.28.3
- Minimum Target: iOS 12.0
- Enhanced Video on Demand (VOD) configurations. Videos you upload with our SDK can now be transcoded to 4 different resolutions (from 360p to 1080p) with a maximum file size of 1 GB and a duration of up to 2 hours.
- New method
uploadVideo(with:forFeedType:progress:completion:)
is added inAmityFileRepository
- Fixed issue where automatic invalidation of live collections happen once the session is logged out
- Fixed issue where all SDK async functions are forced to be invoked on the main thread
- Fixed issue where user cannot view post which has multiple videos
- Deprecated
uploadVideo(with:progress:completion:)
method inAmityFileRepository
- Xcode Version: 13.4.0
- Realm Version: 10.28.3
- Minimum Target: iOS 12.0
- Enhanced LiveCollections for message reactions. Newly created reactions are now automatically added into the collection. Affected APIs:
AmityReactionRepository
func getReactions(...) -> AmityCollection<AmityReaction>
- Enhanced LiveCollections for followers/following users. Newly created followed/unfollowed are now automatically added into the collection. Affected APIs:
AmityUserFollowManager
func getMyFollowerList(...) -> AmityCollection<AmityFollowRelationship>
func getMyFollowingList(...) -> AmityCollection<AmityFollowRelationship>
func getUserFollowerList(...) -> AmityCollection<AmityFollowRelationship>
func getUserFollowingList(...) -> AmityCollection<AmityFollowRelationship>
- Fixed realtime events
.myFollower
and.myFollowing
inAmityFollowTopic
which subscribes to the wrong path - Fixed issue where user cannot submit vote when a poll is closed
- Fixed issue where user cannot edit caption when a poll is closed
- Updated Realm version to 10.28.3
- Deprecated
AmityMessageReactor
class. Please useAmityReactionRepository
instead.
- Xcode Version: 13.4.0
- Realm Version: 10.28.3
- Minimum Target: iOS 12.0
- Enhanced LiveCollections for users and community post. Newly added comments are now automatically added into the collection. Affected APIs:
AmityCommentRepository
func getCommentsWithReferenceId(...) -> AmityCollection<AmityComment>
- Xcode Version: 13.4.0
- Realm Version: 10.26.0
- Minimum Target: iOS 12.0
- Enhanced LiveCollections for user and community posts. Newly created posts are now automatically added into the collection. Affected APIs:
AmityFeedRepository
func getUserFeed(...) -> AmityCollection<AmityPost>
func getCommunityFeed(...) -> AmityCollection<AmityPost>
- Introduced real-time event for channel deletion
- Fixed issue with app crashes when searching members with
AmityCommunityRepository
- Fixed some SDK errors to no longer show empty error messages
- Xcode Version: 13.4.0
- Realm Version: 10.26.0
- Minimum Target: iOS 12.0
- Introduced ability to manage community post settings via SDK (i.e. 'Only Admins Can Post' or 'Approve Member Posts')
- Fixed issue where users who weren't logged in were receiving push notifications.
- Xcode Version: 13.4.0
- Realm Version: 10.26.0
- Minimum Target: iOS 12.0
- Updated Realm to 10.26.0
- Xcode Version: 13.4.0
- Realm Version: 10.26.0
- Minimum Target: iOS 12.0
- Added channel async/await APIs including create / join / update / leave.
- Deprecate channel create / join update / leave that returns live object. Please use equivalent channel async/await APIs instead.
- Real time update of user deletion
- Xcode Version: 13.2
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Update image and file post by adding/removing them from the existing post
- Xcode Version: 13.2
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Add isDeleted property to AmityUser.
- Fix issue where message unread count indicates incorrect value.
- Xcode Version: 13.2
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Update video post by adding/removing the video from the existing post
- Realtime events for comments and posts in the user feed
- Fix a channel member list sorting issue
- Fix issue where querying channels with empty result doesn’t trigger completion block
- Fix issue where
targetUser
andsourceUser
fromAmityFollowRelationship
are always null when querying following/follower list
- Xcode Version: 13.2
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- New properties
createdDate
andupdatedDate
toAmityChannelMember
- Fix channel member list sorting issue
- Deprecate
getMyFollowInfo:completion
andgetUserFollowInfo:completion
API
- Xcode Version: 13.1
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Fix issue where
unreadCount
inAmityChannel
class isn’t updated and miscalculated - Fix issue where new messages sent by another user don't appear while observing
AmityMessageListScreenViewModel.getMessages(:)
- Xcode Version: 13.1
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Fix crash related to mqtt realtime events on SDK
- Fix issue where community category did not update when realtime event is received
- Fix unregister notification issue
- Fix mention highlight issue for reply
- Framework installation via Cocoapods doesn’t support running on M1 natively
- Xcode Version: 13.1
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Create a livestream post with mentions
- Add push notification log menu in the sample app
- Fix mention selection issue in editing mode for a message
- Fix comment reply mention highlight issue after editing
- Fix crash issue when fetching channel with certain filter
- Version: 13.1
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Create a poll post with mentions
- Fix mention highlight issue after editing a message
- Fix channel filter issue
- Fix compose bar appearance issue after mentioning in a comment
- Fix mentioned user remove issue on edit message page
- Xcode Version: 13.1
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Hard delete post and comment
- Old mentions in a message will not be removed after editing the message
- Custom post ranking global feed to support a score-sorting mechanism
- User level notification error
- Live collection
allObjects
API
- Compose bar text wrapping issue when creating a message, post, and comment
- Add
hardDelete
parameter to Post and Comment deletion API
AmityPostRepository.deletePost(withPostId:, parentId:, hardDelete:, completion:)
AmityCommentRepository.deleteComment(withId:, hardDelete:, completion:)
- Xcode Version: 13.1
- Realm Version: 10.21.1
- Minimum Target: iOS 12.0
- Add properties createdAt, updatedAt, rateLimit to AmityChannel.
- Add AmityClient.disconnect() API
- Add support for real time events for social module
- Create/Update comment/reply with mention
- Update many functions documentation in SDK
- Rename
AmityClient
functionsBefore SDK 5.9.0SDK 5.9.0registerDevice(...)
login(...)
unregisterDevice()
logout()
- Rename
AmityMessageMentionMetadata
toAmityMentionMapper
- Change
AmityClient
initializer to throwable initializerclass AmityClient {public init(...) throws} - Change all message creation API in
AmityMessageRepository
to callback-style Before SDK 5.9.0let messageLiveObject = messageRepository.createTextMessage(...)token = messageLiveObject.observe(...) {// 1. Handle message creation response.// 2. Observe message data changes.}SDK 5.9.0let messageId = messageRepository.createTextMessage(...) { message, error in// 1. Handle message creation response.