Is it possible to create an iOS app to use on your phone purely for personal use?
Posted by brite_eyes@reddit | learnprogramming | View on Reddit | 21 comments
I use a couple of apps to track my daily health symptoms, but they don't fully fit my needs and I keep thinking about how good it would be if I could create my own app that takes the best options from the apps I currently use, and adds ones I need that the apps I use are lacking in.
Is this actually possible to do? I don't know anything about coding or app development, but I don't want to start learning if this isn't something I could do.
Basically the main things I'd need the app to do is:
- Track specific items each day like mental and physical symptoms, sleep, energy levels, medications, caffeine intake, amount of exercise
- Have some way of displaying the data in a way that I can easily see correlations between symptoms (like graphs) and also see a history of my symptoms over days/weeks/months
- If there's a possibility of connecting apple health data that would also be great as I wouldn't have to manually input that data every day, but if this isn't an option it's no biggy
I work in a creative industry, so being able to do the look of the app is the part that's making me really want to do this, because I already have ideas of how the use of the app could be improved from the ones I use.
thisusernameismeta@reddit
Yes, it is possible to develop an app and just have it on your phone without publishing to the app store.
In fact, one of the ways to develop an app involves running the app under development on your phone. So in order to use the app once development is complete, you'd simply have to unplug the phone from the computer you're using to write the code and carry on with your day.
However, it does require a Mac computer. Either a laptop or desktop. Then, you'll need to download and install XCode. iOS apps are developed in a language called Swift - I would recommend you learn that.
Once you have XCode installed on your computer, create a new project, and run it on your phone. Start with understanding how the simplest thing would work - change the background color of the app, for example. Then add a button. Then see if you can get the background to change color every time the button is pressed. In this way you'll learn how basic app interaction works. From there, keep breaking down what you want to do into the absolute smallest possible increments. Figure out how to accomplish that step. Then move on to the next one. Keep at it, and you will be able to figure it out.
Ultimately, it will be a decent amount of work. But it is certainly possible.
Medium_Newspaper9407@reddit
Actually you don't need Mac anymore for iOS development - you can use something like React Native or Flutter and develop cross-platform apps that work on both iOS and Android from any computer. Would probably be easier route since those frameworks have more beginner-friendly tutorials and bigger communities for help when you get stuck
Retticle@reddit
Fyi you still need a Mac for building the binary.
brite_eyes@reddit (OP)
Ohhh thanks for the tip! I had just taken a general assumption that building cross-platform would be a steeper learning curve/less beginner-friendly, but I'll take a look into it to see how taking that route of learning would compare!
brite_eyes@reddit (OP)
Thank you, this is super helpful!
So familiarising myself with XCode and Swift would be the best starting point? Are there any other things you'd recommend I wrap my head around or look into?
I do have a mac, but it's an old MBP that's stuck on the Monterey 12.7.6... do you know if this would be an issue? I've put off replacing it because it still runs great for my needs, even though the lack of ability to update the OS has frustrated me haha. I opted to update my PC last year instead of my macbook since that was in much more need of an update hahaha
thisusernameismeta@reddit
No problem! I do not know those details off the top of my head. You can find out, though. If you look up the compatibility of XCode with the version of MacOS that you're running, that should tell you what you need to know.
One thing that I find super helpful is to Google search with a "-ai" added to the end. That way, you won't get any ChatGPT hallucinations with your answers.
Swift and XCode and Apple development has really good, in depth documentation. In my experience, it's almost always easier in the long run to familiarize myself with the documentation directly and read through it to find the answers to my questions, rather than asking someone else - which is essentially equivalent to inserting a middleman. When you ask someone else to interpret a text for you, you're adding in a possible layer of error.
Anyway, best of luck.
brite_eyes@reddit (OP)
Thanks so much! I never thought of adding "-ai" when searching on google that's a great idea
The apple documentation on swift and xcode looks great, thanks for the suggestion, I'm going to have a look through those. I find it much clearer finding info through documentation like that vs as you say a middleman or through youtube videos (though they of course can be very handy in certain cases)
You've been very helpful, I appreciate your time!
Ok_Arugula6315@reddit
I see some great answers here. Just wanted to add try using claude code or codex (ai assistants) to boost your productivity.
If I were you I think I'd try to code in swift rather than react native (cross platform). I have not programmed in any of those but "cross-platform" rings a bell for me that there might be some limitations around cross platforms (anyone who knows better can correct me on this). To understand react native you'll have to understand html, css, js/ts, then learn react basics and only then dive into react native, so it's got learning curve.
high_throughput@reddit
Some points to consider:
brite_eyes@reddit (OP)
Thank you so much! I'll look into those! Yeah, upon doing a little bit of research my mac would require a much older version of xcode... might be more hassle than it's worth but I haven't looked into it deeply enough yet. Maybe it'll be a reason to finally prompt me into updating my nearly 10 year old macbook. I've been trying to resist the urge to update based on "ooo new shiny thing" and only upgrade when my current mac really isn't cutting it anymore... I'm honestly impressed it's lasted this long haha, definitely got my moneys worth!
Which would you say would have a steeper learning curve: Xcode/Swift or building a web app?
high_throughput@reddit
Xcode/Swift is probably harder to get started with. There are more resources for web apps, which means more material and better AI. But making web apps work well on mobile is not always their first concern.
brite_eyes@reddit (OP)
Awesome, thank you! I'll take a closer look at them!
TumbleweedTiny6567@reddit
I've created a few iOS apps just for myself and it's definitely possible, I mean the poster mentions using it purely for personal use so they don't need to worry about Apple's review process, I did something similar with a habit tracker app and it's been super helpful, did you consider using Swift or jsut going with a cross-platform framework like React Native?
brite_eyes@reddit (OP)
oh nice, like you created your own habit tracker app?
I've only looked into Swift so far and haven't delved into cross-platform frameworks yet to get an understanding of them. Do you have any key insights into learning one over the other, such as what's beginner-friendly to learn or the most useful to have under your belt?
TechBriefbyBMe@reddit
Yeah you can totally do it. Fair warning though: you'll spend two weeks building it, then six months tweaking the exact shade of blue on one button while your original problem sits unfixed.
brite_eyes@reddit (OP)
HAHA you know what I had a feeling in the back of my mind that that sort of thing will very likely happen hahahaha
SourceScope@reddit
Yup
But without a paying apple account youre limited to running the app for 7 days by installing it through xcode
brite_eyes@reddit (OP)
Thanks! I shall factor that point in as I learn more about it all and see if paying for it is a worthy consideration
Important_Coffee_845@reddit
yes absolutely it's the same exact process as creating any app. You just wouldn't put it on a store or otherwise make it public. You would only execute it from your local machine like your phone.
This is 100% doable and not even that hard- there's tons of stuff like this already on the market. If you're not worried about competing in the free market then who cares about "niche"
So would you collect the data yourself and put it in or you want it to sync from a smart watch or something?
brite_eyes@reddit (OP)
Yeah the main thing I'd want to sync from apple health is sleep, but my activity & cycle & medications would be handy too. Mostly I hate having to log hours slept every day haha.
The rest of it is mostly logging things in different variations... yes/no, low-high, numerical.
It probably isn't monetarily worthwhile for me to hire someone to do it... but at least the learning side of things isn't such an issue because they're skills that I feel would be beneficial for me to learn or understand! I just don't know where to start or what to focus on learning without deviating into territories that aren't relevant and overwhelming myself haha
Akajii@reddit
Short answer? Yes, but...
Programming is (usually) not a drag-and-drop process of hand-picking the look of 'this' app and combining it with the functionality of 'that' app. If you're on your PC, right-click on one of the buttons on the right-hand side of the page and press 'Inspect Element'.
What makes that button work is a combination of three distinct programming languages: HTML, CSS, and Javascript. HTML controls the structure, CSS controls the look, and Javascript gives it functionality.
What you *don't* see is the Backend. PHP, Python, or whatever context-specific language is needed to control everything else you might not consider, SQL for database management... not to mention endless amounts of software to learn to manage these systems. I wouldn't even consider myself a programmer. I'm just in the process of learning, myself.
It is overwhelming in the most exhilarating way. So yeah, you could totally do it. Just prepare yourself!