5- ios doc

Upload: sudhakar-reddy

Post on 06-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 5- iOS DOC

    1/30

    6

    Apple iOS Technical SeminarReport

    Abstract:iOS (known as iPhone OS prior to June 2010) is Apple's mobile operating system.

    Originally developed for the iPhone, it has since been extended to support other Apple devices

    such as the iPod touch, iPad and Apple TV. Apple does not license iOS for installation on third-

    party hardware. The user interface of iOS is based on the concept of direct manipulation,

    using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons.

    The response to user input is immediate and provides a fluid interface. Interaction with the OS

    includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific

    definitions within the context of the iOS operating system and its multitouch interface.

    Internal accelerometers are used by some applications to respond to shaking the device (one

    common result is the undo command) or rotating it in three dimensions (one common result is

    switching from portrait to landscape mode).

    iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is

    therefore a Unix-like operating system by nature.

    In this, history, overview, all the features that are introduced by iOS, its architecture, its

    technology layers are explained. All the devices that are using iOS currently are listed together.

    The Objective C, the coding language used in developing the iOS application is

    briefed. A sample application that displays a string on clicking or taping a button.

  • 8/2/2019 5- iOS DOC

    2/30

    6

    Apple iOS Technical SeminarReport

    History Of iOS:The operating system was unveiled with the iPhone at the Macworld Conference &

    Expo on January 9, 2007, and released in June of that year. At first, Apple marketing literature

    did not specify a separate name for the operating system, stating simply that the "iPhone runs

    OS X". Initially, third-party applications were not supported. Steve Jobs argued that developers

    could build web applications that "would behave like native apps on the iPhone". On October

    17, 2007, Apple announced that a native SDK was under development and that they planned

    to put it "in developers' hands in February". On March 6, 2008, Apple released the first beta,

    along with a new name for the operating system: "iPhone OS".

    Coming to version history, the first iOS was with a name iPhone OS released in June 29,

    2007 and with four major releases in July 11, 2008, June 17, 2009 and the last major version

    iOS 4 was released in June 21, 2010. The last minor release was iOS 4.3 beta on February 1,

    2011. The version ranges from iPhone 1.0.0 to 4.3.3, in total 34 releases including four major

    releases in three years.

  • 8/2/2019 5- iOS DOC

    3/30

    6

    Apple iOS Technical SeminarReport

    Overview Of iOS:iOS comprises the operating system and technologies that you use to run applications

    natively on devices, such as iPad, iPhone, and iPod touch. Although it shares a common

    heritage and many underlying technologies with Mac OS X, iOS was designed to meet the

    needs of a mobile environment, where users needs are slightly different. If you have

    previously developed applications for Mac OS X, you will find many familiar technologies, but

    youll also find technologies that are available only on iOS, such as the Multi-Touch interface

    and accelerometer support. As said earlier Apple on request released the iOS SDK. The iOS

    SDK contains the code, information, and tools you need to develop, test, run, debug, and tune

    applications for iOS. The Xcode tools provide the basic editing, compilation, and debugging

    environment for your code. Xcode also provides the launching point for testing your

    applications on an iOS device, and in iOS Simulatora platform that mimics the basic iOS

    environment but runs on your local Macintosh computer.

  • 8/2/2019 5- iOS DOC

    4/30

    6

    Apple iOS Technical SeminarReport

    Features of iOS (introduced by iOS):Mainly the iOS introduced many new features at its first release. Later it improved the

    features that it introduced. The list of main features introduced by iOS is

    Accelerometer.

    Gesture Reorganization.

    Multi Touch Interface.

    Later it also introduced features like retina display, mult i touch gesturereorganization, grouping the similar applications and many more.

    1. Accelerometer: The accelerometers in iOS provide valuable input for thesystem and for your own custom applications. An accelerometer measures changes in

    velocity along every single linear axis. iOS uses three accelerometers to measure

    changes along each of the primary axes in three-dimensional space, allowing you to

    detect motion in any direction.

  • 8/2/2019 5- iOS DOC

    5/30

    6

    Apple iOS Technical SeminarReport

    2. Gesture Reorganization: The iOS recognizes some of the general gestures ofhuman being and use them as input for the applications and perform respective

    actions. Below are some examples showing the gestures usage.

    Swiping gesture:

    Taping gesture:

  • 8/2/2019 5- iOS DOC

    6/30

    6

    Apple iOS Technical SeminarReport

    3. Multi-Touch Screen: The most important and significant feature of iOS is multitouch screen. This is performed by creating virtual points of references at the co-

    ordinates where the screen is touched and then acts accordingly. The below picture

    shows the virtual point creation.

    4. Pinching and reverse pinching: Pinching and reverse pinching, this areimplemented by the multi touch concept which is explained above. Below shows

    what exactly pinching and reverse pinching means. In the example, pinching and

    reverse pinching are used to zoom and unzoom a picture.

    Pinching:

  • 8/2/2019 5- iOS DOC

    7/30

    6

    Apple iOS Technical SeminarReport

    Reverse pinching:

    iOS Technology Layers:The iOS architecture is similar to the basic architecture found in Mac OS X. At the highest

    level, iOS acts as an intermediary between the underlying hardware and the applications that

    appear on the screen, as shown in Figure below. The applications you create rarely talk to the

    underlying hardware directly. Instead, applications communicate with the hardware through a

    set of well-defined system interfaces that protect your application from hardware changes. This

    abstraction makes it easy to write applications that work consistently on devices with different

    hardware capabilities.

  • 8/2/2019 5- iOS DOC

    8/30

    6

    Apple iOS Technical SeminarReport

    The implementation of iOS technologies can be viewed as a set of layers, which are

    shown in Figure below. At the lower layers of the system are the fundamental services and

    technologies on which all applications rely; higher-level layers contain more sophisticatedservices and technologies.

    As you write your code, you should prefer the use of higher-level frameworks over lower-

    level frameworks whenever possible. The higher-level frameworks are there to provide object-

    oriented abstractions for lower-level constructs. These abstractions generally make it much

    easier to write code because they reduce the amount of code you have to write and

    encapsulate potentially complex features, such as sockets and threads. Although they abstract

    out lower-level technologies, they do not mask those technologies from you. The lower-level

    frameworks are still available for developers who prefer to use them or who want to use

    aspects of those frameworks that are not exposed by the higher layers.

    The technologies and frameworks for each layer are described in later chapters of this

    document.

  • 8/2/2019 5- iOS DOC

    9/30

    6

    Apple iOS Technical SeminarReport

    Cocoa Touch:The Cocoa Touch layer contains the key frameworks for building iOS applications. This

    layer defines the basic application infrastructure and support for key technologies such as

    multitasking, touch-based input, push notifications, and many high-level system services. When

    designing your applications, you should investigate the technologies in this layer first to see if

    they meet your needs.

    The key technologies are:

    Multitasking: Applications built using iOS SDK 4.0 or later (and running in iOS4.0 and later) are not terminated when the user presses the Home button; instead,

    they shift to a background execution context. The multitasking support defined by

    UIKit helps your application transition to and from the background state smoothly

    Printing: Introduced in iOS 4.2, the UIKit printing support allows applications tosend content wirelessly to nearby printers. For the most part, UIKit does all of the

    heavy lifting associated with printing. It manages the printing interfaces, works with

    your application to render the printable content, and handles the scheduling and

    execution of print jobs on the printer.

    Data Protection: Introduced in iOS 4.0, data protection allows applicationsthat work with sensitive user data to take advantage of the built-in encryption

    available on some devices. When your application designates a specific file as

    protected, the system stores that file on-disk in an encrypted format. While the device

    is locked, the contents of the file are inaccessible to both your application and to any

    potential intruders. However, when the device is unlocked by the user, a decryption

    key is created to allow your application to access the file.

    Apple Push Notif ication Service: Introduced in iOS 3.0, the Apple PushNotification Service provides a way to alert users of new information, even when your

    application is not actively running. Using this service, you can push text notifications,

  • 8/2/2019 5- iOS DOC

    10/30

    6

    Apple iOS Technical SeminarReport

    add a badge to your application icon, or trigger audible alerts on user devices at any

    time. These messages let users know that they should open your application to

    receive the related information.

    Local Notifications: Introduced in iOS 4.0, local notifications complement theexisting push notification mechanism by giving applications an avenue for generating

    the notifications locally instead of relying on an external server. Applications running in

    the background can use local notifications as a way to get a users attention when

    important events happen.

    Gesture Recognizers: Introduced in iOS 3.2, gesture recognizers are objectsthat you attach to views and use to detect common types of gestures such as

    Tapping (any number of taps)

    Pinching in and out (for zooming)

    Panning or dragging

    Swiping (in any direction)

    Rotating (fingers moving in opposite directions)

    Long presses

    The main frameworks and services they offer are:

    Address Book UI F ramework: The Address Book UI framework(AddressBookUI.framework) is an Objective-C programming interface that you use to

    display standard system interfaces for creating new contacts and for editing and

    selecting existing contacts.

  • 8/2/2019 5- iOS DOC

    11/30

    6

    Apple iOS Technical SeminarReport

    Event Kit UI Framework: Introduced in iOS 4.0, the Event Kit UI framework(EventKitUI.framework) provides view controllers for presenting the standard system

    interfaces for viewing and editing calendar-related events.

    Game Kit Framework: Introduced in iOS 3.0, the Game Kit framework(GameKit.framework) lets you add peer-to-peer network capabilities to your

    applications. Specifically, this framework provides support for peer-to-peer connectivity

    and in-game voice features.

    iAd Framework: Introduced in iOS 4.0, the iAd framework (iAd.framework) letsyou deliver banner-based advertisements from your application.

    Map K it Framework: Introduced in iOS 3.0, the Map Kit framework(MapKit.framework) provides a scrollable map interface that you can integrate into

    your existing view hierarchies.

    Message UI Framework: Introduced in iOS 3.0, the Message UI framework(MessageUI.framework) provides support for composing and queuing email messages

    in the users outbox.

    UIKit Framework: The UIKit framework (UIKit.framework) provides the keyinfrastructure for implementing graphical, event-driven applications in iOS. Every iOS

    application uses this framework to implement the following core features like UI

    management, application management, multitasking support, support for handling

    touch and motion based events and many more.

    In addition to providing the fundamental code for building your application, UIKit also

    incorporates support for some device-specific features, such as the following:

    Accelerometer data

    The built-in camera (where present)

    The users photo library

  • 8/2/2019 5- iOS DOC

    12/30

    6

    Apple iOS Technical SeminarReport

    Device name and model information

    Battery state information

    Proximity sensor information

    Remote-control information from attached headsets

    Media Layer:The Media layer contains the graphics, audio, and video technologies geared toward

    creating the best multimedia experience available on a mobile device. The technologies in this

    layer were designed to make it easy for you to build applications that look and sound great.

    The main technologies it offers are:

    Graphics Technologies: High-quality graphics are an important part of all iOSapplications. The following technologies are offered when you need to go beyond the

    simple graphics

    Core Graphics (also known as Quartz) handles native 2D vector- and image-based rendering.

    Core Animation (part of the Quartz Core framework) provides advanced supportfor animating views and other content.

    OpenGL ES provides support for 2D and 3D rendering using hardware-accelerated interfaces.

    Core Text provides a sophisticated text layout and rendering engine.

    Image I/O provides interfaces for reading and writing most image formats.

    The Assets Library framework provides access to the photos and videos in the

    users photo library.

    Audio Technologies: The audio technologies available in iOS are designed tohelp you provide a rich audio experience for your users. This experience includes the

    ability to play high-quality audio, record high-quality audio, and trigger the vibration

  • 8/2/2019 5- iOS DOC

    13/30

    6

    Apple iOS Technical SeminarReport

    feature on certain devices. Due to these technologies a wide range of audio formats

    are supported by iOS devices.

    Video Technologies: Whether you are playing movie files from yourapplication or streaming them from the network, iOS provides several technologies to

    play your video-based content. On devices with the appropriate video hardware, you

    can also use these technologies to capture video and incorporate it into your

    application. Due to the video technologies in this layer a verity of video formats are

    supported in all the iOS devices.

    This layer gives many Media Player Frameworks like:

    Assets Library Framework: Introduced in iOS 4.0, the Assets Libraryframework (AssetsLibrary.framework) provides a query-based interface for retrieving

    photos and videos from the users device.

    AV Foundation Framework: Introduced in iOS 2.2, the AV Foundationframework (AVFoundation.framework) contains Objective-C classes for playing audio

    content. In iOS 4.0 and later, the services offered by this framework were expanded

    to include:

    Media asset management

    Media editing

    Movie capture

    Movie playback

    Track management

    Metadata management for media items

    Stereophonic panning

    Precise synchronization between sounds

    Core Audio: Native support for audio is provided by the Core Audio family offrameworks.

  • 8/2/2019 5- iOS DOC

    14/30

    6

    Apple iOS Technical SeminarReport

    Core Graph ics Framework: The Core Graphics framework(CoreGraphics.framework) contains the interfaces for the Quartz 2D drawing API.

    Core MIDI Framework: Introduced in iOS 4.2, the Core MIDI framework(CoreMIDI.framework) provides a standard way to communicate with MIDI devices,

    including hardware keyboards and synthesizers.

    Core Text Framework: Introduced in iOS 3.2, the Core Text framework(CoreText.framework) contains a set of simple, high-performance C-based interfacesfor laying out text and handling fonts.

    Core Video Framework: Introduced in iOS 4.0, the Core Video framework(CoreVideo.framework) provides buffer and buffer pool support for the Core Mediaframework. Most applications never need to use this framework directly.

    Image I/O Framework: Introduced in iOS 4.0, the Image I/O framework(ImageIO.framework) provides interfaces for importing and exporting image data andimage metadata.

    Media Player Framework: The Media Player framework (MediaPlayer.framework)provides high-level support for playing audio and video content from your application.

    OpenAL Framework: The Open Audio Library (OpenAL) interface is a cross-platform standard for delivering positional audio in applications.

    OpenGL ES Framework: The OpenGL ES framework (OpenGLES.framework)provides tools for drawing 2D and 3D content.

    Quartz Core Framework: The Quartz Core framework(QuartzCore.framework ) contains the Core Animation interfaces.

    Core services Layer:The Core Services layer contains the fundamental system services that all applications

    use. Even if you do not use these services directly, many parts of the system are built on top of

    them.

    The main technologies it offers are:

    Block Objects: Introduced in iOS 4.0, block objects are a C-level languageconstruct that you can incorporate into your C and Objective-C code.

    In iOS, blocks are commonly used in the following scenarios:

  • 8/2/2019 5- iOS DOC

    15/30

    6

    Apple iOS Technical SeminarReport

    As a replacement for delegates and delegate methods

    As a replacement for callback functions

    To implement completion handlers for one-time operations

    To facilitate performing a task on all the items in a collection

    Together with dispatch queues, to perform asynchronous tasks

    Grand Central Dispatch: Introduced in iOS 4.0, Grand Central Dispatch(GCD) is a BSD-level technology that you use to manage the execution of tasks in your

    application. GCD combines an asynchronous programming model with a highly

    optimized core to provide a convenient (and more efficient) alternative to threading.

    SQLite: TheSQLite library lets you embed a lightweight SQL database into yourapplication without running a separate remote database server process. XML Support: The Foundation framework provides the NSXMLParser classfor retrieving elements from an XML document. Additional support for manipulating

    XML content is provided by the libXML2 library.

    The main Frameworks it offers are:

    Address Book Fr amewor k: The Address Book framework(AddressBook.framework) provides programmatic access to the contacts stored on a

    users device.

    CFNetwork Framework: The CFNetwork framework (CFNetwork.framework) isa set of high-performance C-based interfaces that use object-oriented abstractions for

    working with network protocols.

    Core Data Framework: Introduced in iOS 3.0, the Core Data framework(CoreData.framework) is a technology for managing the data model of a Model-View-

    Controller application.

  • 8/2/2019 5- iOS DOC

    16/30

    6

    Apple iOS Technical SeminarReport

    Core Foundat ion Framework: The Core Foundation framework(CoreFoundation.framework) is a set of C-based interfaces that provide basic data

    management and service features for iOS applications.

    Core OS Layer:The Core OS layer contains the low-level features that most other technologies are built

    upon. Even if you do not use these technologies directly in your applications, they are most

    likely being used by other frameworks. And in situations where you need to explicitly deal with

    security or communicating with an external hardware accessory, you do so using the

    frameworks in this layer.

    The Frameworks offered by this layer are:

    Accelerate Framework: Introduced in iOS 4.0, the Accelerate framework(Accelerate.framework) contains interfaces for performing math, big-number, and DSP

    calculations, among others.

    External Accessory Framework: Introduced in iOS 3.0, the External Accessory framework (ExternalAccessory.framework) provides support for

    communicating with hardware accessories attached to an iOS-based device.

    Security Framework: n addition to its built-in security features, iOS alsoprovides an explicit Security framework (Security.framework) that you can use to

    guarantee the security of the data your application manages.

    System: The system level encompasses the kernel environment, drivers, andlow-level UNIX interfaces of the `operating system. The kernel itself is based on Mach

    and is responsible for every aspect of the operating system.

  • 8/2/2019 5- iOS DOC

    17/30

    6

    Apple iOS Technical SeminarReport

    Current devices that use iOS:All the current devices that are using iOS are listed below

    iPhone iPhone, iPhone 3G, iPhone 3GS, iPhone 4G

    iPod Touch iPod 1st Generation, iPod 2nd Generation, iPod 3rd Generation,

    iPod4th Generation

    iPad iPad Wi-Fi and iPad Wi-Fi + 3G

  • 8/2/2019 5- iOS DOC

    18/30

    6

    Apple iOS Technical SeminarReport

    Development of applications for iOS platform:As already said, APPLE on demand, gave a SDK for application development on iPhone

    with a name iPhone OS. iPhone OS was renamed as iOS, as it was extended to all the apple

    devices which was previously limited to iPhone. The iOS applications can be complied only on a

    Macintosh computer. So all that you need to have are,

    Macintosh computer

    Xcode (similar to eclipse)

    iOS SDK

    Particular device simulator

    Basic Knowledge of Objective C.

    You can download SDK and Xcode a

    http://developer.apple.com/devcenter/ios/index.action#downloads but you need to

  • 8/2/2019 5- iOS DOC

    19/30

    6

    Apple iOS Technical SeminarReport

    be a registered apple developer to download these. If you are not a Macintosh computer user,

    you have a variety of solutions to solve this. The best among them is you can use AIRPLAY

    SDK, a plug-in for visual studios to run the iOS applications in other computers.

    Deployment of applications for iOS plat form:To deploy the applications you developed, first you can try the application on the

    particular device simulator. Xcode provides the launching point for testing your applications on

    an iOS device, and in iOS Simulatora platform that mimics the basic iOS environment but

    runs on your local Macintosh computer. Developer can create a certificate for the application

    development with the major and minor versions and the developers name, grouped together.

    Registered developers can release their applications into the commercial market.

  • 8/2/2019 5- iOS DOC

    20/30

    6

    Apple iOS Technical SeminarReport

    Objective C (a brief in troduction):Objective-C is an Object-Oriented programming language that adds a Smalltalk style of

    messaging to the C programming language. The syntax is a combination of original C syntax

    combined with Smalltalk message style even though in the newer versions some of thecommon syntax styles are included to make it easier for C developers to learn, use, and adapt

    the language.

    Like C, you have multiple files for the implementation of a class in Objective-C: a header

    file that includes the declaration and abstractions of the class with .h extension, and an

    implementation file with definitions and .m extension. In this part I focus on header files.

    The objective C is explained using an application named CrunchTime as below:

    The following code is the header file for the CalculationEngineclass in CrunchTime

    (sample application) named CalculationEngine.h.

    #import

    #import "StackManager.h"

  • 8/2/2019 5- iOS DOC

    21/30

    6

    Apple iOS Technical SeminarReport

    @interfaceComputationEngine: NSObject{

    StackManager *mgr;

    }

    // Initialize the stack

    -(id) init;// Calculate the result of an operation by getting the operands from the

    stack

    -(double) calculate: (NSString*) operator;

    // Push an operand to the stack

    -(void) pushOperand: (double) v;

    // Pop an operand from the stack

    -(double) popOperand;

    // Get a pointer for the stack

    -(NSArray*) getStack;

    // Get the current size of the stack

    -(int) getSize;

    // Check to see if stack is empty

    -(BOOL) isEmpty;// Check to see if stack is full

    -(BOOL) isFull;

    // Clear the stack

    -(void) clear;

    // Peek a value on stack

    -(double) peek;

    @end

    The parts of this class declaration are explained below:.

    References As you see, there are a couple of library imports from external sources using

    the importkeyword and the same syntax that you have in C or C++.

    #import

    #import "StackManager.h"

    Here Ive imported the Foundationlibrary available in Cocoa and the StackManagerclass

    written by one of my teammates for stack operations.

    InterfaceThere is an interface definition for the class starting with @interfaceand ending

    with @end.

    @interfaceComputationEngine : NSObject@end

  • 8/2/2019 5- iOS DOC

    22/30

    6

    Apple iOS Technical SeminarReport

    This specifies the superclass as NSObject, and can include the declarations of methods

    for the class. NSObjectis the root object in Objective-C hierarchy but you can replace it with

    any other class based on your needs.

    Field and PropertyYou can also define fields and properties that are accessible within the class scope.

    @interfaceComputationEngine : NSObject{

    StackManager *mgr;

    }

    @end

    Here a pointer reference to StackManagerclass which is another internal class in our

    application responsible for stack operations. This pointer is an accessible field in

    theComputationEngineclass, and in the next part Ill use it to have easy access to stack

    operations in my implementation file.

    Method DeclarationThe method declarations are straightforward.

    // Initialize the stack

    -(id) init;

    // Calculate the result of an operation by getting the operands from the

    stack

    -(double) calculate: (NSString*) operator;

    // Push an operand to the stack

    -(void) pushOperand: (double) v;

    // Pop an operand from the stack

    -(double) popOperand;

    // Get a pointer for the stack

    -(NSArray*) getStack;// Get the current size of the stack

    -(int) getSize;

    // Check to see if stack is empty

    -(BOOL) isEmpty;

    // Check to see if stack is full

    -(BOOL) isFull;

    // Clear the stack

    -(void) clear;

    // Peek a value on stack

  • 8/2/2019 5- iOS DOC

    23/30

    6

    Apple iOS Technical SeminarReport

    -(double) peek;

    Method declarations start either with + or :

    A single plus before the method name makes it an instance method. In this case you

    need an object instance of this class to have access to the method. A single dash before themethod name makes it a class method. In this case you can call the method by using the class

    name only. This is roughly similar to static methods in C#. The return type of a method is

    embedded within parentheses and the name of of the method is followed after a space. The

    list of parameters come after the method name after a colon. Multiple parameters can be

    separated with colons. The type of the parameter should be embedded within parenthesis and

    the name should follow after the space. As a side-note, you may have noticed that you can

    insert code comments with the same syntax as C, C++, C#, or Java.

    A sample application on iPhone (iOS based mobile):What all you need before trying a application on iPhone is a Macintosh system with

    Xcode installed. Xcode includes iOS SDK with all devices emulators/ simulators. Here, the

    application is to create a button press me please and when pressed, a string Hello World

    has to be displayed.

    The steps are as explained below and the related screen shots are displayed after the

    last step:

    Step 1: open the Xcode (here used version 3.2).

    Step 2: Go to File and select New project and in that select view-based

    application

    Step 3: In the window opened specify your application name (I gave as Hello

    world)

  • 8/2/2019 5- iOS DOC

    24/30

    6

    Apple iOS Technical SeminarReport

    Step 4: Go to the classes folder and in that go to (appname) viewcontroller.h

    Step 5: In the window beside write the code given below

    #import

    @interface HelloWorldViewController: UIViewController (

    IBOutlet UILable *helloWorld;

    }

    @property (nonatomic, retain) IBOutlet UILable *helloWorld;

    - (IBAction)helloButton;

    @end

    Step 6: Create the user interface by opening the .xib file (Interface Builder User

    Interface Resources )

    Step 7: Now drag the COCOVA touch UI screen that can accept the gesture of

    user. (this is to sense the tap gesture on the button we create)

    Step 8: Drag a Label and a button form the library beside

    Step 9: Name the label as you wish and the label the button with any name. I

    gave it as Please Press me

    Step 10: As created above the label and button are linked to respective elements

    by dragging the ids beside to the respective elements created in step 8.

    Step 11: Now as our application has to show the HelloWorld after clicking the

    button, the string is hidden till the button action is performed. This is done by

    following code in .xid file.

    -(void)viewOidLoad {[superviewOidLoad];helloworld.hidden = YES; /1 Hiding the Label

    Step 12: Write the implementation code for helloButton as below.

  • 8/2/2019 5- iOS DOC

    25/30

    6

    Apple iOS Technical SeminarReport

    @implemetation HellowWorldViewController

    - (IBAction)helloButton{

    helloWorld.hidden = NO;

    helloWorld.textColor = [UIColororangeColor];

    helloWorld.hidden = @Hello World!;

    Step 13: Just press the Build and Run button in the toolbar above and the

    application is automatically deployed to the simulator and the UI screen or the

    view is loaded as shown in the last screen shot.

    Screen Shots Of Sample Application:Opening the Xcode:

  • 8/2/2019 5- iOS DOC

    26/30

    6

    Apple iOS Technical SeminarReport

    Selecting the view based application:

    Giving the application name:

  • 8/2/2019 5- iOS DOC

    27/30

    6

    Apple iOS Technical SeminarReport

    Screen Showing the (.h) and (.m) files:

  • 8/2/2019 5- iOS DOC

    28/30

    6

    Apple iOS Technical SeminarReport

    Creating the UI using Interface Builder:

    Final screen showing the application running on simulator:

  • 8/2/2019 5- iOS DOC

    29/30

    6

    Apple iOS Technical SeminarReport

    Conclusion:Here at the end I conclude that the iOS emerging mobile operating system is the

    first of its kind that allows the applications developed by the third party developers to run

    natively on the iOS device. Apple is still trying to introduce even better features than the

    existing features. iOS is the first mobile which introduced many new features to a mobile and

    made a revolution in the mobile market. As on today, iOS is still the leading mobile OS even

    there are many competitors trying to beat iOS.

  • 8/2/2019 5- iOS DOC

    30/30

    Apple iOS Technical SeminarReport

    References:

    http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/URL_i

    Phone_OS_Overview/

    http://developer.apple.com/technologies/ios/

    http://en.wikipedia.org/wiki/IOS_version_history

    http://nayyeri.net/an-overview-of-objectivec-part-1

    http://nayyeri.net/an-overview-of-objectivec-part-2

    http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/URL_iPhone_OS_Overview/http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/URL_iPhone_OS_Overview/http://developer.apple.com/technologies/ios/http://en.wikipedia.org/wiki/IOS_version_historyhttp://nayyeri.net/an-overview-of-objectivec-part-1http://nayyeri.net/an-overview-of-objectivec-part-2http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/URL_iPhone_OS_Overview/http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/URL_iPhone_OS_Overview/http://developer.apple.com/technologies/ios/http://en.wikipedia.org/wiki/IOS_version_historyhttp://nayyeri.net/an-overview-of-objectivec-part-1http://nayyeri.net/an-overview-of-objectivec-part-2