Installation
Beta
The mobile SDKs are currently in beta. If you encounter any issues, please contact us.
Requirements
- iOS 16.0+
- Swift 5.9+
- Xcode 15.0+
Installation
Add the following to your Podfile:
pod 'UpscopeIO', '~> 2025.11.6'
Then run:
pod install
Add the package dependency to your Package.swift:
dependencies: [
.package(url: "https://github.com/upscopeio/cobrowsing-ios.git", from: "2025.11.6")
]
Or add it through Xcode:
1. Go to File → Add Package Dependencies
2. Enter https://github.com/upscopeio/cobrowsing-ios.git
3. Select the version and add to your target
Initialization
Initialize the SDK in your AppDelegate or App struct:
import UpscopeIO
// Create the manager with your API key
let upscopeManager = UpscopeManager(apiKey: "YOUR_API_KEY")
// Set as shared instance (required for redaction to work)
UpscopeManager.shared = upscopeManager
// Connect to the server
upscopeManager.connect()
SwiftUI App Example
import SwiftUI
import UpscopeIO
@main
struct MyApp: App {
init() {
let upscopeManager = UpscopeManager(apiKey: "YOUR_API_KEY")
UpscopeManager.shared = upscopeManager
upscopeManager.connect()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
UIKit AppDelegate Example
import UIKit
import UpscopeIO
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
var upscopeManager: UpscopeManager?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
upscopeManager = UpscopeManager(apiKey: "YOUR_API_KEY")
UpscopeManager.shared = upscopeManager
upscopeManager?.connect()
return true
}
}
Public API Key
You can find your public API key in the installation page of your UserView dashboard.
iPad Split Screen Support
The SDK automatically handles iPad split screen scenarios. Each app instance captures only its own portion of the screen, and alerts appear on the correct window. No additional configuration is required.
Lookup Code on Shake
By default, shaking the device will display the lookup code in an alert. This can be disabled via configuration options.
