Giter VIP home page Giter VIP logo

italoadler / edx-app-ios Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openedx-unsupported/edx-app-ios

0.0 2.0 0.0 178.58 MB

The Open EdX mobile app for iOS!

Home Page: https://docs.google.com/document/d/15MYZ2LAmahB82P5wkPkQOqjszfou0Qkeae3qz7STxUQ/edit

License: Apache License 2.0

Swift 55.24% Ruby 0.09% Objective-C 37.26% HTML 7.28% C++ 0.01% C 0.01% JavaScript 0.02% CSS 0.09%

edx-app-ios's Introduction

This is the source code for the edX mobile iOS app. It is changing rapidly and its structure should not be relied upon. See http://code.edx.org for other parts of the edX code base.

It requires the "Dogwood" release of open edX or newer. See https://openedx.atlassian.net/wiki/display/COMM/Open+edX+Releases for more information.

License

This software is licensed under version 2 of the Apache License unless otherwise noted. Please see LICENSE.txt for details.

Building

  1. Check out the source code: :

    git clone https://github.com/edx/edx-app-ios
  2. Open edX.xcworkspace.
  3. Ensure that the edX scheme is selected.
  4. Click the Run button.

Note: Our build system requires Java 7 or later. If you see an error mentioning "Unsupported major.minor version 51.0 " then you should install a newer Java SDK.

Configuration

The edX mobile iOS app is designed to connect to an Open edX instance. You must configure the app with the correct server address and supply appropriate OAuth credentials. We use a configuration file mechanism similar to that of the Open edX platform. This mechanism is also used to make other values available to the app at runtime and store secret keys for third party services.

There is a default configuration that points to an edX devstack instance running on localhost. See the default_config directory. For the default configuration to work, you must add OAuth credentials specific to your installation.

Setup

To use a custom configuration in place of the default configuration, you will need to complete these tasks:

1. Create your own configuration directory somewhere else on the file system. For example, create my_config as a sibling of the edx-app-ios repository.

2. Create an edx.properties file at the top level of the edx-app-ios repository. In this edx.properties file, set the edx.dir property to the path to your configuration directory. For example, if I stored my configuration at ../my_config then I'd have the following edx.properties:

edx.dir = '../my_config'

3. In the configuration directory that you added in step 1, create another edx.properties file. This properties file contains a list of filenames. The files should be in YAML format and are for storing specific keys. These files are specified relative to the configuration directory. Keys in files earlier in the list will be overridden by keys from files later in the list. For example, if I had two files, one shared between iOS and Android called shared.yaml and one with iOS specific keys called ios.yaml, I would have the following edx.properties:

edx.ios {
    configFiles = ['shared.yaml', 'ios.yaml']
}

The full set of known keys can be found in the OEXConfig.m or see additional documentation.

Additional Customization

Right now this code is constructed specifically to build the edx.org app. We're working on making it easier for Open edX installations to apply customizations and select third party services without modifying the repository itself. Until that work is complete, you will need to modify or replace files within your fork of the repo.

To replace the edX branding you will need to replace the appicon files. These come in a number of resolutions. See Apple's documentation for more information on different app icon sizes. Additionally, you will need to replace the splash images used in the login screen.

If you need to make more in depth UI changes, most of the user interface is specified in the Main.storyboard file, editable from Interface Builder within Xcode.

As mentioned, the app relies on the presence of several third party services: Facebook, NewRelic, Google+, SegmentIO, and Crashlytics. You must remove references to each of these services you choose not to use. You can comment out the lines that mention these services. We're working to make those dependencies optional.

edx-app-ios's People

Contributors

aleffert avatar ehmadzubair avatar saeedbashir avatar mikekatz avatar danialzahid94 avatar jotiram avatar rahul-clarice avatar jianfengqiu avatar jaimeohm avatar kurhadeprashant avatar jeffxtang avatar salman2013 avatar jlim6329 avatar jagonzalr avatar cpennington avatar shafqat-muneer avatar tlindaliu avatar kevinjkim avatar dwhiting-qcom avatar miankhalid avatar tallboy avatar hanningni avatar

Watchers

Italo Adler avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.