Coder Social home page Coder Social logo

habitrpg / habitica-ios Goto Github PK

View Code? Open in Web Editor NEW
658.0 32.0 221.0 108.64 MB

Native iOS app for Habitica

License: GNU General Public License v3.0

Objective-C 0.10% Ruby 0.03% Shell 0.01% Swift 99.87% C 0.01%
habitica objective-c ios swift realm cocoapods hacktoberfest

habitica-ios's Introduction

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

habitica-ios's People

Contributors

ashleyng avatar chickdan avatar christopher-coffin avatar crookedneighbor avatar deathau avatar elliotaplant avatar ericmiddelhove avatar fiuzab avatar gryphonbot avatar jaingaurav avatar jmoody avatar juanj avatar kyle-fox avatar lacrimae avatar lazerwalker avatar mazyod avatar migue1s avatar nivl4 avatar phillipthelen avatar rcbello avatar revolter avatar rolisanchez avatar saraolson avatar schrockblock avatar shadallark avatar thecodedself avatar theplasmak avatar tjb avatar vlvs avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

habitica-ios's Issues

Menu items off-sync

After clearing my cache and refreshing under Settings, suddenly all of the menu items were off-sync - click "settings" took me to "about" and clicking "news" took me to "settings" etc.

Issues with Character Creation

When I registered with a new user ("PhoneLemoness") it appeared to be successful, and even put me through the tutorial. However, as soon as I finished the tutorial, the app looked like this:

img_2837

Further attempts at interaction resulted in a "network disconnected" warning, even after switching from LTE to wifi:

img_2838

Signing in with PhoneLemoness' credentials on the website was successful, and showed a normal default character.

I was able to successfully log out on the phone under Menu, and then log in to my normal test account ("Laurie"), which worked fine. When I signed out of Laurie and back into PhoneLemoness using the Login page, at first it appeared to work:
img_2848

But the Pets and Mounts and Party Page all still showed Laurie's information, not PhoneLemoness', and so did Settings:
img_2850

Jack-O-Lantern Mount Listed

There is a listing for a Jack-O-Lantern Mount in the Mounts section, although there is not (yet) such a mount.
img_2845

Clicking "News" crashes app

Clicking the "News" tab crashed the app each time I did it. I've sent you a partial crash report, which hopefully will contain some information.

Checklist indicator (X/Y) does not immediately appear

Right now, there's no way to tell if a task that you added has a checklist without clicking on it. It would be nice to have the checklist display the number (X/Y) next to the task so that you know to expand it!

Change Reminder Text

Very minor. "Don't forget to mark your todos" > "Don't forget to check off your Dailies!"

Button got stuck small

Not sure what to say here - I tapped a button and it simply got smaller. After a lot of tapping, it finally returned to its normal size.
img_2953

Scale down character and header bars

Although it's important for the header bar to always be present, on the four tasks pages it takes up a lot of space. It would be nice if it was scaled down on those pages, and remained larger on the back-end pages.

Easier Editing Tasks

When you click on tasks, it should immediately open the edit tasks page - right now it is slow, and not as intuitive.

Mount vs. Dismount

When you choose to ride a mount, the button says "Mount" - but it also says "Mount" when you are already riding one. It should say "Dismount" when it is removing your mount.

Display Pet Hatched

When you hatch a pet, the resulting pop-up makes it seem like a picture of the pet would be displayed. That would be great, although this is not an essential feature.
img_2844

iOS Tutorial Improvements

I think the tutorial is decent in terms of layout, but it needs shorter text, which I am happy to write! I need to go through the tutorial again for the text, and then I will edit this ticket.

Change text in Checklist adding

Right now when you go to add a checklist, it says "Add a new tag." This is confusing terminology, because tags are a separate feature.

Let's change it to "Add a checklist item" for now, unless we can think of something better.

Reward Message Change

When buying a reward, the message used it the same one as the "checked off task" function - it should just say "-X GP."

img_2842

Ability to Customize Avatar

The title is self-explanatory! Right now, you can't customize your avatar via the app. That's a pretty important feature for people, so I think it should be part of the beta if we can swing it.

Checklist Displays in Wrong Place

img_2949
When I tapped on the checklist for "Work Project" it opened below "Check Work Email" instead. After navigating away and returning, it functioned normally.

Chat name colors should match website

Usernames are colored in chat, but the coloring system does not match the current color rank system on the website. If they match up, it will be easier on the moderators and Socialites to explain!

Party Chat cut off

Although Tavern chat displays normally, party chat is cut off.
img_2843

(Message typed in was "Hi guys! I've had a super productive day.")

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.