Machine Learning

I built an iOS app in 3 days with Norly Swift knowledge

Brushe Tracker application in 3 days with no previous experience with SWIFT, the leading programming language for iOS development. Although I have a fully functional app live in the app store, I still have very little knowledge of Swift because I used “vibe coding” to develop this app.

In this article, I will explain the process, the AI ​​tools I used, and share some of my experiences and insights.

Anything as a lovely alternative

In the past I used to like developing Web apps but it doesn't seem like a way to develop a mobile app, at least not yet.

There are other ways to love app development. Recently I found a tool called anything, and since I had a good experience with it, I decided to give it a try to improve my application. At first, it seemed to work well, but the overall experience was not as efficient as I had hoped.

The hardest part was not being able to test my changes, tweaks, and improvements right away. Anything has a built-in UI for testing, but the experience wasn't very good. It also directs you to test the code with the Expo app, but that didn't work well for me.

I should mention that I have no previous app development experience. For developers or anyone with some background in writing, anything is probably a much more productive tool than it was for me.

I posted the code in whatever and tried to test it in xcode on my mac but I got a lot of errors and I couldn't make it work. So I decided to use another method. The pointer seemed to choose the obvious.

A cheater

I have heard great things about the indicator from many friends who are actively using it. I wanted to give it a try myself.

I quickly applied the same to the pointer and asked to create an app. After that I created an XCode project with the folders and files generated by the pointer. I started the simulator in xcode and it worked on the first try.

The goal of the brush tracker is to help you keep up with your daily brushing. It gives you a cleanliness score that starts at 100%. If you skip a day, the Score drops and your teeth in the app begin to appear gradually to match the cleanliness score.

Note: All images used in this article include screenshots from my app, Brush Tracker.

The first version had a big application feature. I think this is the most effective way to build products with AI-based tools. Get the first version up and running before adding features.

To test the basic application feature in the simulator, I had to change the day of the simulator without completing “today's brushing” to see if repeating the hygiene marks can be renewed as expected.

The guide suggested changing the date in Xcode Simulator but the simulator doesn't have date and time settings. Older versions of xcode simulator have this setting but not now.

Workaround solution was to change the date on my Mac. In this way, the day in the simulator also changed and I was able to test the feature.

One thing I noticed is that when I change the date on my Mac, the pointer doesn't recognize my account and it doesn't work. It went back to normal when I changed the date back to auto.

The time factor

The built-in brushing timer felt like a great addition to the brushing tracker. Users simply time the brushing as done or use a timer while brushing.

It took me a few tries to get this feature to work the way I thought it would. You can just tell the pointer to add a feature, but it works best when you go through it quickly and describe exactly what you want. When giving specific commands, the cursor usually does a good job.

Reward Factor

I wanted to add an extra incentive when the user finishes brushing every day. After completing the sessions, they can tap “Get your daily reward” and see a short motivational quote. A small touch but a great reminder of dental health.

You can actually learn where the vibe is coded

The pointer not only writes the code but also helps you to read it. When I tried to add the reward feature, the implementation was wrong at first. It was not working properly.

I explained the issue to CUSSOR, and he explained what was causing the problem and how to fix it. Here are two examples of how a pointer can help you learn along the way:

The argument is that Revilquote is empty on the first tap because the handleReRereAptap () sets it, but the sheet is displayed immediately. I need to confirm that this measurement has been set before showing the sheet.

Problem fixed! The problem is that ShowReward = True started to be set after the update, but the Swiftui paper presentation happened before the complete state update.

Use the cursor effectively

A pointer is a great tool but there are some ways to make it work properly.

Let's assume that the code fails or malfunctions. If you know a part that has a problem, highlight that part and add to the discussion. It certainly makes it easier to troubleshoot the problem.

In mixer tracker, I had a problem when setting notifications. I explained the problem and asked for a pointer to fix it. The indicator told me that it has been fixed but the problem is still there. Then, from the code changes I found where the problem occurred and added that part to the discussion.

The pointer is fixed by trying the following: The problem is that OniPeture is used in the Picker, but in Swiftui, the separated pickers do not always respond well to tapping the inner body touch. The Onchange Modifier only triggers when the selection actually changes, not when the same value is specified.

Another thing worth mentioning is the “context used” percentage “in the indicator. It automatically opens the appropriate context from your codebase, so you don't have to tell it which files to look for. But your chat history is also included in that context, and sometimes it contains old problems or inappropriate code.

That extra clutter can increase token usage or make the cursor less efficient. When the context used the percentage increased, I delete the history of the conversation.

Distribute your app in the app store

When you've finished testing your app using a simulator or virtual device (eg your iPhone), it's time to distribute your app to the app store so others can see (and hopefully use) your app.

It is not a complicated process but there are many details, which can take a long time especially when you are doing it for the first time. I found a video on YouTube that explains the whole process step by step.

After completing all the steps, I submitted my app for review. Once approved, I received an email from the App Store link

I would like to point out that I have no association with any of the AI ​​tools mentioned in this article.

Thanks for reading! You can check the brush tracker in the app store. I'd love to hear from you if you try it or have any other feedback.

Source link

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button