MoMo  Ahmedabad – 8th Jan 2011  
iPhone Workshop
By: AshwinVairu, KuldeepKumpawat and 
ShaileshKanzariya
All trademarks ar...
About
InfoStretch
Elevating Confidence
INFOSTRETCH CORPORATION
(p) (408) 727-1100       |       (w) ww.infostretch.com    ...
Infrastructure
Infoneers
Organization
Extensive Platform Compatibility and Performance Test Labs
   2000+ Mobile Handset T...
iPhone Workshop Agenda
iPhone Workshop-Agenda
What is iPhone?
iPhone/iOS Technology Overview
Devices Running iOS
Types of iOS Applications
Agenda- Continue…
Development Tools
Overview Of Programming Language- Objective C
Managing Memory
What is AppStore? Make Y...
Agenda- Continue…
Lets Develop Your First iOS Application…
Its…. Easy….!!!
What is iPhone?
What is iPhone?
More Than Smartphone…!!
Flying Visit To iPhone Features
Unique User Interface
Picker
Switch
Pinch-In &...
What is iPhone?
Face-Time e.g. Video Calling
Notifications Keeps You Up-to-date
Ad Integration
Third Party Ad Integration
...
iOS Technology Overview
iOS Technology Overview
iOS Architecture- In Brief
iOS Layers
iOS SDK
Development Environment
iOS Reference Library
iOS Technology OverviewHow iOS & iOS App communicates…Its Simple..!!
iOS Technology OverviewiOS Layers
Cocoa Touch
UIKit Framework
Map Kit Framework
EventKitUI Framework
Media
Core Audio Fram...
iOS Technology OverviewiOS SDK
iOS Frameworks & APIs
Development Tools
Xcode IDE
Interface Builder
Instruments
API Doc...
iOS Technology OverviewiOS Development Environment
Only Works On Mac-based System
Again…!! Requires iOS SDK Installed
XCod...
iOS Technology OverviewiOS Reference Library
Everything At One Place…!!!
Devices Running iOS
Different Devices Running iOS
iPhone
3G
3GS
4G (Retina Display)
iPod Touch
2G
3G
4G (Retina Display)
iPad… Its Amazing…!!!...
Types Of Applications
Types Of iOS Applications
Native Apps
Navigation Based
Tab Based
Combo: Navigation, Tab and Modal
Web Apps
Maps (comes wit...
Development Tools
Development Tools
XCode – Main IDE
Development Tools
Interface Builder
Development Tools
iOS Simulator
Development Tools
Instruments
Development Tools
UICatalog Sample
Brief Introduction 
UI Controls
Picker
Switch
Button
Search Bar
Toolbar
Alerts etc…
Overview Of Programming Language- Objective C
Overview
Objective-C is an object oriented language.
Adds Smalltalk-style messaging to the C programming language
It is us...
Syntax
Objective-C is a thin layer on top of C, and moreover is a strict superset of C
Objective-C derives its object synt...
Syntax
Messages
     Interfaces and implementations
Interface
Implementation
Instantiation
Message 
The Objective-C model of object-oriented programming is based on message passing to object instances.
The target ...
Interfaces and Implementations
Interface
The interface of a class is usually defined in a header file
roughly equivalent t...
Implementation
Implementation (method) files normally have the file extension .m, which originally signified "message...
Instantiation
Object is instantiated by first allocating the memory for a new object and then initializing.
Instantiation ...
Managing Memory
(C) - 2007 Copyright InfoStretch Corporation
Managing Memory
Basic Fundamentals
Memory Management Rules
Passing objects be...
(C) - 2007 Copyright InfoStretch Corporation
Basic Fundamentals
What is memory management?
“Managing the resources efficie...
(C) - 2007 Copyright InfoStretch Corporation
Memory Management Rules
You own any object you create.
You “create” an object...
(C) - 2007 Copyright InfoStretch Corporation
Memory Management Rules
You can take ownership of an object using retain meth...
(C) - 2007 Copyright InfoStretch Corporation
Passing Objects Between Methods
This is wrong
This is also wrong
41
(C) - 2007 Copyright InfoStretch Corporation
Passing Objects Between Methods
The right way
You can also do this
42
(C) - 2007 Copyright InfoStretch Corporation
Working with Properties
Property Declaration
Initializing the property variab...
(C) - 2007 Copyright InfoStretch Corporation
Working with Properties
Assign
No need to worry about Memory here. Just a poi...
(C) - 2007 Copyright InfoStretch Corporation
Deallocating Object
When object’s retain count drops to 0, its memory is recl...
Lets Go To AppStore
AppStore Overview
iTunes Connect
AppStore Overview
Apple Developer Program
Individual Account
Enterprise Account
Provisioning Portal
Device UDID
Developer ...
AppStore Overview
Submitting Your App To AppStore
Apple Human Interface Guidelines
Apple Review Documentation
Apple Review...
Lets Develop Your First iOS ApplicationIts ….Easy..!!
Questions?
INFOSTRETCH CORPORATION
(p) (408) 727-1100       |       (w) ww.infostretch.com       |      presenter: Nick Pa...
Upcoming SlideShare
Loading in …5
×

iPhone Workshop Mobile Monday Ahmedabad

1,703 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,703
On SlideShare
0
From Embeds
0
Number of Embeds
69
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

iPhone Workshop Mobile Monday Ahmedabad

  1. 1. MoMo Ahmedabad – 8th Jan 2011 iPhone Workshop By: AshwinVairu, KuldeepKumpawat and ShaileshKanzariya All trademarks are the property of their respective owners.©2004-2010 InfoStretch Corporation. All rights reserved.
  2. 2. About InfoStretch Elevating Confidence INFOSTRETCH CORPORATION (p) (408) 727-1100 | (w) ww.infostretch.com | presenter: Nick Parmar
  3. 3. Infrastructure Infoneers Organization Extensive Platform Compatibility and Performance Test Labs 2000+ Mobile Handset Test Lab ISO 9000-2001 Certified Dynamic Team of 220+ Engineers Industry Expertise in Finance, Retail, Mobile and Healthcare Active contributor in online mobile and Testing Communities HQ in Silicon Valley Offices in New York, Seattle & India 90+ Clients and 140+ Projects Partners INFOSTRETCH CORPORATION (p) (408) 727-1100 | (w) ww.infostretch.com | presenter: Nick Parmar
  4. 4. iPhone Workshop Agenda
  5. 5. iPhone Workshop-Agenda What is iPhone? iPhone/iOS Technology Overview Devices Running iOS Types of iOS Applications
  6. 6. Agenda- Continue… Development Tools Overview Of Programming Language- Objective C Managing Memory What is AppStore? Make Your App Available On AppStore
  7. 7. Agenda- Continue… Lets Develop Your First iOS Application… Its…. Easy….!!!
  8. 8. What is iPhone?
  9. 9. What is iPhone? More Than Smartphone…!! Flying Visit To iPhone Features Unique User Interface Picker Switch Pinch-In & Pinch-Out e.g. Map Navigation & Tab And now… Retina Display in 4G Multi-Touch Facility
  10. 10. What is iPhone? Face-Time e.g. Video Calling Notifications Keeps You Up-to-date Ad Integration Third Party Ad Integration Integrated Locations Services Accelerometer Game Center e.g. Multiplayer game All on iOS Operating System…
  11. 11. iOS Technology Overview
  12. 12. iOS Technology Overview iOS Architecture- In Brief iOS Layers iOS SDK Development Environment iOS Reference Library
  13. 13. iOS Technology OverviewHow iOS & iOS App communicates…Its Simple..!!
  14. 14. iOS Technology OverviewiOS Layers Cocoa Touch UIKit Framework Map Kit Framework EventKitUI Framework Media Core Audio Framework Core Graphics Framework Core MIDI Framework Core Services Core Data Framework CFNetwork Framework Core Location Core OS Security Framework External Accessory Framework
  15. 15. iOS Technology OverviewiOS SDK iOS Frameworks & APIs Development Tools Xcode IDE Interface Builder Instruments API Documentation iOS Simulator
  16. 16. iOS Technology OverviewiOS Development Environment Only Works On Mac-based System Again…!! Requires iOS SDK Installed XCode Interface Builder Instruments iOS Simulator Available Few Cross-Platform Tools…!! E.g. Appcelator
  17. 17. iOS Technology OverviewiOS Reference Library Everything At One Place…!!!
  18. 18. Devices Running iOS
  19. 19. Different Devices Running iOS iPhone 3G 3GS 4G (Retina Display) iPod Touch 2G 3G 4G (Retina Display) iPad… Its Amazing…!!! iOS 3.2
  20. 20. Types Of Applications
  21. 21. Types Of iOS Applications Native Apps Navigation Based Tab Based Combo: Navigation, Tab and Modal Web Apps Maps (comes with device) Dash Code – Tool For WebApps Utilize Power Of HTML & JavaScript Games…Be Addicted..!!!
  22. 22. Development Tools
  23. 23. Development Tools XCode – Main IDE
  24. 24. Development Tools Interface Builder
  25. 25. Development Tools iOS Simulator
  26. 26. Development Tools Instruments
  27. 27. Development Tools UICatalog Sample Brief Introduction UI Controls Picker Switch Button Search Bar Toolbar Alerts etc…
  28. 28. Overview Of Programming Language- Objective C
  29. 29. Overview Objective-C is an object oriented language. Adds Smalltalk-style messaging to the C programming language It is used primarily on Apple's Mac OS X and iOS Primary language used for Apple's Cocoa API Flexible almost everything is done at runtime. Dynamic Binding Dynamic Typing Dynamic Linking
  30. 30. Syntax Objective-C is a thin layer on top of C, and moreover is a strict superset of C Objective-C derives its object syntax from Smalltalk All of the syntax for non-object-oriented operations are identical to that of C Syntax for object-oriented features is an implementation of Smalltalk-style messaging
  31. 31. Syntax Messages Interfaces and implementations Interface Implementation Instantiation
  32. 32. Message The Objective-C model of object-oriented programming is based on message passing to object instances. The target of a message is resolved at runtime, with the receiving object itself interpreting the message. C/C++ obj->method(argument); Objective C [obj method: argument];
  33. 33. Interfaces and Implementations Interface The interface of a class is usually defined in a header file roughly equivalent to the following C++ interface:
  34. 34. Implementation Implementation (method) files normally have the file extension .m, which originally signified "messages”
  35. 35. Instantiation Object is instantiated by first allocating the memory for a new object and then initializing. Instantiation with default initializer or you can use Instantiation with Custom initializer
  36. 36. Managing Memory
  37. 37. (C) - 2007 Copyright InfoStretch Corporation Managing Memory Basic Fundamentals Memory Management Rules Passing objects between Methods Working with Properties Deallocating Object Leaks and Static Analyzer Questions? 37
  38. 38. (C) - 2007 Copyright InfoStretch Corporation Basic Fundamentals What is memory management? “Managing the resources efficiently and effectively”. Memory management in other languages. In C,C++ we have malloc, calloc and free. In other object oriented languages we have Garbage Collectors. So what is there in Objective C? “Retain Count” No need to worry about Primitive Data Types 38
  39. 39. (C) - 2007 Copyright InfoStretch Corporation Memory Management Rules You own any object you create. You “create” an object using a method whose name begins with “alloc” or “new” or contains “copy”. e.g. Alloc e.g. Copy 39
  40. 40. (C) - 2007 Copyright InfoStretch Corporation Memory Management Rules You can take ownership of an object using retain method. You must relinquish ownership of objects you own when you’re finished with them. You relinquish ownership of an object by sending it a release message or an autorelease message. You must not relinquish ownership of an object you do not own. 40
  41. 41. (C) - 2007 Copyright InfoStretch Corporation Passing Objects Between Methods This is wrong This is also wrong 41
  42. 42. (C) - 2007 Copyright InfoStretch Corporation Passing Objects Between Methods The right way You can also do this 42
  43. 43. (C) - 2007 Copyright InfoStretch Corporation Working with Properties Property Declaration Initializing the property variables Retain 43
  44. 44. (C) - 2007 Copyright InfoStretch Corporation Working with Properties Assign No need to worry about Memory here. Just a pointer to the object is assigned to variable. Copy 44
  45. 45. (C) - 2007 Copyright InfoStretch Corporation Deallocating Object When object’s retain count drops to 0, its memory is reclaimed—in Cocoa terminology it is “freed” or “deallocated.” Os does this calling the “dealloc” method. e.g. You should never invoke another object’s dealloc method directly. 45
  46. 46. Lets Go To AppStore
  47. 47. AppStore Overview iTunes Connect
  48. 48. AppStore Overview Apple Developer Program Individual Account Enterprise Account Provisioning Portal Device UDID Developer Certificate Provisioning Profile iTunes Connect
  49. 49. AppStore Overview Submitting Your App To AppStore Apple Human Interface Guidelines Apple Review Documentation Apple Review Process World Wide Stores Think…! Before Using Third Party APIs/Libs Be Ready..!!
  50. 50. Lets Develop Your First iOS ApplicationIts ….Easy..!!
  51. 51. Questions? INFOSTRETCH CORPORATION (p) (408) 727-1100 | (w) ww.infostretch.com | presenter: Nick Parmar

×