• Stars
    star
    690
  • Rank 65,522 (Top 2 %)
  • Language
    Swift
  • License
    GNU General Publi...
  • Created almost 10 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Native iOS app for Habitica

Habitica for iOS Build Status

Native iOS app for Habitica.

Contributing

For an introduction to the technologies used and how the software is organized, refer to Contributing to Habitica - "Coders (Web & Mobile)" section.

Thank you very much to all contributors.

How mobile releases work

All major mobile releases are organized by Milestones labeled with the release number. The 'Help Wanted' is added to any issue we feel would be okay for a contributor to work on, so look for that tag first! We do our best to answer any questions contributors may have regarding issues marked with that tag. If an issue does not have the 'Help Wanted' tag, that means staff will handle it when we have the availability.

The mobile team consists of one developer and one designer for both Android and iOS. Because of this, we switch back and forth for releases. While we work on one platform, the other will be put on hold. This may result in a wait time for PRs to be reviewed or questions to be answered. Any PRs submitted while we're working on a different platform will be assigned to the next Milestone and we will review it when we come back!

Given that our team is stretched pretty thin, it can be difficult for us to take an active role in helping to troubleshoot how to fix issues, but we always do our best to help as much as possible :) With this in mind, when selecting issues to work on it may be best to pick up issues you already have a good idea how to handle and test. Thank you for putting in your time to help make Habitica the best it can be!

Steps for contributing to this repository:

  1. Fork it
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Create new Pull Request
  • Don't forget to include your Habitica User ID, so that we can count your contributrion towards your contributor tier

Setup for local development

Config File

Copy over the sample debug config file.

$ cp sample.debug.xcconfig debug.xcconfig

If you want to run your app against a locally running version of Habitica, change CUSTOM_DOMAIN to localhost:3000 or whatever port you have your local version configured to. Also set DISABLE_SSL to true so that the url can be configured correctly.

CocoaPods

We are using CocoaPods to manage dependencies.

During installation, cocoapods-keys will prompt for some of the keys used in the project. Use any random value for debugging, the real values are only required when uploading a final build to the app store.

CocoaPods requires that you open the Habitica.xcworkspace.

$ open Habitica.xcworkspace

Non-M1 Mac Installation

If you have managed ruby environment (rbenv, rvm, etc.):

$ bundle install
$ bundle exec pod install

As an alternative, it is possible to install the dependendencies manually. Use sudo if required to install gems (i.e. you are using the MacOS system ruby):

$ sudo gem install cocoapods:'>=1.2'
$ sudo gem install cocoapods-keys
$ pod install

M1 Mac Installation

Step 1: Install Brew

# Install Brew (package manager)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Add 'brew' as a terminal command (change {USER_NAME})
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/{USER_NAME}/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

# Verify Installation
which brew

Step 2: Install cocoapods using Brew

brew install cocoapods

# Verify the installation from brew and get the Version number:
brew info cocoapods
# ^example output: cocoapods: stable 1.10.1 (bottled)

# Go to your project directory
cd path/to/project

# Install pods (REMEMBER to run this in your project folder)
opt/homebrew/Cellar/cocoapods/{VERSION}/bin/pod init
opt/homebrew/Cellar/cocoapods/{VERSION}/bin/pod install

NOTE Get the {VERSION} from the brew info cocoapods command

More Repositories

1

habitica

A habit tracker app which treats your goals like a Role Playing Game.
JavaScript
11,859
star
2

habitica-android

Native Android app for Habitica
Kotlin
1,434
star
3

habitrpg-mobile

HabitRPG mobile application under development. Angular + PhoneGap
JavaScript
286
star
4

habitica-chrome

Chrome extension for HabitRPG. Uses 3rd party productivity website events to trigger point gain/loss.
JavaScript
109
star
5

habitrpg-shared

Shared resources useful for multiple HabitRPG repositories. Assets (sprites, imgs, etc), CSS, algorithms, and more.
CoffeeScript
95
star
6

Habitica-Webhooks

A server to receive webhooks for Habitica related projects (github, slack, etc)
JavaScript
20
star
7

habitica-chat-extension

A habitica.com Chat Client for Chrome
JavaScript
18
star
8

habitica-markdown

A markdown-it module pre-configured for use in Habitica
JavaScript
13
star
9

habitrpg-community

Community website for HabitRPG (Drupal)
PHP
12
star
10

habitrpg-email-server

The server from which all HabitRPG's emails are sent
JavaScript
11
star
11

habitica-images

7
star
12

habitica-zapier

JavaScript
7
star
13

habitica-markdown-emoji

Emoji set for Habitica.
JavaScript
5
star
14

mongoose-dictionary

JavaScript
3
star
15

habitica-email-template

Responsive HTML email template for use in Mandrill. Based off of Lee Munroe's original concept. https://github.com/leemunroe/responsive-html-email-template
HTML
3
star
16

eslint-config

JavaScript
2
star
17

tools-for-habitica

HTML
2
star
18

flag-o-rama

An easy way to flag chat messages.
JavaScript
2
star
19

AccountDeleteConsumer

JavaScript
1
star
20

habitrpg-redirect

Simple Node.js Express app to redirect requests to habitica.com
JavaScript
1
star
21

WebhookConsumer

A worker to process webhooks for Habitica
JavaScript
1
star