iOS SDK 26.5.3
Help Lightning iOS SDK 26.5.3 is a major update from 17.x. It introduces a new SwiftUI-based call experience, adds support for Apple Vision Pro, and changes the supported SDK distribution from CocoaPods to a binary Swift package.
SDK 26.5.3 is not compatible with earlier client SDKs. Before deploying this release, update all Web, Android, and iOS integrations to their latest compatible releases. Calls between the new SDK and legacy client SDKs are not supported. Xamarin SDK 17.x is also a legacy client and cannot participate in calls with SDK 26.5.3.
This is not a drop-in update from 17.x. Before upgrading, review the new platform requirements, dependency setup, call presentation APIs, and unsupported items below.
For the complete current integration, use the iOS SDK guide. For AI coding agents, use the iOS AI Agent Reference. This release note focuses on changes and migration from 17.x.
All participants in a call must use compatible current releases of the Web, Android, or iOS client SDK. Coordinate the rollout across every client platform; a mixed deployment containing legacy client SDKs cannot place calls with SDK 26.5.3.
The in-call experience has been redesigned using SwiftUI. SwiftUI apps can embed the call view directly, while UIKit and Objective-C apps can continue to let the SDK present and manage the full-screen call.
The new call experience includes:
- iPhone and iPad support in portrait and landscape orientations
- Multiparty calls and participant roster
- Face-to-face, Merged Reality, Merged Reality+, freeze, document sharing, screen sharing, and Quick Knowledge workflows
- Call recording, live captions, camera zoom, and local or remote flashlight controls
- In-app call minimization and system Picture in Picture
- Numerous accessibility, localization, performance, and reliability improvements
The SwiftUI call view does not support legacy HLTheme icon or color
customizations. The binary Swift package does not expose the legacy
theme object as a supported customer integration type. Remove 17.x
theme setup when migrating.The SDK supports native Vision Pro applications built for visionOS, using the same SwiftUI call view available on iOS. iPad and iOS applications can continue to run on Vision Pro in compatibility mode, but the native visionOS features and guidance in this section apply only to applications with a visionOS target.
Native Vision Pro support includes:
- Face-to-face and collaboration calls
- Merged Reality and Merged Reality+
- Quick Knowledge, annotations, screen capture, and screen sharing
- Main-camera passthrough
- Logitech Muse measurement tools
The application must have a native visionOS target, use a SwiftUI app
lifecycle, and register the SDK’s immersive scene. Main-camera access
and passthrough in screen capture also require Apple approval for the
corresponding visionOS enterprise APIs and an Apple-issued
Enterprise.license.
See Native Vision Pro for the current entitlement, licensing, and SDK integration instructions.
The supported distribution for 26.5.3 is a binary Swift package:
https://github.com/VIPAAR/hlsdk-ios-spm.git
The package provides three products:
HLSDKfor UIKit or Objective-C app targetsHLSDKSwiftfor Swift and SwiftUI app targetsHLSDKScreenSharingfor ReplayKit broadcast upload extension targets only
The binary package also resolves a build issue in the initial Swift Package Manager release.
See Install the SDK for current target linkage and build settings.
The SDK now provides HLCallConfiguration to select how the call view
is presented:
- SwiftUI applications start through
HLClientSwiftand addHLCallViewto their own view hierarchy - UIKit applications provide a presenting view controller and let the SDK present and dismiss the call view
- Objective-C applications use the same configuration model through
HLClient
HLClientSwift also provides async call start and stop methods. The
existing UIKit call-start methods remain available for compatibility.
See Start and present a call for current SwiftUI, UIKit, and Objective-C examples, lifecycle handling, and error handling.
This release also includes the following customer-visible fixes:
- Active calls recover after a temporary call-service connection loss
- Remote video no longer freezes if a web participant reconnects after using video zoom
- Xcode 16 or later with the Swift 6 toolchain; Swift 5 language mode remains supported
- iOS 17.0 or later
- visionOS 2.1 or later for native Vision Pro apps
- A Help Lightning API key and the existing server integration used to create or retrieve call sessions
The legacy SampleObjC and SampleSwift projects are deprecated and
frozen at the 17.x CocoaPods integration. Use
SamplePresence
as the reference for 26.5.3.
SamplePresence contains separate schemes for:
- iOS SwiftUI
- iOS UIKit with Swift
- iOS UIKit with Objective-C
- visionOS SwiftUI
Set the application deployment target to iOS 17.0 or later. Native Vision Pro targets must use visionOS 2.1 or later.
If the application must continue to support iOS 16 or earlier, it cannot update to SDK 26.5.3.
Coordinate this migration with the Web and Android integrations. Do not deploy SDK 26.5.3 while participants still need to call applications using legacy client SDKs.
Remove the 17.x HLSDK, HLSDKSwift, and HLSDK/ScreenSharing pods.
Replace them with the binary Swift package, select products by target,
and add the required linker flag. Follow
Install the SDK for the current
package URL and target configuration.
The existing HLCall session values remain the input to a call. Create
an HLCallConfiguration to specify how the new call view is presented.
If the legacy integration supplied the data center to a call-start
method, set call.dataCenterID before creating the configuration.
SwiftUI applications now own HLCallView presentation. UIKit and
Objective-C applications supply a presenting view controller and let
the SDK manage the new SwiftUI-based call interface. The older UIKit
start methods remain compatibility APIs.
Follow Start and present a call for the current integration paths and code.
Continue to assign an HLClientDelegate to receive call lifecycle
events and to enable optional features. Existing integrations should
verify that they use hlCall:didEndWithReason: rather than its
deprecated predecessor.
Most HLCallPluginDelegate callbacks used by HLClient are unchanged
from 17.x, including screen sharing, Quick Knowledge, Quick
Knowledge overlay, call minimization, and captured-image callbacks.
For HLClient, the new optional callback is
hlCallCanSupportVisionOSMainCamera:, which lets a native Vision Pro
application opt in after its main-camera enterprise capability is
configured.
See
Configure the client delegate
for current lifecycle guidance. Existing plugin callbacks that return
a result remain Promise-based; the new Swift async APIs apply to
starting and stopping calls.
Keep the existing ReplayKit broadcast extension and shared App Group,
but replace its CocoaPods dependency with the
HLSDKScreenSharing package product.
Follow the iOS screen-sharing tutorial for the current package, App Group, handler, delegate, and device verification steps.
SwiftUI applications on iOS can show HLCallPiPView() while a call is
minimized. Continue to implement the call-minimization delegate methods
so the app can show and hide this view alongside its own content. The
view is not available on visionOS.
UIKit applications can continue to use SDK-managed call presentation and the existing minimization delegate flow.
See Call minimization for the current presentation guidance.
The following guidance applies only to applications with a native visionOS target. Vision Pro main-camera access and camera passthrough in screen sharing use Apple’s enterprise APIs for visionOS. They are not available with a standard App Store distribution profile alone.
Follow Native Vision Pro for the current immersive-scene, entitlement, enterprise-license, screen-sharing, and delegate instructions.
On visionOS 26 or later, users can connect a Logitech Muse during local screen sharing to measure the distance between two points in the immersive view. The tool displays the measured points, connecting line, and distance, and keeps multiple completed measurements visible.
The 17.x per-icon and per-color call theme customizations are not
supported by the binary package or the new SwiftUI in-call experience.
Remove imports and code that construct or apply HLTheme or
HLThemeManager.
The previous UIKit in-call screen is no longer available. UIKit and Objective-C applications remain supported, but the SDK presents the new SwiftUI call experience through a UIKit hosting controller.
The legacy CocoaPods samples and dependency setup are not maintained
for 26.5.3. Migrate to the binary Swift package and use
SamplePresence as the integration reference.
SDK 26.5.3 does not support iOS versions earlier than 17.0 or visionOS versions earlier than 2.1.
Before releasing the migrated application:
- Confirm every Web, Android, and iOS integration has been updated to a compatible current release
- Build every app and ReplayKit extension target in Debug and Release
- Test on a physical iOS 17 or later device
- Start, receive, minimize, restore, and end a call
- Verify camera, microphone, speaker, and permission handling
- Verify the screen-sharing extension and App Group configuration
- Verify any host-provided Quick Knowledge or call plugin delegates
- Confirm that product stakeholders accept the new in-call appearance, then remove legacy theme code and update related tests
- For Vision Pro, test entitlement-dependent features with the Apple-issued enterprise license on a physical device