Mobile
   Software
Engineering
  L05 - iOS

            Mohammad Shaker
     FIT of Damascus - AI dept.
MohammadShakerGtr@gmail.com
       Mobile SE – August 2012
iOS frameworks
•   Address Book UI Framework
•   Event Kit UI Framework
•   Game Kit Framework
•   iAd Framework
•   Map Kit Framework
•   Message UI Framework
•   UIKit Framework
•   ...
MVC
iOS Dev Center
https://developer.apple.com/devcenter/ios/
C
printf
Data Structure
•   pointers
•   Struct
•   Enum
•   arrays
Objective-C
Data Types
BOOL
id
nil
...
Foundation Data Types
•   NSInteger
•   NSPoint
•   NSRect
•   NSSize
•   NSUInteger
•   ...
.h, Define a class – interface
.m, Implementation
Instance Variables
Class Methods
+alloc;
Funcation Calls - Messages
Instance Methods
Messages
@property
@synthesize
Collections
•   NSArray
•   NSMutableArray
•   NSDictionary
•   NSMutableDictionary
•   NSSet
•   NSMutableSet
•   …

https://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/
Fast Enumeration
Localization
• Multi language
• Android, iPhone, iPad.
The iPad
Specs
• 1st generation                    • 1st generation
  1 GHz Apple A4                      256 MB DDR RAM
• 2nd generation                    • 2nd generation
  1 GHz Apple A5                      512 MB DDR2 RAM
• 3rd generation                    • 3rd generation
  1 GHz Apple A5X                     1 GB DDR2 RAM



http://en.wikipedia.org/wiki/IPad
Core Graphics
Core Graphics
 The bad way :D
Core Graphics
Xcode OpenGL template
Resolution
• iPhone, iPod touch
     320 x 480
• iPad
  – 1st & 2nd generation
    1024 × 768 px
  – 3rd generation
    2048×1536 px (Way better than your
    laptop)
Done,
Feel free to ask

Mobile Software Engineering Crash Course - C05 iOS Intro