Skip to content

Building source code with Xcode

Boriss Melikjan edited this page Apr 6, 2026 · 1 revision

Before building the source code, please check the requirements: Requirements to use RIA DigiDoc

This project needs Homebrew to be installed on user computer. If you don't have Homebrew installed in your machine, or are using older version of Homebrew, you can find the installation instructions on Homebrew website: https://brew.sh

Project also includes Firebase Crashlytics integration. To setup Firebase Crashlytics, please follow Steps 1-3 on Firebase Documentation webpage. GoogleServices-Info.plist file must be placed in "{XcodeRootProject}/RIADigiDoc/Supporting files" folder.

Once you have Homebrew installed, you need to install swift-sh, that this project requires. Additionally you may have to install Mockolo for running and developing automated unit tests. Running dependency framework update shell scripts from /scripts folder may require additional Homebrew dependencies installed.

  1. In terminal navigate to RIADigiDoc folder in project.
  2. Run command "brew install mxcl/made/swift-sh" to install Swift-sh
  3. To validate signatures in offline mode, eu-lotl.xml and EE.xml files are bundled in "Modules/ConfigLib/Sources/ConfigLib/Resources/tslFiles" folder. You can manually update TSL files by downloading the latest TSL files:
       1. https://ec.europa.eu/tools/lotl/eu-lotl.xml -> Rename file to "eu-lotl.xml"
       2. https://sr.riik.ee/tsl/estonian-tsl.xml -> Rename file to "EE.xml"
       3. Move these files to "Modules/ConfigLib/Sources/ConfigLib/Resources/tslFiles" folder

Lastly in order for the build to succeed your Apple developer account should be added to Riigi Infosüsteemi Amet development team and the same account added to Xcode.

NOTE: A workaround to build without being in the Riigi Infosüsteemi Amet development team is to give RIADigiDoc targets (RIADigiDoc, RIADigiDocTests, RIADigiDocUITests, FileImportShareExtension, FileImportShareExtensionTests and WidgetExtension) a unique bundle identifier different from initially setup

Clone this wiki locally