Files
letro-ios/Tools/Scripts
Stefan Ceriu ce1f213f42 Switch callbacks to combine (#1710)
* #750 - Convert the SoftLogoutScreen to combine

* #750 - Convert the UserSessionFlowCoordinator to Combine

* #750 - Convert the AnalyticsPromptScreen to Combine

* #750 - Convert the LoginScreen to Combine

* #750 - Convert the ServerSelectionScreen to Combine

* #750 - Convert the EmojiPickerScreen to Combine

* #750 - Convert the HomeScreen to Combine

* #750 - Convert the MediaUploadPreviewScreen to Combine

* #750 - Convert the OnboardingScreen to Combine

* Rename `Onboarding` to `OnboardingScreen`

* #750 - Convert the ReportContentScreen to Combine

* #750 - Convert the RoomDetailsSscreen to Combine

* #750 - Convert the RoomMemberDetailsScreen to Combine

* #750 - Convert the RoomMembersListScreen to Combine

* #750 - Convert the SessionVerificationScreen to Combine

* #750 - Convert the SettingsScreen to Combine

* #750 - Convert the AdvancedSettingsScreen to Combine

* #750 - Convert the DeveloperOptionsScreen to Combine

* Fix the unit tests

* Use .sink action and the same cancellables constructor everywhere

* Cleanup cancellables when setting up tests
2023-09-14 12:53:33 +03:00
..
2022-04-13 13:57:27 +03:00
2022-11-15 11:49:13 +02:00

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:

  • Folder within the /ElementX/Sources/Screens/. Files inside will be named MyScreenNameXxx.
  • MyScreenNameScreenUITests.swift within UITests/Sources
  • MyScreenNameViewModelTests.swift within UnitTests/Sources/Unit