tag:blogger.com,1999:blog-40684085082130004472024-03-13T15:07:44.889-07:00iOS Application development for beginners Wemakeappzhttp://www.blogger.com/profile/18384332241133141328noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-4068408508213000447.post-37455629643723387212015-01-15T23:38:00.002-08:002015-01-16T01:25:50.443-08:00MVVM-iOS Basics<div dir="ltr" style="text-align: left;" trbidi="on">
<h5 style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></h5>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">If you’ve been developing iOS applications for any length of time,
you’ve probably heard of Model-View-Controller, or MVC. It’s your
standard approach to building iOS apps. Lately, however, I’ve been
growing tired of some of MVC’s shortcomings. In this article, I’m going
to go over what MVC is, detail its weaknesses, and tell you about a new
way to structure your apps: Model-View-ViewModel. <br /><br />Source code : https://github.com/sibahota059/MVVM-iOS</span><br />
<br />
<h3 dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Model-View-Controller</span></span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Model-View-Controller is <i>the</i> definitive paradigm within which to structure your code. Apple even says so.
Under MVC, all objects are classified as either a model, a view, or a
controller. Models hold data, views present an interactive interface to
the user, and view controllers mediate the interaction between the model
and the view.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><img alt="" class="aligncenter size-full wp-image-11315" src="http://teehanlax.com.s3.amazonaws.com/wordpress/wp-content/uploads/mvc1.png" height="180" title="mvc" width="447" /></span><br />
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">In our diagram, the view notifies the controller of any
user interaction. The view controller then updates the model to reflect
the change of state. That model then (typically through
Key-Value-Observation) notifies any controllers of updates they need to
perform on their views. This mediation makes up a lot of the application
code written in iOS apps.</span><br />
<br /></div>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">Model
objects are typically very, very simple. Often times, they’re Core Data
managed objects or, if you prefer to eschew Core Data, other popular
model layers.
According to Apple, models contain data and logic to manipulate that
data. In practice, models are often very thin and, for better or worse,
model logic gets shuffled into the controller.</span><br />
<br /></div>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">Views (typically)
are either UIKit components or programmer-defined collections of UIKit
components. These are the pieces that go inside your .xib or Storyboard:
the visual and interactable components of an app. Buttons. Labels. You
get the idea. Views should never have direct references to models and
should only have references to controllers through IBAction events.
Business logic that doesn’t pertain to the view itself has no business
being there.</span><br />
<br /></div>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">That leaves us with controllers. Controllers are where the
“glue code” of an app goes: the code that mediates all interactions
between models and views. Controllers are responsible for managing the
view hierarchy of the view they own. They respond to the view loading,
appearing, disappearing, and so on. They also tend to get laden down
with the model logic that we kept out of our model and the business
logic we kept out of our views. That leads us to our first problem with
MVC…</span></div>
<h3 dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Massive View Controller</span></span></h3>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">Because of the extraordinary amount of code that’s placed
in view controllers, they tend to become rather bloated. It’s not
unheard of in iOS to have view controllers that stretch to thousands and
thousands of lines of code. These bulging pieces of your app weigh it
down: massive view controllers are difficult to maintain (because of
their sheer size), contain dozens of properties that make their state
hard to manage, and conform to many protocols which mixes that protocol
response code with controller logic.</span></div>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">Massive view controllers are difficult to test, either
manually or with unit tests, because they have so many possible states.
Breaking your code up into smaller, more bite-sized pieces is typically a
very good thing. </span></div>
<h3 dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Missing Network Logic</span></span></h3>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">The definition of MVC – the one that Apple uses – states
that all objects can be classified as either a model, a view, or a
controller. All of ‘em. So where do you put network code? Where does the
code to communicate with an API live?</span></div>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">You can try to be clever and put it in the model objects,
but that can get tricky because network calls should be done
asynchronously, so if a network request outlives the model that owns it,
well, it gets complicated. You definitely should not put network code
in the view, so that leaves… controllers. This is a bad idea, too, since
it contributes to our Massive View Controller problem.</span></div>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">So where, then? MVC simply doesn’t have a place for code that doesn’t fit in within its three components.</span></div>
<h3 dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Poor Testability</span></span></h3>
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">Another big problem with MVC is that it discourages
developers from writing unit tests. Since view controllers mix view
manipulation logic with business logic, separating out those components
for the sake of unit testing becomes a herculean task. A task that many
ignore in favour of… just not testing anything.</span></div>
<h3 dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;"><u><span style="font-size: large;"><b>Introducing MVVM</b></span></u></span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="line-height: 1.538em;">One issue facing iOS developers
is how to deal with major iOS updates for existing projects. More
specifically, how to implement UI/UX changes as iOS evolves. Because iOS
uses a combined view-controller design, this task can require a greater
level of effort than should be necessary. Here’s why: because the view
and controller are coupled, an iOS view-controller class will usually
contain both UI logic </span><i style="line-height: 1.538em;">and</i><span style="line-height: 1.538em;">
business logic. This means that changes in the way the view is
presented (UI logic) will usually also require changes to business logic
within the same view controller class.</span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Further, as view controller classes implement increasingly complex UI
requirements, the amount of business-logic code also tends to grow
within the same view controller class. This, is turn, typically results
in large, unwieldy, and difficult-to-read view controller classes.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Wouldn’t it be better to have thin, flexible, easy-to-read view controller classes in iOS?</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">You might have seen this joke on Twitter a while back:</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><i>“iOS Architecture, where MVC stands for Massive View Controller”</i> via <a href="https://twitter.com/Colin_Campbell/status/293167951132098560">Colin Campbell</a></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b><span style="line-height: 1.538em;">The MVVM Design Pattern</span></b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="line-height: 1.538em;">The “Model-View ViewModel” design pattern, or “MVVM”, is similar to the MVC as implemented in iOS, but provides better </span><i style="line-height: 1.538em;">decoupling</i><span style="line-height: 1.538em;"> of the UI and business logic. This decoupling results in thin, flexible, and easy-to-read view controller classes in iOS. </span></span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="line-height: 1.538em;">MVVM also provides better </span><i style="line-height: 1.538em;">encapsulation</i><span style="line-height: 1.538em;">. Business logic and workflows are contained almost exclusively in the </span><span style="font-size: 13px; line-height: 20.006303787231445px;">viewModel</span><span style="line-height: 1.538em;"> (referred to as the <i>view manager </i></span><span style="font-size: 13px; line-height: 20.006303787231445px;">in the example project</span><span style="line-height: 1.538em;">).
The view/view controllers concern themselves only with the UI and know
little, if anything, about the business logic and work flow in the
viewModel.</span></span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">MVVM is built around three fundamental parts: data model, view/view-controller, and viewModel:</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><img alt="" class="media-element file-default" src="http://www.captechconsulting.com/sites/default/files/styles/large/public/mvvm_example3.jpg?itok=_dTk25Zg" height="372" title="" width="400" /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>1) Data Model</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Just like in the MVC design pattern, the MVVM <i>data model</i> is a
class that declares properties for managing business data. For
instance, a banking app would need to manage user account data like
account balances, transaction history, etc. These data objects are
declared in the model as class properties with appropriate getters and
setters.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>2) ViewModel</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">The viewModel is at the heart of the MVVM design pattern and provides
the connection between the business logic and the view/view controller.
The view (UI) responds to user input by passing input data (defined by
the model) to the <span style="font-size: 13px; line-height: 20.006303787231445px;">viewModel</span>. In turn, the <span style="font-size: 13px; line-height: 20.006303787231445px;">viewModel</span> evaluates the input data and responds with an appropriate UI presentation according business logic workflow.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">The <span style="font-size: 13px; line-height: 20.006303787231445px;">viewModel </span>then
is the hub of activity in the MVVM design, acting as an intelligent
traffic control center for the model, business logic, workflow, and
view/view-controller.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>3) View/View Controller</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">The <i>view/view controller</i> is the context (i.e. the view
controller class) that presents user interface elements. As mentioned
above, in iOS the view/view controller is usually coupled to business
logic within a view controller class.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Conversely, in MVVM, the view/view controller contains little or no
business logic and is primarily responding to the viewModel to configure
and present UI elements (e.g. table views, buttons, etc.)</span></div>
<div style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">MVVM comes from Microsoft,
but don’t hold that against it. MVVM is very similar to MVC. It
formalizes the tightly coupled nature of the view and controller and
introduces a new component.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><img alt="" class="aligncenter size-full wp-image-11316" src="http://teehanlax.com.s3.amazonaws.com/wordpress/wp-content/uploads/mvvm1.png" height="83" title="mvvm" width="400" /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Under MVVM, the view and view controller become formally
connected; we treat them as one. Views still don’t have references to
the model, but neither do controllers. Instead, they reference the view
model.</span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">The view model is an excellent place to put validation
logic for user input, presentation logic for the view, kick-offs of
network requests, and other miscellaneous code. The one thing that does
not belong in the view model is any reference to the view itself. The
logic in the view model should be just as applicable on iOS as it is on
OS X. (In other words, don’t #import UIKit.h in your view models and
you’ll be fine.)</span></div>
<div dir="ltr">
<br /></div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span>
<br />
<div dir="ltr">
<span style="font-family: Arial,Helvetica,sans-serif;">Since presentation logic – like mapping a model value to a
formatted string – belong in the view model, view controllers themselves
become far, far less bloated. The best part is that when you’re
starting off using MVVM, you can place only a little bit of logic in
your view models, and migrate more of it over to them as you become more
comfortable with the paradigm.</span></div>
<div dir="ltr">
<br /></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">iOS
apps written using MVVM are highly testable; since the
view model contains all the presentation logic and doesn’t reference the
view, it can be fully tested programmatically. The numerous hacks
involved in testing Core Data models notwithstanding, apps written using
MVVM can be fully unit tested.</span></div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">The results of using MVVM, in my experience, is a slight
increase in the total amount of code, but an overall decrease in code
complexity. A worthwhile tradeoff.</span></div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div dir="ltr" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">If you look again at the MVVM diagram, you’ll notice that
I’ve used the ambiguous verbs “notify” and “update”, but haven’t
specified how to do that. You could use KVO, like with MVC, but that can
quickly become unmanageable. In practice, using ReactiveCocoa is a great way to glue all the moving pieces together.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-family: Arial,Helvetica,sans-serif;">To know more about it with an Example, <a href="https://github.com/sibahota059/MVVM-iOS">here</a> you will find the source code.</span> </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><b>Coding difference between MVC & MVVM<br /></b>Below screenshot is for<b> OLD MVC </b>pattern. </span><br />
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-bTvgEujonsA/VLjYBrPaV4I/AAAAAAAABRY/sSRK13Hhesg/s1600/Screen%2BShot%2B2015-01-16%2Bat%2B2.56.32%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-bTvgEujonsA/VLjYBrPaV4I/AAAAAAAABRY/sSRK13Hhesg/s1600/Screen%2BShot%2B2015-01-16%2Bat%2B2.56.32%2BPM.png" height="443" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial,Helvetica,sans-serif;">Below screenshot for <b>MVVM</b> pattern </span>(Compare <b>viewDidload</b> of both)</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-mG0Yd3MwFpU/VLjYYU46SiI/AAAAAAAABRg/uXMnsRiU_kE/s1600/Screen%2BShot%2B2015-01-16%2Bat%2B2.56.52%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-mG0Yd3MwFpU/VLjYYU46SiI/AAAAAAAABRg/uXMnsRiU_kE/s1600/Screen%2BShot%2B2015-01-16%2Bat%2B2.56.52%2BPM.png" height="368" width="640" /></a></div>
<br /><span style="font-family: Arial,Helvetica,sans-serif;">Below Screenshot for View model Class</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ufRhD83TiVw/VLjY6zQh8lI/AAAAAAAABRo/6RQbxf7nh4Y/s1600/Screen%2BShot%2B2015-01-16%2Bat%2B2.57.23%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-ufRhD83TiVw/VLjY6zQh8lI/AAAAAAAABRo/6RQbxf7nh4Y/s1600/Screen%2BShot%2B2015-01-16%2Bat%2B2.57.23%2BPM.png" height="332" width="640" /></a></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>Practical Considerations</b></span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">As we've seen, MVVM as a design pattern in iOS is useful and yields
many benefits. However, as with any design, care must be taken
to understand the limitations and the appropriate implementation in any
given project or project feature. Complex project features with a small
number of views may not realize the same benefits of MVVM that a larger
feature with many repetitive views would. Each developer must think
carefully about the best design pattern for any given project. Hopefully
you will find MVVM a useful approach in your latest iOS project.</span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Happy coding :)</span></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
</div>
Wemakeappzhttp://www.blogger.com/profile/18384332241133141328noreply@blogger.com0tag:blogger.com,1999:blog-4068408508213000447.post-45804574103395405402015-01-15T01:24:00.003-08:002015-01-15T01:24:22.686-08:00 Make Your First iPhone App "Hello World!"<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Note : This tutorial only works for Xcode 5 or Higher versions and Objective-c. As Apple released Xcode 6 and Swift,We will have another tutorial later on Swift.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><em><br /></em></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br />The Hello World tutorial is the first programming article written for this blog and we will move on in future articles with interesting topics 7 tutorials. to make sure you like this post and want me to continue , please feel free to comment , ask Questions and let me know if you are looking for some thing else. I have some open sourced controls such as <a href="https://github.com/sibahota059/SPHChatBubble">SPHChatBubble</a>, <a href="https://github.com/sibahota059/SPHChatCollectionView">SPHChatCollectionview</a> etc in my github home page https://github.com/sibahota059 you can visit them later when you are ready with iOS concepts & programming knowledge.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">In previous versions of Xcode , the default for mat for creating UI was XIB files but, Xcode 5 promotes the use of Storyboard instead of Interface Builder.
When you create a new Xcode project using the Single View template, it
defaults to Storyboard. There is no XIB file generated. Let me use Interface Builder to build this tutorial project. It
doesn’t mean i prefer Interface Builder over Storyboard, which is
great. I just want you to learn both. </span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Enter the Hello World tutorial for Xcode 5.</b><br /><br /><span style="font-family: Arial,Helvetica,sans-serif;">You may have heard of “Hello World” program if you have read any
programming book before. It has become the traditional program for
first-time learner to create. It’s a very simple program that usually
outputs “Hello, World” on the display of a device. In this tutorial,
let’s follow the programming tradition and create a “Hello World” app
using Xcode. At the end you will be able to cover the following topics.</span></div>
<ul style="text-align: left;">
<li><span style="font-family: Arial,Helvetica,sans-serif;">A better idea about the syntax and structure of Objective C.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;">A basic introduction to the Xcode & You’ll learn how to
create a Xcode project and create user interface with the built-in
interface builder.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;">Compiling , building & testing apps on iOS Simulator.</span></li>
</ul>
<div style="text-align: justify;">
</div>
<h2>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">Lets take a look at the out put how it will come at the ending ( </span></span><span style="font-size: small;"><span style="font-weight: normal;"><b>The final deliverable ). </b></span></span><span style="font-size: small;"><span style="font-weight: normal;"><br /></span></span></span></h2>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">This app is very simple and shows only a “Hello World” button. When tapped,
the app prompts you a message. That’s it. Nothing complex but it helps
you kick off your iOS programming journey.</span></div>
<div style="text-align: justify;">
<br /></div>
<div class="figure">
<img alt="HelloWorld App Deliverable" class="aligncenter size-full wp-image-2615" src="http://www.appcoda.com/wp-content/uploads/2013/10/HelloWorld-App-Deliverable.jpg" style="width: NaN%;" /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">To start a new project , launch Xcode from your launchpad. Once launched, Xcode displays a welcome dialog. From here, choose “Create a new Xcode project”.</span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<img alt="Xcode 5 Welcome Dialog" class="size-full wp-image-2581" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-5-Welcome-Dialog.jpg" /></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
Picture for welcome dialogue Xcode-5 </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Xcode shows you various project template for selection. For your first app, choose “Empty Application” and click “Next”.</span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div class="wp-caption aligncenter" id="attachment_2582" style="width: 80.26315789473685%;">
<img alt="Xcode Empty Application Template" class="size-full wp-image-2582" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-Empty-Application-Template.jpg" /><div class="wp-caption-text">
<br /></div>
<div class="wp-caption-text">
<br /></div>
</div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><span style="font-family: Arial,Helvetica,sans-serif;">This brings you to another screen to fill in all the necessary options for your project. </span><br />
<br />
<div class="wp-caption aligncenter" id="attachment_2585" style="width: 80.26315789473685%;">
<div class="wp-caption-text">
<span style="background-color: yellow;"><span></span></span><b>Hello World Project Options</b></div>
<div class="wp-caption-text">
<br /></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">You can simply fill in the options as follows:</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<ul style="text-align: justify;">
<li><span style="font-family: Arial,Helvetica,sans-serif;"><strong>Product Name: <em>HelloWorld</em></strong> – This is the name of your app.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><strong>Company Identifier: <em>com.domainame</em></strong> – It’s
actually the domain name written the other way round. If you have a
domain, you can use your own domain name. Otherwise, you may use mine or
just fill in “edu.self”.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><strong>Class Prefix: <em>HelloWorld</em></strong> – Xcode uses the
class prefix to name the class automatically. In future, you may choose
your own prefix or even leave it blank. But for this tutorial, let’s
keep it simple and use “HelloWorld”.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><strong>Device Family: <em>iPhone</em></strong> – Just use “iPhone” for this project.</span></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><strong>Use Core Data: [unchecked]</strong> – Do not select this option. You do not need Core Data for this simple project. </span></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<blockquote class="tr_bq">
<div class="note" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
<i>If you’ve used Xcode 4.6 or lower, you may find the option of “Use
Automatic Reference Counting” and “Include Unit Tests” options are left
out in Xcode 5. They are not options in Xcode 5 but defaults.</i></span></div>
</blockquote>
<div class="note" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"> </span></div>
<div class="note" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Click “Next” to continue. Xcode then asks you where you saves the “Hello
World” project. Pick any folder (e.g. Desktop) on your Mac. You may
notice there is an option for version control, Just deselect it. As you confirm, Xcode automatically creates the “Hello World” project
based on all the options you provided. The screen will look like this:</span></div>
<div class="note" style="text-align: justify;">
</div>
<div class="note" style="text-align: justify;">
</div>
<div class="note" style="text-align: justify;">
<img alt="Hello World Empty Xcode Project" class="size-full wp-image-2588" src="http://www.appcoda.com/wp-content/uploads/2013/10/Hello-World-Empty-Xcode-Project.jpg" /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b><br /></b></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>A quick look at the Xcode</b></span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>L</b>et’s take a few minutes to have a
quick look at the Xcode workspace environment. On the left pane, it’s
the project navigator. You can find all your files under this area. The
center part of the workspace is the editor area. You do all the editing
stuffs (such as edit project setting, class file, user interface, etc)
in this area depending on the type of file selected. Under the editor
area, you’ll find the debug area. This area is shown when you run the
app. The rightmost pane is the utility area. This area displays the
properties of the file and allows you to access Quick Help. If Xcode
doesn’t show this area, you can select the rightmost view button in the
toolbar to enable it.</span></div>
<div class="figure">
<img alt="Xcode 5 Workspace" class="aligncenter size-full wp-image-2593" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-5-Workspace1.png" style="width: NaN%;" /></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Lastly, it’s the toolbar. It provides various functions for you to run your app, switch editor and the view of the workspace.</span><br />
<br />
<div class="figure">
<img alt="Xcode 5 Toolbar" class="aligncenter size-full wp-image-2591" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-5-Toolbar.png" style="width: NaN%;" /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>Run Your App for the First Time</b></div>
<div style="text-align: left;">
<br /></div>
<span style="font-family: Arial,Helvetica,sans-serif;">Even you haven’t written any code, you can run your app to try out
the Simulator. This gives an idea how you build and test your app in
Xcode. Simply hit the “Run” button in the toolbar. </span><br />
<br />
<br />
<div class="wp-caption aligncenter" id="attachment_2594" style="width: 80.26315789473685%;">
<img alt="Xcode Run Button" class="size-full wp-image-2594" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-Run-Button.jpg" /><div class="wp-caption-text">
<br /></div>
</div>
<div class="wp-caption aligncenter" id="attachment_2595" style="width: 80.26315789473685%;">
<div class="wp-caption-text" style="text-align: justify;">
<br /></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">A white screen with nothing inside?! That’s normal. As your app is
incomplete, the Simulator just shows a blank screen. To terminate the
app, simply hit the “Stop” button in the toolbar. </span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">By default, Xcode sets to use iPhone Retina (3.5-inch) as the
simulator. You are free to select other simulators to test the app. Try
to select another simulator and run the app.</span></div>
<div style="text-align: justify;">
<br /></div>
<br />
<div class="figure">
<img alt="Xcode Simulator Selection" class="aligncenter size-full wp-image-2596" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-Simulator-Selection.jpg" style="width: NaN%;" /></div>
<h3>
Back to Code</h3>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Okay, let’s move on and start to add the Hello World button to our
app. Before we can put a button, we first need to create a view and its
corresponding controller. You can think of a view as a container that
holds other UI items such as button. Go back to the Project Navigator.
Right-click on the HelloWorld folder and select “New File”.</span></div>
<br />
<br />
<div class="wp-caption aligncenter" id="attachment_2598" style="width: 80.26315789473685%;">
<img alt="Xcode 5 Add New File" class="size-full wp-image-2598" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-5-Add-New-File.jpg" /><div class="wp-caption-text" style="text-align: center;">
<br /></div>
</div>
<div class="wp-caption aligncenter" id="attachment_2598" style="width: 80.26315789473685%;">
<div class="wp-caption-text" style="text-align: center;">
<b>Adding a new file in Project Navigator</b></div>
<div class="wp-caption-text">
<br /></div>
<div class="wp-caption-text">
<br /></div>
</div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><span style="font-family: Arial,Helvetica,sans-serif;">Under the Cocoa Touch category, select the Objective-C class template and click Next.</span><br />
<br />
<div class="figure">
<img alt="Xcode 5 Create New Class" class="aligncenter size-full wp-image-2599" src="http://www.appcoda.com/wp-content/uploads/2013/10/Xcode-5-Create-New-Class.jpg" style="width: NaN%;" /></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Name the new class as HelloWorldViewController and the subclass as
UIViewController. Make sure you check the “With XIB for user interface”
option. By selecting this option, Xcode automatically generates a
Interface Builder file for the view controller.</span><br />
<br />
<div class="figure">
</div>
<div class="figure">
</div>
<div class="figure">
</div>
<div class="figure">
<img alt="HelloWorldViewController Class with XIB" class="aligncenter size-full wp-image-2600" src="http://www.appcoda.com/wp-content/uploads/2013/10/HelloWorldViewController-Class-with-XIB.jpg" style="width: NaN%;" /></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">You’ll be prompted with a file dialog. Simply click the Create button
to create the class and XIB. Once done, Xcode generates three new files
including HelloWorldViewController.h, HelloWorldViewController.m and
HelloWorldViewController.xib. If you select the
HelloWorldViewController.xib file, you’ll find a empty view similar to
the below image:</span></div>
<br />
<br />
<div class="wp-caption aligncenter" id="attachment_2601" style="width: 80.26315789473685%;">
<img alt="HelloWorldViewController XIB" class="size-full wp-image-2601" src="http://www.appcoda.com/wp-content/uploads/2013/10/HelloWorldViewController-XIB.jpg" /><div class="wp-caption-text">
HelloWorld Interface Builder (.xib)</div>
</div>
Now we’ll add a Hello World button to the view. In the lower part of
the utility area, it shows the Object library. From here, you can choose
any of the UI Controls, drag-and-drop it into the view. For the Hello
World app, let’s pick the button and drag it into the view. Try to place
the button at the center of the view.<br />
<div class="wp-caption aligncenter" id="attachment_2602" style="width: 80.26315789473685%;">
<img alt="Interface Builder Drag Button" class="size-full wp-image-2602" src="http://www.appcoda.com/wp-content/uploads/2013/10/Interface-Builder-Drag-Button.jpg" /><div class="wp-caption-text">
<br /></div>
<div class="wp-caption-text" style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Drag button into the View</span></div>
<div class="wp-caption-text" style="text-align: justify;">
<br /></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Next, let’s rename the button. To edit the label of the button, double-click it and name it “Hello World”</span>.</div>
<br />
<div class="figure">
</div>
<div class="figure">
</div>
<div class="figure">
<img alt="Interface Builder Edit Label" class="aligncenter size-full wp-image-2603" src="http://www.appcoda.com/wp-content/uploads/2013/10/Interface-Builder-Edit-Label.jpg" style="width: NaN%;" /></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">If you now try to run the app, you’ll still end up with a blank
screen. The reason is that we haven’t told the app to load the new view.
We’ll need to add a few lines of code to load up the HelloWorldViewController.xib. Select the AppDelegate.m in Project
Navigator. Add the following import statement at the very beginning of
the file:</span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div class="codecolorer-container objc geshi" style="overflow: auto; text-align: justify; white-space: nowrap; width: 750px;">
<table cellpadding="0" cellspacing="0" style="margin-left: 0px; margin-right: 0px; text-align: left;"><tbody>
<tr><td class="line-numbers"><div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
</td><td><div class="objc codecolorer" style="white-space: nowrap;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="color: #6e371a;">#import "HelloWorldViewController.h"</span></span></div>
<div class="objc codecolorer" style="white-space: nowrap;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="color: #6e371a;"> </span></span></div>
</td></tr>
</tbody></table>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">In the didFinishLaunchingWithOptions: method, add the following lines
of code </span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">self.window.backgroundColor = [UIColor
whiteColor];</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
</span></div>
<div class="codecolorer-container objc geshi" style="overflow: auto; text-align: justify; white-space: nowrap; width: 750px;">
<table cellpadding="0" cellspacing="0" style="margin-left: 0px; margin-right: 0px; text-align: left;"><tbody>
<tr><td class="line-numbers"><div class="objc codecolorer" style="white-space: nowrap;">
<span style="font-family: Arial,Helvetica,sans-serif;"> HelloWorldViewController <span style="color: #002200;">*</span>viewController <span style="color: #002200;">=</span> <span style="color: #002200;">[</span><span style="color: #002200;">[</span>HelloWorldViewController alloc<span style="color: #002200;">]</span> initWithNibName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">"HelloWorldViewController"</span> bundle<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">]</span>;<br /> self.window.rootViewController <span style="color: #002200;">=</span> viewController;</span></div>
</td><td><br /></td></tr>
</tbody></table>
</div>
<br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Your code should look like this after editing:</span><br />
<br />
<br />
<div class="figure">
</div>
<div class="figure">
</div>
<div class="figure">
<img alt="HelloWorld AppDelegate Code" class="aligncenter size-full wp-image-2604" src="http://www.appcoda.com/wp-content/uploads/2013/10/HelloWorld-AppDelegate-Code.png" style="width: NaN%;" /></div>
<br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">What you have just done is to load the HelloWorldViewController.xib
and set it as the root view controller. Now try to run the app again and
you should have an app like this:</span><br />
<br />
<div class="figure">
<img alt="HelloWorld App with Button" class="aligncenter size-full wp-image-2605" src="http://www.appcoda.com/wp-content/uploads/2013/10/HelloWorld-App-with-Button.jpg" style="width: NaN%;" /></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">For now, if you tap the button, it does nothing. We’ll need to add the code for displaying the “Hello, World” message.</span><br />
<h3 style="text-align: justify;">
Coding the Hello World Button</h3>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">In the Project Navigator, select the “HelloWorldViewController.h”.
The editor area now displays the source code of the selected file. Add
the following line of code before the “@end” </span></div>
<br />
<br />
<div class="codecolorer-container objc geshi" style="overflow: auto; white-space: nowrap; width: 750px;">
<table cellpadding="0" cellspacing="0"><tbody>
<tr><td class="line-numbers"><span style="color: #6e371a;">#import <UIKit/UIKit.h></span><br />
<br />
<span style="color: #a61390;">@interface</span> HelloWorldViewController <span style="color: #002200;">:</span> UIViewController<br />
<br />
<span style="color: #002200;">-</span><span style="color: #002200;">(</span>IBAction<span style="color: #002200;">)</span>showMessage;<br />
<br />
<span style="color: #a61390;">@end</span></td><td class="line-numbers"><span style="color: #a61390;"> </span></td><td><span style="color: #6e371a;"></span><span style="color: #a61390;"></span><br /></td></tr>
</tbody></table>
</div>
<br />
<br />
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Next, select the “HelloWorldViewController.m” and insert the following code before the “@end” line:</span></div>
<br />
<div class="codecolorer-container objc geshi" style="overflow: auto; white-space: nowrap; width: 750px;">
<table cellpadding="0" cellspacing="0"><tbody>
<tr><td class="line-numbers"><br /></td><td><br /></td></tr>
</tbody></table>
</div>
<div class="objc codecolorer" style="white-space: nowrap;">
<span style="color: #002200;">-</span> <span style="color: #002200;">(</span>IBAction<span style="color: #002200;">)</span>showMessage <br />
<span style="color: #002200;">{</span><br />
UIAlertView <span style="color: #002200;">*</span>helloWorldAlert <span style="color: #002200;">=</span> <span style="color: #002200;">[</span><span style="color: #002200;">[</span>UIAlertView alloc<span style="color: #002200;">]</span><br />
initWithTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">"My First App"</span> message<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">"Hello, World!"</span> delegate<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span> cancelButtonTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">"OK"</span> otherButtonTitles<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">]</span>;<br />
<br />
<span style="color: #11740a; font-style: italic;">// Display the Hello World Message</span><br />
<span style="color: #002200;">[</span>helloWorldAlert show<span style="color: #002200;">]</span>;<br />
<span style="color: #002200;">}</span></div>
<div class="objc codecolorer" style="white-space: nowrap;">
<span style="color: #002200;"> </span></div>
<div class="wp-caption aligncenter" id="attachment_2607" style="width: 80.26315789473685%;">
<img alt="Source Code of HelloWorldViewController After Editing" class="size-full wp-image-2607" src="http://www.appcoda.com/wp-content/uploads/2013/10/HelloWorld-ShowMessage-Method.jpg" /><div class="wp-caption-text">
<br /></div>
<div class="wp-caption-text">
<br /></div>
<b>Connecting Hello World Button with the Action</b></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Select the
“HelloWorldViewController.xib” file to go back to the Interface
Builder. Press and hold the <em>Control</em> key on your keyboard, click the “Hello World” button and drag to the “File’s Owner”. Your screen should look like this </span><br />
<br />
<br />
<div class="figure">
<img alt="Connect HelloWorld Button" class="aligncenter size-full wp-image-2610" src="http://www.appcoda.com/wp-content/uploads/2013/10/Connect-HelloWorld-Button.jpg" style="width: NaN%;" /></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Release both buttons and a pop-up shows the “showMessage” action.
Select it to make a connection between the button and “showMessage”
action.</span><br />
<br />
<div class="wp-caption aligncenter" id="attachment_2611" style="width: 80.26315789473685%;">
<img alt="ShowMessage Send Events" class="size-full wp-image-2611" src="http://www.appcoda.com/wp-content/uploads/2013/10/ShowMessage-Send-Events.png" /><div class="wp-caption-text">
Send Events Selection</div>
</div>
<h3>
</h3>
<h3>
Test Your App</h3>
<span style="font-family: Arial,Helvetica,sans-serif;">That’s it! You’re now ready to test your first app. Just hit the
“Run” button. If everything is correct, your app should run properly in
the Simulator.</span><br />
<br />
<div class="figure">
</div>
<div class="figure">
</div>
<div class="figure">
<img alt="HelloWorld App" class="aligncenter size-full wp-image-2612" src="http://www.appcoda.com/wp-content/uploads/2013/10/HelloWorld-App.png" style="width: NaN%;" /></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Congratulation! You’ve built your first iPhone app. It’s a simple app
however, I believe you already have a better idea about Xcode and how
an app is developed. </span><br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
</div>
Wemakeappzhttp://www.blogger.com/profile/18384332241133141328noreply@blogger.com0tag:blogger.com,1999:blog-4068408508213000447.post-62460594583881993902015-01-15T00:41:00.003-08:002015-01-15T00:43:12.693-08:00What You Need to Begin iOS Programming<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span itemscope="" itemtype="http://schema.org/Article">Apple iPhones are considered as most advanced smartphones
available in the market today. The power of iPhones can be explored
using the Apps and Games. As of July 2014, Apple's Store has more than
1.3 million applications optimized for iPhones and other gadgets. There
is huge demand for quality iOS Apps and Games in the market. Adversely,
it increased the demand iOS developers capable of developing quality
Apps and Games. </span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span itemscope="" itemtype="http://schema.org/Article">In recent years, India is growing to be the major
offshore mobile application centers in World. It has opened huge career
prospects for iOS developers. Thus, <b>iOS Training </b>will help professionals to bloom with the raise of mobile
application development. Here are some important tips to become an iOS
Developer.</span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>Get Necessary Tools:</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">To create mobile Apps for iOS you need to have Mac computer. Then,
you need to get necessary development tools named Xcode. This software
is available in the Apple developer Web site or from <b>Mac App Store</b>.
By installing this application, you can write and compile iOS Apps on
your personal computers. Xcode software has two important tools for
developer's iOS simulator and Xcode. The iOS simulator allows you to run
and test application on your Mac computers. The second one is the
Interface builder. This tool provides programming objects and controls
needed to create the iPhone applications.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>Learn C and object C Programming Language:</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">The C programing language is the successor of Objective C. It is main
programming language used for iPhone mobile application development.
IOS developers are recommended to learn the C programming language.
Without the knowing the OOPS concept, it is difficult to developing high
quality application for iPhone. You need to be familiar with other
concepts like memory management, objective C and Object Orientation in
programming methodology. <b>IOS Training</b> from reputed training center covers whole syllabus required for iPhone mobile application development.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>Learn iOS environment:</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">With in-depth knowledge in Objective C programming language, you can
lean iOS mobile application development environment easily. Developers
use Interface Developer for creating custom interface for iPhone
applications. There are several training institutes offering training on
iOS mobile application development. You need to choose reputed training
academy that offer professional training through experienced trainers.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">
Register an Apple Developer Account</span></h3>
<h3 style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"> </span></h3>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">Don’t mix this up with the paid iOS Developer Program that we’re
going to talk about in later section. Everyone can register as an Apple
developer for free. By registering the developer account, you’re allowed
to download Xcode, access documentation of the iOS SDK and other
technical resources such as development videos.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">You can go to <a href="https://developer.apple.com/programs/register/">Apple’s developer website</a>
for registration. The registration process is very straightforward.
Simply create an Apple ID (if you don’t have) and fill in your personal
profile. </span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><b>Market your Own Application: (Optional)</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span itemscope="" itemtype="http://schema.org/Article"><span itemscope="" itemtype="http://schema.org/Article">
</span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial,Helvetica,sans-serif;">When you are ready with your custom application, you need <span class="IL_AD" id="IL_AD4">to register</span>
with iOS Developer Program. The annual subscription cost is $99. Once
registering, you become an official iOS developer & can upload and sell your own apps. You can able to
submit your application to the iOS App Store and make sustainable income
from the potential iPhone users from all over the world.</span></div>
<div style="text-align: justify;">
<br /></div>
</div>
Wemakeappzhttp://www.blogger.com/profile/18384332241133141328noreply@blogger.com0