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.