There are two keys in your project’s .plist file that allow you to identify your application’s build, wether it’s an Apple submission, an ad-hoc, a development or enterprise build. Good management of these keys can simplify your development workflow specially when it comes to submitting builds to iTunesConnect and getting debug information from users and test devices.
Understanding how to work with and leverage the power of Keychain Services is an essential part of iOS development. The SecItem API’s comes as part of the Security framework in iOS and allows you to save sensitive user information inside the Secure Enclave built into all iOS devices. In case you need to be in the know, the Secure Enclave is defined by Apple as:
I’m truly impressed by the work done at objc.io. These tutorials are a must for anyone wanting to become an iOS Ninja!
Just found a beautiful little gem called draw.io. What an amazing tool for generating quick and clean app workflows. It’s become an instant must!
On my first blog post, “Ready… Set… Xcode!“, we ended off with a challenge: to build a utility tool that could automate new project deployments.
There’s a couple of solutions you could use to solve this problem. You could write a Unix script, an apple script, or (if you want to be overkill) a whole dedicated Xcode project. I did, though, suggest that you use this little guy →
Because Automator is simple, fast and allows you to provide easy to use UI feedback. As a tool it is also completely undervalued… And the little A.I. bot is adorable… Yes, I just said it.
A more detailed explanation for the architecture diagram referred to in “Ready… Set… Xcode!”.
On my first blog post, “Ready… Set… Xcode!“, we spoke about a general project architecture that is common to standard iOS Apps (note that architecture for games can be considerably more complex).
Here is a copy of the diagram to refresh our memory: As you can see, in the middle we have the one design pattern to rule them all: the MVC pattern, roughly taking around 70% of the entire application’s architecture. A brief explanation of the components in this diagram follows: BASE (what you get for free):
As is common in every app development cycle, there comes a time when we must start setting up a project.
This normally involves mundane and boilerplate tasks such as setting up folder structures, linking up the project to the right third party libraries (if needed) and adding reusable extensions/categories/classes from earlier projects that we have grown an affection towards or have become fully dependant on. Depending on your ability, how meticulous and orderly you are with these kind of things, your team size, the project size and how important an understanding of the overall architecture is for you as developer (very important), this can take you anywhere from a couple of hours to (hopefully not more than) a day. Depending on how many applications you work on during the course of your career, these times add up to considerable numbers (make the maths in your head and cringe).