Inspiration
What inspired me to write this app was not only the fact that I wanted to solve an important need to be able to translate cipher in a fast and easy manner, but also the fact that I wanted to become exposed to a real life problem. By writing this app, I am convinced that I have taken a big step toward developing experience as a problem solver in the field of cybersecurity, as creating this app has tested my knowledge of not only programming and computer science, but also cybersecurity.
What it does
The app is designed to follow a specific line of logic depending on how one wishes to treat the text in the entry field. If the user wishes to convert between English and Caesar cipher, for example, all the letters are shifted forward by two (A becomes C, B becomes D, and so on).
How I built it
I started off by designing the user interface since I knew that would be the easiest part. I knew that the "Translate!" button was the crucial part of the app, as the button was the gateway to the heavy coding that the app would involve. I designed a method to encipher English to a certain cipher language, a method to decipher a language, and a method to translate between two different ciphers. I created a few other additional methods, such as a sequential search for an array and a two-dimensional array search.
Challenges I ran into
Many of the challenges I faced while writing the code involved logic. On a few occasions, I found myself assigning values to variables of the wrong type, and on a few occasions, I struggled trying to cast strings to integers. Additionally, I had to rewrite my line of logic for many of the cases in the switch statements, which depended on the selections in the segmented controls.
Accomplishments that I'm proud of
It feels exhilarating to know that this is my first full, original iOS app.
What I learned
Given that I spent an entire weekend coding an iOS app, I developed a significantly higher understanding of the Swift language, and I am convinced that I may have more ease with designing iOS apps in the future.
What's next for Cipher-Converter
In my next major update for the Cipher Converter, I will be designing a new app icon, and I will improve the app's aesthetic appearance. The segmented controls will be replaced with picker views, and I may add more cipher languages. My ultimate goal is to try to make this app be capable of converting binary to English.
Log in or sign up for Devpost to join the conversation.