iPhone Application Development
Jun 13, 2015
iPhone Application Development
Objective C
● was originally developed in the early 1980s
● primary programming language you use when writing software for OS X
and iOS.
● used by Apple for the OS X and iOS operating systems
● respective application programming interfaces (APIs), Cocoa and Cocoa
Touch
Get the Tools
XCODE
● Xcode is Apple’s integrated development environment (IDE)
● includes a source editor, a graphical user interface editor, and many other
features
● iOS SDK extends the Xcode toolset to include the tools, compilers, and
frameworks you need specifically for iOS development
● You need OS X version 10.8 to download Xcode
● The iOS SDK is included with Xcode.
Cocoa Touch● a UI framework framework by Apple● Used for building software programs to run on the iOS operating system
(for the iPhone, iPod Touch, and iPad).● It follows a Model-View-Controller(MVC) software architecture.
Main features1. Core Animation2. Multitasking3. Gesture Recognizers
● iOS technologies can be seen as a set of layers, with Cocoa Touch at the
highest level and the Core OS and iOS kernel at the bottom.
● A hierarchical view of the iOS technologies can be shown as follows:
1. Cocoa Touch
2. Media / Application Services
3. Core Services
4. Core OS / iOS kernel
count….(Cocoa Touch in relation to other iOS layers)
Instruments
● Track down difficult-to-reproduce problems in your code
● Do performance analysis on your app
● Automate testing of your app
● Stress-test parts of your app
● Perform general system-level troubleshooting
● Gain a deeper understanding of how your app works.
● Gather data about your app’s memory usage, disk activity, network activity,
and graphics performance among others.
User InterfaceUIKit.
● The UIKit framework provides classes to create a touch-based user interface. ● All iOS apps are based on UIKit.
Core Graphics. ● A low-level, C-based framework. ● Of course, the simplest and most efficient way to create graphics in iOS is to use prerendered
images with the standard views and controls of the UIKit framework, letting iOS do the drawing.
Core Animation. ● Allows you to make advanced animations and visual effects. ● UIKit provides animations that are built on top of the Core Animation technology. ● If you need advanced animations beyond the capabilities of UIKit, you can use Core Animation
directly.
Data
Core Data. ● The Core Data framework manages an app’s data model. ● With Core Data, you create model objects, known as managed objects. ● Core Data takes advantage of the built-in SQLite technology to store and manage data
efficiently.
Foundation. ● The Foundation framework defines a base layer of Objective-C classes. ● This framework introduces several paradigms that define behaviors not covered by the
Objective-C language. ● Among other things, this framework includes classes representing basic data types, such as
strings and numbers, and collection classes for storing other objects.
Socket Programming
Socket Programming
Socket and stream programming generally falls into one of the following broad categories:
● Packet-based communication — Programs that operate on one packet at a time, listening for incoming packets, then sending packets in reply.
● Stream-based clients — Programs that use TCP to send and receive data as two continuous streams of bytes, one in each direction.
Socket Types● UDP (User Datagram Protocol)● TCP (Transmission Control Protocol)
Socket Programming
Choosing an API Family
POSIX C networking APIs● Use POSIX calls if cross-platform portability is required.● is discouraged because it does not activate the cellular radio or on-demand VPN
Foundation Objective-C networking APIs● For client code in Objective-C.● Foundation defines high-level classes for managing URL connections, socket streams, network
services, and other networking tasks. ● It is also the primary non-UI Objective-C framework in OS X and iOS, providing routines for run
loops, string handling, collection objects, file access, and so on.
Socket ProgrammingCore Foundation C networking APIs
● For client code in C● The Core Foundation framework and the CFNetwork framework are two of the primary C-
language frameworks in OS X and iOS. ● Together they define the functions and structures upon which the Foundation networking
classes are built.
In OS X● CFNetwork is a sub framework of the Core Services framework.
In iOS● CFNetwork is a top-level framework.
Submit an iOS App to the App Store
http://code.tutsplus.com/tutorials/how-to-submit-an-ios-app-to-the-app-store--mobile-16812
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/SubmittingYourApp/SubmittingYourApp.html
Reference● https://developer.apple.com● http://en.wikipedia.org/wiki/Objective-C● https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingTopics/
Articles/UsingSocketsandSocketStreams.html● http://oreilly.com/iphone/excerpts/iphone-sdk/network-programming.html
Thank you
.....any Questions.?