iOS Setup
Learn how to set up and integrate the Heapchat SDK into your iOS application
Prerequisites
- Xcode 14.0 or later
- iOS 15.0+ deployment target
- Swift 5.5 or later
- A Heapchat account with an API key
Installation
Using Swift Package Manager (SPM)
- In Xcode, select File > Add Package Dependencies...
- Enter the following URL in the search field:
https://github.com/InspireDevStdio/heapchat-swift-sdk
- Select the main branch
- Click Add Package
Configuration
Initialize the SDK
Add the following code to your main app file to configure Heapchat:
import SwiftUI
import HeapchatSDK
@main
struct SampleApp: App {
init() {
Heapchat.shared.configure(apiKey: "YOUR_API_KEY")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Replace "YOUR_API_KEY"
with your actual Heapchat API key from your dashboard.
Add the Chat Screen
Add the Heapchat screen to your app's view hierarchy:
import SwiftUI
import HeapchatSDK
struct ContentView: View {
var body: some View {
NavigationStack {
HeapchatScreen()
}
}
}
Add permissions
This is required for the image upload feature, otherwise the user will not be able to upload images.
Required Permissions
- Privacy - Photo Library Usage Description: Add a message explaining why your app needs access to the photo library
<key>NSPhotoLibraryUsageDescription</key> <string>We need access to your photo library to upload images to support</string>
- Privacy - Camera Usage Description: Add a message explaining why your app needs access to the camera
<key>NSCameraUsageDescription</key> <string>We need access to your camera to upload images to support</string>
Authentication
You can authenticate the user in the Heapchat SDK for iOS using the following code:
import SwiftUI
import HeapchatSDK
struct LoginView: View {
var body: some View {
Button("Login") {
Heapchat.shared.login(userId: "user_123")
let heapchatUserData = UserDataModel(
name: "John Doe",
email: "john.doe@example.com",
phone: "+1234567890"
)
Heapchat.shared.setCustomerData(heapchatUserData)
}
}
}