Overview
TheCallLogDetailsVC module provides a tabbed interface to view details of past calls:
- History: Chronological join/leave events.
- Participants: Users who joined the call.
- Recordings: Links to cloud-hosted call recordings.
Prerequisites
- A UIKit-based iOS project.
- CometChatSDK, CometChatCallsSDK, and CometChatUIKitSwift integrated.
- Active internet connection.
- A valid, logged-in CometChat user.
Components
Integration Steps
1. Present Call Log Details Screen
Show the call log interface for a selected call.CallLogDetailsVC.swift
Bundles history, participants, and recordings into a single UI flow.
2. Display Participants List
Populate the participants tab with the call’s members.CallLogParticipantsVC.swift
Audits who was present in the call.
3. Show Call History
Render join/leave activities in chronological order.4. List and Play Recordings
Provide playback links for any recorded calls.Customization Options
- Styling: Customize colors, fonts, and spacing via
CometChatTheme,CometChatTypography, andCometChatSpacinginCallLogUserCellandCallLogDetailsHeaderView. - Filters: Use
CallLogViewModelto filter by call type (incoming, outgoing, missed). - Empty States: Implement an
EmptyStateViewinCallLogHistoryVCfor no-history scenarios.
Filtering & Edge Cases
- No Call Logs: Show a custom empty state instead of a blank table.
- Pagination: Add lazy loading in
scrollViewDidScrollofCallLogHistoryVCto fetch more entries. - Blocked Users: In
CallLogParticipantsVC, disable profile navigation if the user is blocked.
Error Handling
- Network/API Errors: Display
UIAlertControlleron fetch failures; expose error viaCallLogViewModeldelegate. - Retry Mechanism: Add pull-to-refresh or a retry button in
CallLogDetailsVC. - Recording Unavailable: Gracefully disable playback links if URL is missing.
Optional Notes
- Group Calls vs 1:1 Calls: Customize
CallLogParticipantsVCdisplay based on call type and participant roles. - Metadata Display: Use
CallLogDetailsHeaderViewto show titles, call duration, and status icons.
Feature Matrix
Full Sample App
Explore a full sample implementation:
GitHub → SampleApp
UIKit Source Code
Review the call log components in the UIKit library:
GitHub → Call Log Components