Skip to main content

SDK Structure

Subspecs

CrowdinSDK is divided into separate parts called subspecs. To install some of these parts via CocoaPods, add pod 'CrowdinSDK/Subspec_Name' to your Podfile.

CrowdinSDK contains several submodules:

Core

This submodule contains core SDK functionality, such as switching localized strings and algorithms for current language detection.

This is a default submodule, which means that if you set up the SDK via CocoaPods with the CrowdinSDK pod, this submodule will be included.

CrowdinFileSystem

Utility submodule for working with files on the device file system. It is used by other submodules to store and read downloaded localization files.

CrowdinProvider

Submodule for downloading localizations from the Crowdin server.

This is a default submodule, which means that if you set up the SDK via CocoaPods with the CrowdinSDK pod, this submodule will be included by default.

CrowdinAPI

Crowdin API implementation to work with the Crowdin server.

Screenshots

It contains all functionality related to the Screenshots feature. To enable this feature, add the CrowdinSDK/Screenshots pod to your Podfile.

RealtimeUpdate

It contains all functionality related to the Real-Time Preview feature. To enable this feature, add the CrowdinSDK/RealtimeUpdate pod to your Podfile.

RefreshLocalization

It contains functionality to force refresh localization strings. To enable this feature, add the CrowdinSDK/RefreshLocalization pod to your Podfile.

LoginFeature

It contains login functionality. To enable this feature, add the CrowdinSDK/LoginFeature pod to your Podfile.

To set up this feature, create a CrowdinLoginConfig object and pass it to CrowdinSDKConfig.

IntervalUpdate

It contains functionality for updating localization strings at a defined time interval. To enable this feature, add the CrowdinSDK/IntervalUpdate pod to your Podfile.

Settings

Submodule for testing all features. It contains a simple view with the possibility to enable/disable the following features: Force localization refresh, Interval localization updates, Real-Time Preview, and Screenshots. To enable this feature, add the CrowdinSDK/Settings pod to your Podfile.

To display the settings view, call the CrowdinSDK.showSettings() method in Swift or [CrowdinSDK showSettings] in Objective-C. Note that you need to set up all features with the CrowdinSDKConfig object.

The settings view has two states: closed and open. See the SDK Controls page for more details.

CrowdinXCTestScreenshots

It contains functionality for capturing and uploading screenshots to Crowdin from XCUITest UI tests. To enable this feature, add the CrowdinSDK/CrowdinXCTestScreenshots pod to the UI tests target in your Podfile. See the Screenshots Automation guide for more details.