How to call Javascript debugger from Xcode? Can you?

How to call JS debugger from Xcode?

Hi friends,

Daily Vibes Apple Store Screenshots

In a previous release of ⭐️ Daily Vibes 📲, version 1.3.0, I added a natural language date parser. What this basically means that if you enter

appointment with my accountant tomorrow at 3 pm

⭐️ Daily Vibes 📲 will understand what you mean. This is all possible because of the wonderful work done on SwiftyChrono. However, I shipped 🚢 it with some pending things that are needed to be taken care of with the library. Figured I would fix it later down the road since it seems to work as expected 😅

This week, I’ve decided to tackle the issues and help updating SwiftyChrono.

Github SwiftyChrono PR

Internally, SwiftyChrono uses javascript for testing. After the upgrades, I wanted to make sure that the tests work.

JavaScript [Core]

So, I began 👀 looking for issues ⛈

One of the issues was narrowed down to be in this area of the code:

Problem code image

If you notice, it is just javascript that is being executed. I know javascript so it should be no problem to debug, right?

Well, for starters, how do you debug javascript that is executed from Xcode? How does Xcode run javascript? This leads you down the rabbit hole to find that Apple has nicely introduced JavaScript Core internally (more info).

So…the tl;dr

It is very easy. Apple has built a nice interaction between Xcode and Safari.

The credit for the following steps to this answer goes to Rakesh Yembaram on stackoverflow.com

1. Open Safari and Enable Developer Menu

  • Open Safari
  • Enable the Develop menu by going to:
    • “Preferences”
    • “Advanced”
    • “Show Develop menu in menu bar”

Show Develop Menu in Menu Bar of Safari

2. Enable JSContext

  • Go to Develop menu Develop menu in Safari

  • Find your simulator or computer agent and enable

    • Automatically show web inspector for JSContexts
    • Automatically pause connecting to JSContexts

Enable JSContext in Safari

Download Daily Vibes

3. Re-run project in Xcode

For my example, I’m just going to simply add debugger keyword to the Javascript file

added debugger to source code

and then I press run on the tests press run on Xcode test images

and I wait until Safari does its the magic:

safari doing magic

There you go, hopefully now you can see that it is not that difficult to debug any javascript that your app might contain.

Thank you for reading and until next time my friend.

⭐️ Download Daily Vibes 🚀

Sincerely, Alex

Unless otherwise mentioned in the post, those projects are side projects which I work on on weekends and evenings, and are not affiliated with my work or employer.

Tags: software development, software engineering, productivity, growth, tutorial   |   Report a bug via Twitter

January and February Reflections

Hi friends,

Can’t believe how quickly January and February came and went. I hope you’ve had a productive start to the year.

Calendar image from https://pixabay.com/en/timeline-planner-success-achieve-3168323/

I wanted to look back on the amount of work that done in the past two months

January

A lot of things happened in January.

  • Daily Vibes is available on the Apple App Store. If you haven’t downloaded it yet, just give it a shot (download).
  • Added a sign up sheet for beta testers:
  • As a result of shipping, started fixing bugs 🐞 here and here
  • was frustrated with App Delivery … a bunch of times …comes as a benefti of exposure to the Apple Ecosystem I suppose 🤔

February

Continued incremental improvement of Daily Vibes

  • Updated Kickstarter page
  • Adding small UI accents that I was longing for
  • While using DV, I noticed myself wanting to add multiple entries at the same time. So, I wanted to build something in.
  • This error took a few days to fix …
  • This error also took a few days to correct

Apple Store

I uploaded Daily Vibes to the Apple App Store simply because I wanted to have it out there rather than keep it under wraps. I figured I would add value to the software as I go. In retrospect, it was a good decision because it allowed me to find value quicker (as opposed to when I was working on the app under wraps).

After listening to some feedback on IndieHackers I decided to start working on ASO (Apple Store Optimization). Signed up for Apple’s Ads. Signed up for their Affiliate program. Started researching.

What I have learned so far:

  • Title matters
  • Description matters
  • Keywords matter
  • Having screenshots ??? apparently matters
  • Having a video ?? apparently matters
  • Description and other stuff that you have to fill in… doesn’t matter

What else I have learned?

  • What you actually put in any of those fields doesn’t really matter. Don’t get attached to your App name, App Description, Keywords or anything else to do with it. This is important for indie developers with no ad budget. Why? Because we want to be found so people use our software.
  • If you have a budget then you can pick your Branding carefully and you can ignore what I said above

So, while working on improving Daily Vibes I am also looking at improving my overall marketing. I am going to do it iteratively and learn along the way.

What is my plan of attack?

  • improve title (Daily Vibes ➡️ Daily Vibes: Life Task Manager)
  • improve subtitle (Todo List & Life Day Organizer ➡️ To do list, life day organizer)
  • improve keywords; currently haven’t decided:

to-do, list app, list maker, task list, todo list, list, task, todo, to do, life organizer, daily

todo,list,organizer,tracker,task,project,things,productivity,to do,to-do,keep,reminder,day planner

life organizer, good vibes, daily tasks, daily office, daily calender, daily lists, daily organizer, lists maker,

  • make screenshots localized with pretty text (via fastlane.tools) … something like:

LocalizedScreenshot sample

  • make AND edit AND upload a video

Video WIP Screenshot

  • improve aforementioned screenshots
  • improve aforementioned video

All of these ideas are up in the air while I am writing this post. I am hoping to ship them with next release, hopefully sometime next week. Then, I will have to wait and look at the analytics.

Conclusion

A lot of work goes behind the scenes for a single app. I am beginning to appreciate indie developers and their successful products. You really need to be comfortable with wearing ALL of the hats that make a successful business.

For me, marketing is an uncharted area and I was hesitant to start learning it. But look at me now, I can make icons, promo videos, and start being strategic about growth. It is a journey that I am enjoying but it is challenging.

I also paved the road and did all of the necessary paper work to add in app subscriptions. Now I just gotta figure out my strategy in this area ;)

Oh and in closing news, I wanted to keep to a somewhat relaxed 2 week shipping cycle… and so far I have been sticking to the schedule of regular updates =) I hope I can keep this up!

Download Daily Vibes

Thank you for reading and until next time my friend.

Sincerely, Alex

Unless otherwise mentioned in the post, those projects are side projects which I work on on weekends and evenings, and are not affiliated with my work or employer.

Tags: software development, software engineering, productivity, growth   |   Report a bug via Twitter

Ready to Submit

Happy Friday 👋

It is so easy to let this writing to get out of hand even though I promised to write more regularly. I’ve been chugging along with a lot of things since last update.

I am still have trouble understanding how to use TestFlight. I have done quite a bit of work over the past few days and I wanted to release it to the beta testers. However, I am currently stuck in this state:

Stuck on these TestFlights

TestFlight Stuck on Ready to Submit Screen

Basically I am stuck just like this person that wrote TestFlight build on iTunes Connect stuck at ‘Ready to Submit’. I’ve contacted some fellow iOS developers and am now doing what they suggested.

What did I learn from them?

  • every new application version gets a review that you need to go through (which is exactly what is happening now from what I understand). I like semver, so technically this would be a 1.0.2 version. It has been primarily bug fixes and UI changes.
  • every new build, under a reviewed version, does not have to go through this process (apparently). So, this is what I am currently trying:

Trying to make the app live

While, I am waiting for that to go through, I want to debug and figure out what is wrong with 1.0.2.

UPDATE: After writing the original text, the solution did not work. Not sure what I am missing but here is what I’ve done:

TestFlight process

Also, it also seems that information from bullet point #2 is funky. I changed the app back to 1.0.1 and changed build to 2 and, as you can see, the app is still in the “Ready for Submit” state.

I’m going to continue with this and, in mean time, I think I am just going to contact Apple Support.


PS. Yes, I did consult View build status and metrics page and app build statuses page.

I wish Apple would provide more information on this “Ready to Submit” state because this does not really help me at this point in the process 🤕 Why? Because by clicking on this link:

Click on this link

Will bring me to:

Ready to Submit definition from Apple

Which doesn’t really answer how to submit 🤕

So, Daily Vibes is stuck somewhere here:

Daily Vibes is stuck in one of these phases

Cheers, Alex

Unless otherwise mentioned in the post, those projects are side projects which I work on on weekends and evenings, and are not affiliated with my work or employer.

Tags: software development, software engineering, productivity, growth, TestFlight, resources   |   Report a bug via Twitter

Getting familiar with iOS testing

Testing image from https://pixabay.com/en/software-testing-service-762486/

This will be a quick post, mainly a reference to some resource I’ve been using to get familiar with iOS testing and refactoring.

Refactoring is fun because I get to exercise my software engineering muscles. This is one of the reasons that I like Swift so much. I get to apply my software engineering knowledge on my own projects 👏

Testing on the whole is not difficult in iOS. However, when you add things like CoreData then it becomes a bit more chaotic to filter through.

Cheers, Alex

Unless otherwise mentioned in the post, those projects are side projects which I work on on weekends and evenings, and are not affiliated with my work or employer.

Tags: software development, software engineering, software quality assurance, productivity, growth, testing, resources   |   Report a bug via Twitter