* Remove status bars when running UITests * Remove simulator OS versions from screenshot names, be less lenient with image diffing * Rename UITests splash screen to onboarding * Switch tests to Xcode 14.1, remove version names for used simulators and switched from iPhone 13 Pro Max to iPhone 14 * Fix ServiceLocator and fallbackLaguage for UI tests * Drop snapshot diffing precision to 0.99 as 0.999 triggers false negatives * Fix server selection UI tests after exposing the sliding sync proxy configuration * Update reference screenshots
Scripts
Iconizer
Generates all app icon variants from one single .pdf file.
Usage:
sh iconizer.sh ../ElementX/Supporting\ Files/AppIcon.pdf ../ElementX/Supporting\ Files
Localizer
Generates all app localization files and imports them to the project, by downloading strings from element-android and converting them to strings and stringsdict files.
Usage:
./localizer.py
Boot Test Simulator
Boots a desired simulator and makes status bar overrides on that.
Usage:
./bootTestSimulator.py 'iPhone 13 Pro Max'
Create screen templates
New screen flows are currently using the MVVM-Coordinator pattern. Run Tools/Scripts/createScreen.sh to create a new screen and all its required dependencies.
Usage:
./createScreen.sh Folder MyScreenName
After that run xcodegen to regenerate the project.
createScreen.sh script will create:
Folderwithin the/ElementX/Sources/Screens/. Files inside will be namedMyScreenNameXxx.MyScreenNameScreenUITests.swiftwithinUITests/SourcesMyScreenNameViewModelTests.swiftwithinUnitTests/Sources/Unit