Comment on page
iOS
This page contains an overview of all relevant changes made to the iOS SDK and the latest version releases
- Added support for waiting for connectivity before sending message.
- Added support for queuing of messages of similar types & retrying of message in case of network errors.
AmityCommunityMembership
- Deprecated
getMembers(membershipOptions: AmityCommunityMembershipFilterOption, roles: [String], sortBy: AmityCommunityMembershipSortOption)
please usegetMembers(filter: AmityCommunityMembership.QueryFilter, roles: [String], sortBy: AmityCommunityMembershipSortOption)
instead. - Deprecated
searchMembers(keyword: String, membership membershipOptions: AmityCommunityMembershipFilterOption, roles: [String], sortBy: AmityCommunityMembershipSortOption) -> AmityCollection<AmityCommunityMember>
please usesearchMembers(keyword: String, filter: [AmityCommunityMembership.SearchFilter], roles: [String])
instead.
AmityMessageRepository
- Deprecate
deleteFailedMessage(_ messageId: String)
. UsesoftDeleteMessage(withId:)
instead.
- Xcode Version: 15.0
- Realm Version: 10.42.3
- Realm Swift Version: 10.42.3
- Minimum Target: iOS 13.0
- Added support for metadata when creating and updating image, file, audio and video message.
- Added functionality to create private community channel.
- Fixed crash issue when playing recorded livestream video.
- Xcode Version: 15.0
- Realm Version: 10.42.3
- Realm Swift Version: 10.42.3
- Minimum Target: iOS 13.0
- Fixed the issue where there were occasional crashes when unable to get the object.
- Xcode Version: 15.0
- Realm Version: 10.42.3
- Realm Swift Version: 10.42.3
- Minimum Target: iOS 13.0
- Introduced
AmityMessageAttachment
in message create options structs.
- Fixed the issue where the member list did not update after removing user in a group channel.
- Deprecated
init(subChannelId: String, imageURL: URL, caption: String? = nil, fullImage: Bool, tags: [String]? = nil, parentId: String? = nil)
in AmityImageMessageCreateOptions, useinit(subChannelId: String, attachment: AmityMessageAttachment, caption: String? = nil, fullImage: Bool = true, tags: [String]? = nil, parentId: String? = nil)
instead - Deprecated
init(subChannelId: String, fileURL: URL, fileName: String? = nil, caption: String? = nil, tags: [String]? = nil, parentId: String? = nil)
in AmityFileMessageCreateOptions, useinit(subChannelId: String, attachment: AmityMessageAttachment, fileName: String? = nil, caption: String? = nil, tags: [String]? = nil, parentId: String? = nil)
instead. - Deprecated
init(subChannelId: String, audioFileURL: URL, fileName: String? = nil, tags: [String]? = nil, parentId: String? = nil)
in AmityAudioMessageCreateOptions, useinit(subChannelId: String, attachment: AmityMessageAttachment, fileName: String? = nil, tags: [String]? = nil, parentId: String? = nil)
instead. - Deprecated
init(subChannelId: String, videoFileURL: URL, fileName: String? = nil, tags: [String]? = nil, parentId: String? = nil)
in AmityVideoMessageCreateOptions, useinit(subChannelId: String, attachment: AmityMessageAttachment, fileName: String? = nil, tags: [String]? = nil, parentId: String? = nil)
instead.
- Xcode Version: 15.0
- Realm Version: 10.42.3
- Realm Swift Version: 10.42.3
- Minimum Target: iOS 13.0
- Updated Realm Swift v10.42.3
- Xcode Version: 15.0
- Realm Version: 10.42.3
- Realm Swift Version: 10.42.3
- Minimum Target: iOS 13.0
- Add new feature to preview latest message sent in channel or subchannel. For more information, please visit Message Preview
- Add a new feature for SDK to collect and view data of post interaction. For more information, please visit Post Impression.
- Introduced AmityRecordedStreamPlayer for enhanced livestream playback. This subclass of AVPlayer seamlessly integrates with AVPlayerViewController for an improved video-watching experience. For more information, please visit Play recorded videos.
- Fixed issue where newly created message is not in correct position when observing through live collection
- Fix community user got overwritten when it's a same user id on different community
- Obsoleted watcherUrl and recordingData properties in AmityStream.
- Use AmityVideoPlayer to watch livestreams since watcherUrl is obsoleted. For more information, please visit Play a live stream
- Use AmityRecordedStreamPlayer to watch recorded livestreams. For more information, please visit Play recorded videos
- Xcode Version: 15.0
- Realm Version: 10.42.3
- Realm Swift Version: 10.42.3
- Minimum Target: iOS 13.0
- Introduced an additional parameter in message query, called aroundMessageId, to support navigating to a specific message. For more information, please visit Navigating(Jump) to a specific message.
- Fixed an issue where isDeleted property of message is not updated when message gets deleted.
- Fixed a crash issue caused by QueryStreamReactor.
- Xcode Version: 14.3.1
- Realm Version: 10.42.3
- Realm Swift Version: 10.42.3
- Minimum Target: iOS 13.0
- Introduced
target: AmityCommentTarget
property inAmityComment
for retrievingtargetId
andtargetType
related to the comment. IftargetType
is community type, the SDK will also providecreatorMember
which isAmityCommunityMember
. - Supported community users in comments for moderator role checking.
- Added SwiftUI support for
AmityCollection
andAmityObject
., for more information please visit SwiftUI Support page. - Fixed the issue where MQTT events were not received in the SDK.
- Xcode Version: 14.3.1
- Realm Version: 10.41.1
- Realm Swift Version: 10.41.1
- Minimum Target: iOS 13.0
- Fixed an issue where the message list jumps when adding reactions.
- Xcode Version: 14.3.1
- Realm Version: 10.42.0
- Realm Swift Version: 10.42.0
- Minimum Target: iOS 13.0
- Added a new API to retrieve a comment using its ID.
- Fixed an issue where the SDK would not update
pendingCount
correctly after the user accepted or declined a follow action. - Fixed an issue with sub-channel sorting not updating after receiving a messa
- Xcode Version: 14.3.1
- Realm Version: 10.42.0
- Realm Swift Version: 10.42.0
- Minimum Target: iOS 13.0
- Fixed an issue where the SDK incorrectly returned the follow relationship status in the followInfo call, especially when querying for multiple follow relationships.
- Xcode Version: 14.3.1
- Realm Version: 10.42.0
- Realm Swift Version: 10.42.0
- Minimum Target: iOS 13.0
- Fixed the issue where the order of image messages was incorrect in certain cases.
- Xcode Version: 14.3.1
- Realm Version: 10.42.0
- Realm Swift Version: 10.42.0
- Minimum Target: iOS 13.0
- Limited
PostRepository.getPosts()
to exclude all deleted posts (both soft and hard deletes) not owned by the logged-in user, aligning with thisbehavioral-change-announcement.
- Fixed the issue where the
myReactions
property is not updated correctly when a message is received.
- Xcode Version: 14.3.1
- Realm Version: 10.42.0
- Realm Swift Version: 10.42.0
- Minimum Target: iOS 13.0
- Introduced the new Presence State feature in our SDK, allowing real-time synchronization of user statuses. Experience enhanced connectivity with online/offline indicators and seamless management of user presence within channels and users.
- Supports unread mention status in user, channel, and subchannel levels. For further information, please refer to Unread Count page.
- Xcode Version: 14.3.1
- Realm Version: 10.41.1
- Realm Swift Version: 10.41.1
- Minimum Target: iOS 13.0
- Updated Realm version to 10.42.0 and fixed a random Realm crashes.
- Xcode Version: 14.3.1
- Realm Version: 10.42.0
- Realm Swift Version: 10.42.0
- Minimum Target: iOS 13.0
- Fixed the issue where the number of following/followers does not update.
- Xcode Version: 14.3.1
- Realm Version: 10.41.1
- Realm Swift Version: 10.41.1
- Minimum Target: iOS 13.0
- Resolved an issue that occasionally caused duplicate message displays within the message list.
- Xcode Version: 14.3.1
- Realm Version: 10.41.1
- Realm Swift Version: 10.41.1
- Minimum Target: iOS 13.0
- Fixed the issue of unread counts not reflecting correctly after a topic is hard deleted.
- Fixed the issue of unread counts not being synchronized correctly after a user is removed or banned.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- Introduced AmityFileRepository where users can now delete uploaded files by using deleteFile API. For further information, please visit Delete Files
- Added getFile API to retrieve the AmityRawFile. AmityRawFile provides transform functions to map it into the correct file data type. For further information, please visit Retrieve Files
- Fixed the issue where the SDK does not show all tagged message lists when querying with a tag.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- Resolved the issue of incorrectness in the user's search result.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- Fixed the issue where the unread count does not sync when two devices, both using the same account, are opened simultaneously.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- This update fixes returning missing messages when specified
includingTags
as one of the query options.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- Fixed an issue where searching for users with keywords would return incorrect results.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- This update fixes returning wrong result when searching user with keyword.
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Introduce a new feature which now supports unread count on multiple devices. When the user logs in to two devices with the same account and uses the chat feature simultaneously, the user should see the correct update of the unread count.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- Support Library Evolution in AmitySDK and UIKit, ensuring forward compatibility with future Xcode versions 🎉.
- Resolved an issue with the sort order for user lists and community categories.
- Fixed a crash that occurred when searching for channel members with roles.
- Xcode Version: 14.3.1
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- Added async API support to more functions. Please visit iOS SDK v6.9.0 Deprecation Note for more information.
- Xcode Version: 14.3
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- This update fixes crash issue on linked libraries.
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Fix issue when clicking "unlike" on a post with multiple likes, the number of likes should decrease by only 1 instead of resetting to 0.
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- Introduce new
creator
object which returnsAmityUser
inAmityReaction
model.
- Xcode Version: 14.3
- Realm Version: 10.39.1
- Realm Swift Version: 10.39.1
- Minimum Target: iOS 13.0
- Add async APIs support on more functions, please check the newly supported functions in the deprecation note below.
- Xcode Version: 14.1
- Realm Version: 10.32.2
- Realm Swift Version: 10.32.2
- Minimum Target: iOS 13.0
- Introduce message delivered count.
- Introduce mark all messages in a channel as read
- Xcode Version: 14.1
- Realm Version: 10.32.2
- Realm Swift Version: 10.32.2
- Minimum Target: iOS 13.0
- Add async APIs in
AmityFileRepository
,AmityReactionRepository
,AmityUserNotificationsManager
andAmityChannelParticipation
.
Deprecated completion handler based APIs in these classes. Use async APIs instead.
AmityFileRepository
- uploadImage, uploadFile, uploadVideo, downloadFile
AmityReactionRepository
- addReaction, removeReaction
AmityUserNotificatonsManager
- enable, disable
AmityChannelParticipation
- addMembers, removeMembers
- Xcode Version: 14.1
- Realm Version: 10.32.2
- Realm Swift Version: 10.32.2
- Minimum Target: iOS 13.0
- Fix channel user role does not persist properly.
- Fix sometimes crash on initialize AmityClient
- Fix issue where message `isEdited` property would be true even when message was not edited.
- Fix crash while watching live stream videos.
- Xcode Version: 14.1
- Realm Version: 10.32.2
- Realm Swift Version: 10.32.2
- Minimum Target: iOS 13.0
- Fixed an issue that was causing random crashes during the initialization of the
AmityClient
. - Fixed an issue that was causing random crashes while watching live stream videos.
- Xcode Version: 14.1
- Realm Version: 10.28.3
- Minimum Target: iOS 13.0
- 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