The learning curve of an iOS developer

For many people who grew up with Microsoft Windows, learning to code in Java using Eclipse, iOS development has been a tough one to crack.

A. Finder, LaunchPad …

First, you have to switch to use a Mac, a completely different system, with a different way of organising files and folders. For experienced UNIX users it’s not hard, but for a Windows user, just learning where to use Terminal, how to change the system settings, open applications and find files – it’s just not intuitive… Take for example my parents, who have been using computers since the time of Windows 3.1 and are comfortable in Windows environment, struggle every time they use our MacMini to do something. Sometimes life does change too quickly, and we do question are all the changes are necessary …

Finder:  It does take time and effort to learn to use Finder – which is an amazing app with easy navigation (left/right or up/down), 4 viewing modes (icons, list, tabs and coverflow), the colorful tags… Use Command+Up/Down to navigate in icons mode.

Launchpad: is where you find applications to run


  1. nano / pico: a useful text editor, alternative to vi/vim
  2. defaults write AppleShowAllFiles TRUE (show hidden files on Finder )
  3. say: say Hello Hanna (it will speak)
  4. touch [file] = create new file
  5. cat [file] = display file
  6. diff -y firstfile secondfile = compare 2 files
  7. grep = find in file
  8. scp file-to-copy user@remote-address:path-to-new-saved-file : copy file over network
  9. tmutil startbackup (back up computer in time machine)
  10. top : get the running processes

C. Xcode

Xcode is the mandatory  for a developer. The newest Xcode has been improved a lot over the previous versions, but many things are still a black-box, for example ⌥ is option/alt and ⌃ is control  are not printed on the keyboard, so the shortcuts displayed in Xcode may seem like gibberish to the users. I had to use some mental tricks to remember:

⌥ = you leave the top path to follow the bottom path, so it's alt. 
^ = you are on top, so is control.

The DerivedData folder with the whole building process is using a folder name with hashed code, which look weird. Now that Source Control is incorporated, it’s Subversion based and the Project asks to Create git repository. The .DS_Store (Desktop Service Store) is used to store display options for folders.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s