Introduction to iOS 7

iOS 7 is the new iOS version announced by Apple in 2013. It will be shipped with iPhone 5c and 5s. It was available for download on September 18th 2013.

iOS 7 completely changed the face of iOS by bringing major UI modifications and revamping the way the new iOS looks. There were a lot of features (mostly for design and animations) introduced for developers to make their apps look more compatible with iOS 7 design. It also brought in new animation system for creating 2D and 2.5D games which makes us spend less time on building cool animations in relatively shorter time frame.

Other major enhancements are for multitasking and peer-to-peer connectivity which helps developers integrate advanced features in their apps. Apple also integrated iTunes Radio and AirDrop into the new iOS which makes the device more attractive to use than any other device available in market during its release.

Entire iOS7 is based on simple and flat design for better user experience. Apple has completely overhauled its design but its so much easy to get used to and love the new design. You can say its a complete facelift which was well awaited by a lot of users – Visually everything has changed. Starting from lock screen, its pretty elegant and clean. The Lock screen is so much smoother – which is true for all the animations.

The top swipe is for a clean and useful notification center which is divided into three tabs – “Today, All and Missed”. The Bottom swipe is Control center which is pretty new to iOS. This is what most of iOS users have longed for – It helps to toggle various settings pretty easily and quickly like AirPlane mode, Wifi and others. Airdrop is something new that has been introduced here which lets you share things among other AirDrop users. A bunch of most used apps have been integrated here which include the Torch, Clock, Calculator and the Camera app.

Every stock item has been updated, flattened and given a cleaner look. The new color palette – they are vibrant, vivid and shades of neon and pretty translucent. The wallpapers are given a 3d effect – when you move your phone the background moves in opposite direction giving an impression that icons are moving. Folders have changed from having 16 icons to have 9 at one time but are paginated. Spotlight search has been removed from the first screen and now you can just pull down on the home screen to get the search. Its pretty difficult to get to since we are not used to it. But using it more often will get you used to it and see why its been build here.

Siri also have changed to look pretty nice and clean. Camera app has more options and has swipe to change options. Most of the stock apps have been modified to make them look and blend into the new design. Overall – the new redesign in iOS7 is pretty awesome and makes user experience the best.

2013-09-12 16.14.32 2013-09-12 16.15.11 2013-09-12 16.16.15 2013-09-12 16.16.36 2013-09-12 16.16.18 2013-09-12 16.16.29

iOS Training Chapter 1

Why iOS Programming

  • Apple release first iPhone in 2007 and since then been upgrading it and making it better and better.
  • The user experience on an iOS device is way better than any other device currently available.
  • Apple released an iOS tablet also called as iPad in 2010 and been improving the device year after year.
  • Currently we have millions of users on these iOS devices also not to forget iPod Touch.
  • The sale of these devices have exceeded those of Computer.
  • These portable devices are being used so frequently and various organizations have targeted their resources to give their customers a better experience of the products they offer by making apps and mobile websites.
  • Computers are becoming obsolete and these handheld devices are becoming more popular with so many apps and so many features that a computer can’t offer
  • Since Apple made their SDK available for developers to build apps – these apps are being produced by each and every developer all over the world.
  • Every Organization wants its available Products to be available as an app or as a website on these devices. They are paying top dollar to get this done.
  • Lot of Frameworks created by Apple to make sure Developers can easily adapt to this technology and build Products quickly and efficiently.
  • There are millions of API’s available and Frameworks created by other organizations to make sure developers can take advantage of this and make money for both.

iOS Tools Introduction

  • Objective-C
    • This is the programming language used to code most of the applications. This is what we would need to know before we start.
    • Objective-C is used extensively through this training and I would strongly suggest you to learn this before we start. You can check some available on Youtube.
  • XCode – Interface Builder
    • XCode is the IDE used to write all the code.
    • It is also used to test the applications – Build the code, Compile the code and Run the Application.
    • Interface Builder(IB) is used an Drag – and – Drop utility available along with XCode to create applications faster.
    • IB lets you create your views for various screens on your application in a quick and efficient manner.
  • iOS Simulator
    • Incase you don’t have a device – You can always use iOS Simulator to test you applications.
    • I would strongly recommend you to use this in the start and then when you are ready with your initial prototype test the app on a real device.
    • I have noticed that iOS Simulator is very forgiving and can sometimes overlook some issues. So its always better to test your apps on a device.
    • But Again its a pretty good starting point – Also note it might not have all the capabilities of a real device like Gyroscope, Camera, GPS and some others.
  • Performance Tools- Instruments
    • Finally, to test the performance of your Application – there is something called as Instruments available to you.
    • You can test various things like – Memory Allocations, Memory Leaks, CPU Utilization, and others which we will do in more details later.
    • It comes packaged with XCode so when you install XCode it should already be installed.
    • Please check the Mac AppStore to get your copy of XCode if not already installed on your Macbook.

iOS Training Index

What we will cover in next few weeks:

Chapter 1:

  • Why iOS Programming
  • iOS Tools Introduction
    • Objective-C
    • XCode – Interface Builder
    • iOS Simulator
    • Performance Tools- Instruments

Chapter 2:

  • Making a simple iOS Application using IB Tools
  • Basic Interaction between objects
    • Outlets
    • Actions
  • More Controls (Commonly Used)
    • ImageView
    • TextFields
    • Switches
    • Buttons
    • Segmented Controls
    • WebViews
    • Alerts
    • Action Sheet

Chapter 3:

  • Multiview Applications
    • UITabBarController – Intro
    • UINavigationController – Intro
    • UITableViewController – Intro

Chapter 4:

  • Code above elements in obj-C
Chapter 5:
  • Memory Management
    • alloc and release
    • ARC (Automatic Reference Counting)
    • NSAutoreleasePool
    • NSZombie

Chapter 6:

  • Advanced TabBarController
  • UINavigationControllers and UITableViews
  • UITableView Custom Cells

Chapter 7:

  • MapView
    • User Location
    • Annotations
    • Custom Annotation
    • Overlays
  • Core Location
    • Reverse GeoCoding
    • Forward GeoCoding
Chapter 8:
  • UIPickers
  • iOS Camera  - UIImagePicker
Chapter 9:
  • Using Frameworks for Social Networking and Ads
    • Email
    • SMS
    • Facebook
    • Twitter
    • iAd
    • Admob – Google

Chapter 10:

  • Interaction with web services and displaying data.
    • Using XML
    • Using JSON

Chapter 11:

  • Saving Data
    • NSUserDefaults
    • Files
    • Plist
    • NSArchive
Chapter 12:
  • Saving Data (Advanced)
    • SQLite3
    • Core Data

Chapter 13:

  • Categories
  • Multithreading
  • Blocks
  • GCD – Blocks
Chapter 14:
  • Storyboards

Chapter 15:

  • Custom Protocols
  • NSNotification
Chapter 16:
  • GITHUB Connection
  • Submit To Appstore
  • Update App on Appstore

Chapter 17:

  • Unit Testing

Chapter 18:

  • In App Purchases

Chapter 19:

  • Push Notifications (using Urban Airship)

Chapter 20:

  • Game Center

Chapter 21:

  • Network  Connectivity
    • Bluetooth
    • Wifi

Chapter 22:

  • Performance Tools

ClassicMap brings most features of Google Maps back to the iPhone

Owners of the iPhone 5 have been complaining a lot recently that their new purchase does not contain Google Maps. The replacement, Apple’s own Maps app, has not lived up to expectations and is causing widespread disappointment. However, there is now a new way in which users can have their old Google Maps back, although it is without some key features. ClassicMap brings users the map as a native app, which has a lot of missing features but will still feel comfortable to those who are used to using Google Maps.

ClassicMap looks and feels like the Maps app, which was created by Apple for version iOS 5 and before. It is likely that many people will recognise it, from those of us who use Google Maps regularly when visiting friends’ houses, to other foxy bingo fans who use them to find their local bingo hall and play the game in person. It allows users to check addresses in the same way as before, as well as letting them explore the world. Users can drop a pin in the map wherever they want to and it also has the facility of being able to switch between the classic map and the satellite view.

However, these are the only similarities that ClassicMap has to the much-loved version of Google Maps. The app does not allow people to look up locations by typing in names, a feature that is very useful for Google Map users. It also does not offer directions, meaning that users would have to find their own way to a place on the map. However, this app is free to use and the hope is that it will soon see some big updates to bring it up to scratch. It could therefore be one to watch more in the not too distant future, rather than to start using right now.

Diamonds & Diamonds

The game demonstrates a couple of movable pieces and a few diamonds. The aim of this game is to get all the diamonds and move on to the next level. Every level is created in such a way that it gets more and more challenging.

The red ball bounces around the walls in the direction indicated by the player by pressing the green arrow keys. You can only move left, right, down and up. Diagonal moves are not permitted.

The Green block can be used as a piece of wall that is controlled by player. The player can either use the red ball or the green block by using the Switch Piece button. In the initial stages the green block is not used, but as and when the levels become more challenging, it is impossible to complete the level without using the green block.

You can switch between levels using the Level Up and Level Down buttons. Also you can restart the game any time you want using the restart buttons (Specially when you are stuck).

There is no score system in the game – the only aim of this game is to finish it in as less moves as possible. Check the bottom of the game screen to track your Move Count. Also it displays Current Object used, Diamonds remaining and Current Level.

Download it here – http://bit.ly/qwPBjM
 

Diamonds

HyperPublic’s rich local data API

Recently I was working on an application “Would You Me” – This application was built as a survey app and turned out to be a pretty big hit. Our servers went down only after a week of release – which we didn’t anticipate. We went back to the drawing board.

This time we came out with something much more stronger and we thought why not add some deals to it. Thats when I started looking at Groupon Deals API. Its pretty good and works pretty well – also attracted a few more people to our recently uploaded 2.0 version.

Just yesterday I came across an article on TechCrunch about HyperPublic. It sounded awesome – I went inside made an app out of it and its available with code on GITHUB. What this API does is it provides you with rich local data and also local deals. I found it very useful and very easy to implement. You can filter places or offers on a bunch of different levels. I just threw out something at it and it turned out pretty strong and very efficient. Check it out.

iPhone/iPad Tutorial & Lesson 28: NSKeyedArchiver & NSKeyedUnArchiver

NSKeyedArchiver provides a way to encode objects into an architecture-independent format that can be stored in a file. When you archive a set of objects, the class information and instance variables for each object are written to the archive. On the flip side NSKeyedUnArchiver does exactly the opposite.

In this video I have explained the basics of how it works.