iSoron / uhabits

Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits
GNU General Public License v3.0
7.74k stars 928 forks source link

Develop iOS version of Loop Habit Tracker #487

Open iSoron opened 5 years ago

iSoron commented 5 years ago

Overview

This issue will track the progress of migrating Loop Habit Tracker to iOS. As discussed in issue #486, this is Phase I of our larger effort to make the application multiplatform. The shared core will be written in Kotlin, while the iOS-specific code will be written in Swift.

The dev branch already contains a working prototype, with some basic features implemented. Below are a number of smaller subtasks that still need to be done. The list will be updated as we move along. As always, pull requests are very welcome. For better coordination, if you are planning to work on something, please let us know in advance. If you have any problems running the existing code, or if you have any questions, suggestions or concerns about the implementation or design of any of these features, please feel free to leave a comment.

Subtasks

1. Build read-only version of the application. The interface will look and behave like the final version of the app, but the user cannot modify the database in any way.

2. Allow user to make changes to the database.

3. Additional features and performance

StuartMesham commented 5 years ago

What version of Swift do you compile with? Are there any dependencies for this project?

I am trying to build the iOS version but I am getting the error "undeclared type: Backend".

iSoron commented 5 years ago

@StuartMesham The iOS build is temporarily broken. If you roll back to commit 1abc041d8, it should work. I will post an update when this is fixed.

git clone https://github.com/iSoron/uhabits.git
cd uhabits
git checkout 1abc041d8 -b ios
iSoron commented 5 years ago

The previous issue is now fixed. To run the iOS app, just open uhabits/ios/uhabits.xcodeproj in Xcode and click the Run button. The shared code gets compiled automatically, so no extra steps are needed. If anyone is having trouble building the project, just let me know.

luisnabais commented 5 years ago

Why are you not using TestFlight? We could be more beta testing this... Thanks a lot!

iSoron commented 5 years ago

@luisnabais I will post a TestFlight link when we reach beta. Currently, the app is still unusable.

iSoron commented 4 years ago

@luisnabais Please do not advertise non-open source software in our bug tracker.

luisnabais commented 4 years ago

@luisnabais Please do not advertise non-open source software in our bug tracker.

You misunderstood me. I'm not advertising anything. I was just telling you that I think it was a total rip-off of Loop Habit Tracker, maybe not even authorized.

iSoron commented 4 years ago

@luisnabais Thanks! I removed your message because even leaving the name of their app here helps to promote them. These clones are not endorsed by or affiliated with our project in any way. In particular, I cannot guarantee that they respect the privacy of your data in the same way that Loop does.

tapchik commented 4 years ago

@iSoron, I don’t know if it’s right place for comments like mine, but I am so in love with your app that it prevents me from buying an iPhone! I made a research and nothing seems to be anything close to Loop on iOS.

I wish you good luck with creating iOS version of the app and can’t wait for a release!

kashura commented 4 years ago

The previous issue is now fixed. To run the iOS app, just open uhabits/ios/uhabits.xcodeproj in Xcode and click the Run button. The shared code gets compiled automatically, so no extra steps are needed. If anyone is having trouble building the project, just let me know.

error: Build input file cannot be found: '/Users/valera/Library/Developer/Xcode/DerivedData/uhabits-hhrqwstlmqlbkgcqbnajyhvvlelr/Build/Intermediates.noindex/SwiftMigration/uhabits/Products/Debug-iphonesimulator/uhabits.app/PlugIns/uhabitsTests.xctest/uhabitsTests' (in target 'uhabitsTests' from project 'uhabits')

BUILD FAILED in 0s Command PhaseScriptExecution failed with a nonzero exit code

Build fails for me :-/

Jeehut commented 4 years ago

Hey @iSoron, I just discovered this great open source project and checked the current state of an iOS equivalent. I see that you have long-term plans to provide a Kotlin-based alternative, which I can understand. But as it looks the progress is really slow on that end, or did I miss something?

Reason I'm asking is because I was planning to create a habit tracker open source application for iOS for learning purposes anyways and now that I have found this, I consider making it compatible with this app export and import options so users can move between platforms without losing their data. Of course, my app will have a different name and also look totally different, but the core of being an open source & free habit tracker and using the latest of technology (in my case SwiftUI) to make this a fun project will be shared.

But as you wrote in your Kotlin Multiplatform issue, before I do anything of that sort, I wanted to first check with you what you think of it and what a realistic timeframe for your iOS app is. Because mine will be started this summer and probably released in autumn. If your iOS app is done by then, I might opt for a different hobby project idea instead, I'm not looking for competing with an already existing and well working solution, I just want to fill the current gap. Habit tracking should be available for free to everyone.

iSoron commented 4 years ago

Folks, this is an issue to discuss the official iOS version of Loop Habit Tracker. If you are interested in developing your own habit tracker for iOS, that's fine, but please move the discussion to your own issue tracker.

@Jeehut Sorry, I cannot provide a timeline for this.

guthipp commented 4 years ago

Is there already a roughly release date for iOS?

Jeehut commented 4 years ago

@guthipp Please read the comment above yours that was made just 9 days ago, it already answers your question, I think. 😉

guthipp commented 4 years ago

@jeehut Thank you. So when you don't follow a deadline, then it seems to became a never ending story - sorry. So I know that I will find another solution. When you say, your goal is e.g. Oktober 2020 - then I could use a interim solution. But I already wait over 1y now 🥵

xplosionmind commented 3 years ago

Hello everybody. I am a huge fan of Loop Habit Tracker; I recently moved to iOS and I suffered its absence so much that I desperately started looking for alternatives, but, as @tapchik pointed out, it is very hard to find a valuable, equally neat and simple, but most importantly privacy respectful app or service.

nothing seems to be anything close to Loop on iOS.

Nevertheless, after months of struggle, I finally stumbled upon a really promising application, named [link removed, non-open-source]. Of course, it is absolutely not as good as Loop Habits, but I can manage living with it until Loop Habits finally gets to iOS.

I would love to help speeding up the process, but, unfortunately, I am not a developer.
I posted this only as a suggestion for people who are looking for an ad-interim solution.

Thank you very much and thanks @iSoron for your work, it is awesome and much appreciated.

udaychadha commented 2 years ago

Hello! I just moved over to ios and this is the app that I miss the most. I would love to contribute to the ios development in any way but I have never done anything in ios. If you can guide me to some simple open subtasks that I could take on, it would be great. :)

aint commented 2 years ago

Could someone update us on the progress?

singam-sanjay commented 1 year ago

The previous issue is now fixed. To run the iOS app, just open uhabits/ios/uhabits.xcodeproj in Xcode and click the Run button. The shared code gets compiled automatically, so no extra steps are needed. If anyone is having trouble building the project, just let me know.

I tried this on macOS 12.6 for iPhone 14 Pro. I keep getting the error "Command PhaseScriptExecution failed with a nonzero exit code". A quick google search revealed that the error could have been caused by a plethora of reasons, many of which didn't apply to my case. Right-Click > Open Build Log doesn't help either.

How do I proceed?

madbhandari commented 1 year ago

Does anyone know how to move Loop Habit Tracker data to another iOS habits app? It's been years and I don't expect the iOS app of Loop Habit Tracker to come anytime soon.

luisnabais commented 1 year ago

This project is dead. And when a person says something, it's commentary is deleted or marked as off-topic. It's just sad.

iSoron commented 1 year ago

@luisnabais This issue is for technical discussions on the iOS implementation. Feel free to post (open-source) iOS app recommendation in the discussions section. Recommendations to non-open-source apps will be removed.