Skip to content

The mobile app for iOS for the Open EdX Platform.

License

Notifications You must be signed in to change notification settings

raccoongang/openedx-app-ios

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open edX iOS

Modern vision of the mobile application for the Open edX platform from Raccoon Gang.

Documentation

Building

  1. Check out the source code:

     git clone https://github.com/openedx/openedx-app-ios.git
    
  2. Navigate to the project folder and run pod install.

  3. Open OpenEdX.xcworkspace.

  4. Ensure that the OpenEdXDev, OpenEdXStage or OpenEdXProd scheme is selected.

  5. Configure config_settings.yaml inside default_config and config.yaml inside sub direcroties to point to your OpenEdx configuration Configuration Documentation

  6. Click the Run button.

Translations

Getting translations for the app

Translations aren't included in the source code of this repository as of OEP-58. Therefore, they need to be pulled before testing or publishing to App Store.

Before retrieving the translations for the app, we need to install the requirements listed in the requirements.txt file located in the i18n_scripts directory. This can be done easily by running the following make command:

make translation_requirements

Then, to get the latest translations for all languages use the following command:

make pull_translations

This command runs atlas pull to download the latest translations files from the openedx/openedx-translations repository. These files contain the latest translations for all languages. In the openedx/openedx-translations repository each language's translations are saved as a single file e.g. I18N/I18N/uk.lproj/Localization.strings (example). After these are pulled, each language's translation file is split into the App's modules e.g. Discovery/Discovery/uk.lproj/Localization.strings.

After this command is run the application can load the translations by changing the device (or the emulator) language in the settings.

Note: This command modifies the XCode project files which fails the build so it's required to clean the translations files before committing using the following command:

make clean_translations

Using custom translations

By default, the command make pull_translations runs atlas pull with no arguments which pulls transaltions from the openedx-translations repository.

You can use custom translations on your fork of the openedx-translations repository by setting the following configuration parameters:

  • --revision (default: "main"): Branch or git tag to pull translations from.
  • --repository (default: "openedx/openedx-translations"): GitHub repository slug. There's a feature request to support GitLab and other providers.

Arguments can be passed via the ATLAS_OPTIONS environment variable as shown below:

make ATLAS_OPTIONS='--repository=<your-github-org>/<repository-name> --revision=<branch-name>' pull_translations

Additional arguments can be passed to atlas pull. Refer to the atlas documentations for more information.

How to translate the app

Translations are managed in the open-edx/openedx-translations Transifex project.

To translate the app join the Transifex project and add your translations to the openedx-app-ios resource.

Once the resource is both 100% translated and reviewed the Transifex integration will automatically push it to the openedx-translations repository and developers can use the translations in their app.

API

This project targets on the latest Open edX release and rely on the relevant mobile APIs.

If your platform version is older than December 2023, please follow the instructions to use the API Plugin.

License

The code in this repository is licensed under the Apache-2.0 license unless otherwise noted.

Please see LICENSE file for details.

About

The mobile app for iOS for the Open EdX Platform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 98.5%
  • Python 1.4%
  • Ruby 0.1%
  • Shell 0.0%
  • Objective-C 0.0%
  • JavaScript 0.0%