{"id":20037744,"url":"https://github.com/openedx/openedx-app-ios","last_synced_at":"2025-10-29T10:09:07.648Z","repository":{"id":150078819,"uuid":"613283174","full_name":"openedx/openedx-app-ios","owner":"openedx","description":"The mobile app for iOS for the Open EdX Platform.","archived":false,"fork":false,"pushed_at":"2025-04-28T08:21:18.000Z","size":12067,"stargazers_count":26,"open_issues_count":126,"forks_count":19,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-28T09:44:08.095Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openedx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-13T09:15:29.000Z","updated_at":"2025-03-21T18:14:06.000Z","dependencies_parsed_at":"2023-09-23T13:27:26.033Z","dependency_job_id":"c92ec6d2-1aa6-4d34-af0e-4db584ee173f","html_url":"https://github.com/openedx/openedx-app-ios","commit_stats":null,"previous_names":["openedx/openedx-app-ios"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fopenedx-app-ios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fopenedx-app-ios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fopenedx-app-ios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openedx%2Fopenedx-app-ios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openedx","download_url":"https://codeload.github.com/openedx/openedx-app-ios/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252451465,"owners_count":21749941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T10:21:43.361Z","updated_at":"2025-10-29T10:09:02.605Z","avatar_url":"https://github.com/openedx.png","language":"Swift","readme":"# Open edX iOS\n\nModern vision of the mobile application for the Open edX platform from Raccoon Gang.\n\n[Documentation](Documentation/Documentation.md)\n\n## Building\n1. Check out the source code:\n\n        git clone https://github.com/openedx/openedx-app-ios.git\n\n2. Navigate to the project folder and run ``pod install``.\n\n3. Open ``OpenEdX.xcworkspace``.\n\n4. Ensure that the ``OpenEdXDev``, ``OpenEdXStage`` or ``OpenEdXProd`` scheme is selected.\n\n5. Configure `config_settings.yaml` inside `default_config` and `config.yaml` inside sub direcroties to point to your OpenEdx configuration [Configuration Documentation](./Documentation/CONFIGURATION_MANAGEMENT.md)\n\n6. Click the **Run** button.\n\n## Translations\n### Getting translations for the app\nTranslations aren't included in the source code of this repository as of [OEP-58](https://docs.openedx.org/en/latest/developers/concepts/oep58.html). Therefore, they need to be pulled before testing or publishing to App Store.\n\nBefore 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:\n```bash\nmake translation_requirements\n```\n\nThen, to get the latest translations for all languages use the following command:\n```bash\nmake pull_translations\n```\n\nThis command runs [`atlas pull`](https://github.com/openedx/openedx-atlas) to download the latest translations files from the [openedx/openedx-translations](https://github.com/openedx/openedx-translations) repository. These files contain the latest translations for all languages. In the [openedx/openedx-translations](https://github.com/openedx/openedx-translations) repository each language's translations are saved as a single file e.g. `I18N/I18N/uk.lproj/Localization.strings` ([example](https://github.com/openedx/openedx-translations/blob/6448167e9695a921f003ff6bd8f40f006a2d6743/translations/openedx-app-ios/I18N/I18N/uk.lproj/Localizable.strings)). After these are pulled, each language's translation file is split into the App's modules e.g. `Discovery/Discovery/uk.lproj/Localization.strings`.\n   \n  After this command is run the application can load the translations by changing the device (or the emulator) language in the settings.\n\n**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:\n\n```\nmake clean_translations\n```\n\n### Using custom translations\n\nBy default, the command `make pull_translations` runs [`atlas pull`](https://github.com/openedx/openedx-atlas) with no arguments which pulls transaltions from the [openedx-translations repository](https://github.com/openedx/openedx-translations).\n\nYou can use custom translations on your fork of the openedx-translations repository by setting the following configuration parameters:\n\n- `--revision` (default: `\"main\"`): Branch or git tag to pull translations from.\n- `--repository` (default: `\"openedx/openedx-translations\"`): GitHub repository slug. There's a feature request to [support GitLab and other providers](https://github.com/openedx/openedx-atlas/issues/20).\n\nArguments can be passed via the `ATLAS_OPTIONS` environment variable as shown below:\n``` bash\nmake ATLAS_OPTIONS='--repository=\u003cyour-github-org\u003e/\u003crepository-name\u003e --revision=\u003cbranch-name\u003e' pull_translations\n```\nAdditional arguments can be passed to `atlas pull`. Refer to the [atlas documentations ](https://github.com/openedx/openedx-atlas) for more information.\n\n### How to translate the app\n\t\nTranslations are managed in the [open-edx/openedx-translations](https://app.transifex.com/open-edx/openedx-translations/dashboard/) Transifex project.\n\nTo translate the app join the [Transifex project](https://app.transifex.com/open-edx/openedx-translations/dashboard/) and add your translations to the [`openedx-app-ios`](https://app.transifex.com/open-edx/openedx-translations/openedx-app-ios/) resource.\n\nOnce the resource is both 100% translated and reviewed the [Transifex integration](https://github.com/apps/transifex-integration) will automatically push it to the [openedx-translations](https://github.com/openedx/openedx-translations) repository and developers can use the translations in their app.\n\n\n## API\nThis project targets on the latest Open edX release and rely on the relevant mobile APIs.\n\nIf your platform version is older than December 2023, please follow the instructions to use the [API Plugin](./Documentation/APIs_Compatibility.md).\n\n## License\nThe code in this repository is licensed under the Apache-2.0 license unless otherwise noted.\n\nPlease see [LICENSE](https://github.com/openedx/openedx-app-ios/blob/main/LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Fopenedx-app-ios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenedx%2Fopenedx-app-ios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenedx%2Fopenedx-app-ios/lists"}