Overview
Swift
Swift는 Apple에서 개발한 현대적인 프로그래밍 언어로, iOS, macOS, watchOS, tvOS 등 Apple 생태계 전반의 앱 개발에 최적화되어 있습니다. 안전성, 성능, 그리고 간결한 문법을 핵심 목표로 설계되었으며, 타입 안전(Type Safety)과 옵셔널(Optionals) 기능을 통해 개발자가 더욱 안정적인 코드를 작성할 수 있도록 지원합니다.
Swift는 현대적인 프로그래밍 패러다임을 적극적으로 수용하여 개발 생산성을 높입니다. 직관적인 문법 덕분에 학습 곡선이 비교적 완만하며, 강력한 기능들을 통해 복잡한 앱 개발도 효율적으로 수행할 수 있습니다. 또한, Swift 생태계는 Swift Package Manager를 중심으로 빠르게 성장하고 있으며, 다양한 외부 라이브러리와 프레임워크를 쉽게 통합할 수 있도록 돕습니다. 오픈 소스 프로젝트로서 활발한 커뮤니티 지원을 받으며 지속적으로 발전하고 있다는 점도 Swift의 큰 장점입니다.
Apple 플랫폼에서의 앱 개발을 시작하는 것은 Swift를 배우는 것에서부터 시작됩니다. Swift는 강력한 성능과 개발 편의성을 동시에 제공하며, 앞으로도 Apple 플랫폼 개발의 핵심 언어로서 중요한 역할을 할 것입니다.
채팅 서비스 체험하기
채팅방 접속

데모 앱에서 채팅방에 참여하려면 VChatCloud CMS에서 생성한 ChannelKey
를 입력해야 합니다.
아직 채팅방을 개설하지 않았다면 Quick Start탭을 통해 채팅방 생성 방법과 채널 키 확인 방법을 먼저 익혀주세요.
채널 키를 입력한 후, 채팅방 내에서 사용할 닉네임과 원하는 프로필 이미지를 선택하고 확인
버튼을 눌러 채팅방에 입장합니다.
채팅하기

채팅 메시지를 보내려면 하단의 텍스트 입력 상자에 내용을 작성한 후, 전송 버튼을 누르거나 엔터 키를 누릅니다.
정상적으로 메시지 전송이 이루어졌는지 확인하려면 다른 기기나 PC에서 동일한 채널 키를 사용하여 채팅방에 접속해 보세요.
다른 사용자로 접속했을 때도 동일한 채널 키를 입력하면 같은 채팅방에 참여하여 메시지를 주고받을 수 있습니다.
구현코드 확인
채팅방 진입
import VChatCloudSwiftSDK
// ChannelDelegate 프로토콜을 준수하는 클래스를 정의합니다.
class MyChannel: ChannelDelegate, ObservableObject {
static var shared: MyChannel = MyChannel()
private init() {}
// ...
func onMessage(_ channelResultModel: ChannelResultModel) {
addMyChatlog(channelResultModel)
}
func onWhisper(_ channelResultModel: ChannelResultModel) {
addMyChatlog(channelResultModel)
}
// ...
}
// 로그인 시 실행할 함수 구현
func goLogin() async {
do {
// CMS에서 발급받은 채널 키를 설정합니다.
let channelKey = "YOUR_CHANNEL_KEY" // CMS에서 발급한 채널 키로 변경합니다.
let channel = try await VChatCloud.shared.connect(chatroomViewModel: chatroomViewModel, userViewModel: userViewModel)
// ChannelDelegate를 구현한 MyChannel 객체를 delegate로 설정하여 채팅 이벤트 처리
channel.delegate = MyChannel.shared
try await channel.join()
_ = await channel.getClientList()
// channel.sendMessage 메서드를 사용해서 메시지를 전송할 수 있습니다.
channel.sendMessage("Hello VChatCloud!")
} catch {
// 오류 발생 시 연결을 종료합니다.
if let channelError = error as? ChannelError {
VChatCloud.shared.disconnect()
} else {
debugPrint("error >>>")
debugPrint(error.localizedDescription)
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
채널 객체 이벤트 처리
VChatCloud 서비스에서 발생하는 다양한 이벤트를 처리하기 위해서는 ChannelDelegate
프로토콜을 준수하는 클래스를 구현해야 합니다. 자세한 내용은 채널 이벤트 위임를 참고하세요.