Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

meganz/iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

MEGA for iOS

Download on the App Store

A fully-featured iOS client for accessing your secure cloud storage and communication tools, powered by MEGA.


πŸ› οΈ Building & Running the Application

This guide will help you build the MEGA iOS application using Xcode on macOS.

Prerequisites


πŸ”§ Configuration Steps (Public Users)

  1. Update .gitmodules:

    • Update:
      • Modules/DataSource/MEGAChatSDK/Sources/MEGAChatSDK β†’ https://github.com/meganz/MEGAchat.git
      • SDK β†’ https://github.com/meganz/SDK.git
  2. Remove submodules:

    • iosTransifex
    • Modules/MEGASharedRepo
  3. Replace Shared Repo:

  4. Install CMake:

    • Navigate to the scripts folder and run:
      ./install-cmake.sh
    • Alternatively, public users may run from the root folder:
      ./config.sh
      and ignore any non-critical errors.
  5. Synchronize Git Submodules:

    git add .gitmodules
    git rm --cached Modules/MEGASharedRepo
    git rm --cached iosTransifex
    git submodule sync
    git submodule update --init --recursive
  6. Manually Pull Code if Needed:

    • For folders that failed to fetch:
      • Modules/DataSource/MEGAChatSDK/Sources/MEGAChatSDK
      • Modules/DataSource/MEGASDK/Sources/MEGASDK
      • iMEGA/Vendor/SVProgressHUD
      • iMEGA/Vendor/LTHPasscodeViewController

    Run:

    git checkout <latest-commit>
    git branch -D master
    git checkout -b master
    • For SVProgressHUD (use custom_mega branch) and LTHPasscodeViewController (use custom-MEGA branch):
      git checkout <latest-commit>
      git branch -D master
      git checkout -b <branch_name>
  7. Download and Unzip Required Dependencies: Place these under: Modules/DataSource/MEGAChatSDK/Sources/MEGAChatSDK/bindings/Objective-C/3rdparty

  8. Generate the DB Schema: Navigate to:

    Modules/DataSource/MEGAChatSDK/Sources/MEGAChatSDK/src

    and run:

    cmake -P genDbSchema.cmake
  9. Update Swift Package Dependency: Replace:


πŸ§ͺ Running the Project (MEGA Engineers)

  1. In the terminal, run:
    ./configure.sh
  2. Open the Xcode workspace:
    open iMEGA.xcworkspace
  3. Select the MEGA target.
  4. Build and run using ⌘R.

🧱 Building 3rd-Party Packages (Optional)

To build third-party dependencies manually:

  1. Open a terminal at:

    Modules/DataSource/MEGASDK/Sources/MEGASDK/bindings/ios/3rdparty
  2. Run:

    sh build-all.sh --enable-chat

    ⚠️ This may take ~30 minutes.

Required Tools

  • autoconf
  • automake
  • cmake
  • libtool

WebRTC Build Guide

Refer to the official documentation:
πŸ‘‰ WebRTC for iOS

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /