ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Steps to Developing an iPhone App

Updated on January 6, 2013
klanguedoc profile image

Kevin is a Software Developer with 20 years experience designing and building business intelligence and system integration solutions.

iOS App development lifecycle
iOS App development lifecycle | Source

The process of creating i Phone apps follows a set path from market research to development and testing to deployment in the App Store. To better explain this process, this guide will you walk through the app development cycle and build an actual app based on the market research.

Other than market research and app development, iPhone apps for devices like the iPhone also require promotion and product marketing, both of which are outside the scope of this guide. However you can learn about promotion and product marketing by reading these guides.

Market Research

Before launching ourselves on developing our million dollar best seller, we will need to do some market research to find a niche topic that has user potential and that is not being addressed with an app in the App Store.

For this guide and our experimental new app, I started by using keywords related to radio pharmaceuticals and searching for apps in the iTunes App Store using those keywords. I am using the following keywords:

  • curie
  • becquerel

In the iTunes app on Windows or Mac computers under the default Library, select the app node and you will see a listing of apps that are installed on your i Phone or i Pad. The following screenshot titled, "The App Library in iTunes" is from my Mac iTunes App Library. It displays the apps that are compliant with iPhone, iPad or iPod and which ones that are only for a specific device.

The App Library in iTunes.
The App Library in iTunes. | Source

To search for apps by keywords, select the iTunes Store and then the App Store node once the iTunes Store is opened. See the adjacent screenshot. For the purposes of the demonstration, I will lookup apps that have "curie" or "becquerel" as one of its keywords that is either in the title of the app or somewhere on the publisher's page. Curie and becquerel are units of measure that are used in atomic energy or radio pharmaceuticals and it is used daily by people who not only work in this industry, but also in the medical and pharmaceutical industries like medical imaging that use this unit of measure in conjunction with isotopes, which are radioactive.

So I search using the "curie" and the "becquerel" keywords. Select to filter by apps, to see only the related apps. The search words have returned a few apps which are mostly educational or ebooks. The only app of interest to me is the iCurie app that calculates the half life of isotopes. My idea under investigation is to create an iPhone app that convert curies to other types of units of measure. It will be a little utility app that can be useful to professionals who work with I am in luck because other than the iCurie, nothing else seems to offer that kind of functionality.

Next I will lookup the word "curie" and "becquerel" in Google Keywords to see if there is any interest surrounding these terms. There are over 6 million searches a month related to curie and about 90,000 for becquerel. So from this I can deduce that there is some interest on using curies which can mean that there quite a few people, potential users, that are either searching for information on curies and isotopes and how to perform calculations.

Designing the App

Learning how to build and app is much easier if you already know about programming, especially C programming since Objective-C is a superset of the C language. In addition to Objective-C, a developer also need to know the Cocoa Touch Framework. Both are part of the iOS SDK. Most iOS apps like the iPhone implement the MVC design pattern but I will use to make the iPhone app, Curie Converter.

MVC means Model View Controller. The model describes the data type which represents the objects in an application. In my app, the model will describe the type of data and calculations the app will handle, the view is the UI or user interface and will be used to capture the input from the user and display the results of the calculations and finally the controller is the code that will perform the calculations and the results.

Design the UI

To design the UI, you can sketch it out on paper, or use a word processor, or some other software like Microsoft Word or Powerpoint to make a mock up of the different screens and navigation. Once the sketch is done, you can implement the design from the sketch. The following screenshot below is the design of the Curie Converter app in Xcode, which is an app to create iPhone apps. The second screenshot, also below, is the app running in the iOS Simulator. The background is a partial view of the radioactivity symbol. There is one field at the top to input a value to be converted. The picker selector (own as PickerView) has two columns that can be independently rotated to select the beginning value and the resulting value. Once the user selects both values and enters a value in the field, the resulting value will be diplayed in the "displayedValue" label, thus replacing the text "displayedValue" with the real value. The UI is not completely finished but I am showing it to give you an idea what the UI will look like.

Curie Converter layout in Xcode and the app running in iOS Simulator
Curie Converter layout in Xcode and the app running in iOS Simulator | Source

Designing the iPhone Data Model

The data model or model as in a MVC design pattern has two definitions. On one side, the model can represent your objects or classes. On the other hand, the model is the type of storage you will use in the app. For the storage, which my app won't need, can be a database like SQLite, or an ORM (Object Relational Mapping) tool like Core Data or it can even be files. Using files is the best solution if you need to use iCloud to sync data between different iPhones or other iOS devices. You could also create an interface to a back end system via web services.

Building the Controller

The controller, which is usually a ViewController but can be others like a TableViewController if the Scene (one of the screens) contains an UITableView. In my app, the controller will receive the values from the UI or the user and perform the calculations based the entered value in the field and carousel (picker view) and will return the resulting value to the UI for display.The finished app has one field to allow a user to enter a value and a picker view to select a starting unit of measure and the desired resulting value.

Configuring the App


Now that the app is built, we will need to configure the different icons for the app. There are several icons that must be configured in the application before it can be accepted into the App Store.

The icons must be stored in the Resources group in the app project. Additionally the icons must be configured in the plist file (Property List) discussed in the next section.

The following table lists the required and recommended icons and their required filenames for an iPhone.

Image Size (px)
Ad hoc iTunes
App Store and Home Screen
App Store and Home screen for iPhone 4 high resolution.
Home screen for iPad compatibility
Spotlight and Settings
iPad compatibility Spotlight
Phone 4 high resolution Spotlight and Settings

Property List (plist)

Several configurations are possible depending on the intended use of the app, like if you need your app to use the camera or GPS. It is also in the property list file that we configure the icons for the app being developed.

The Property List file is an XML based file, see screenshot which includes the configured icons for my app.

Sample plist with icon configurations
Sample plist with icon configurations | Source


The Orientation section in the Project Summary page allows you to define the orientation can support. For my app, I will support all orientations as in the following screenshot.

App orientation configuration in Xcode
App orientation configuration in Xcode | Source


There are several types of testing that can done on an app depending on the complexity of the iPhone app. You can do Unit Testing using Unit Tests. These are specially formatted classes that can simulate an interaction with the model, the view controller as well as the view. You create these classes when you setup the project or you can add them later to the project using the Unit Test class.

Another type of testing that can be done is with the iOS Simulator. The running app mentioned above is an example of Simulator test. This type of test makes believe that the app is running on an actual device like iPhone and the developer can interact with the device like it was installed on an iOS device like an iPhone.

For larger apps that may have performance issues and that need to stressed tested, the developer can use the Instruments in Xcode. This apps can check the different aspects of the app and check its performance under simulated conditions.

However, I find the real test is when you deploy an app to the iPhone or iPad. Actually Apple recommends that iPhone apps be tested on iPad also in addition to iPhones for compatibility issues since someone with an iPad can purchase an iPhone app even-though it is designed for the iPhone. To test on a target device, you need to configure your device in iTuneConnect, which is a special portal on the Apple Developer web site. Once that is done, you will then need to configure the device in Xcode using the iOS Provisioning Profile before you can actually deploy the app to the device which is done through Xcode.

Finally, you also setup test users in the App Store who can actually download the app onto their devices for testing prior to submitted for submission into the App Store for sales or to be freely distributed.

Configure the app in iTunesConnect

Once all the testing is completed, you will need to prepare and configure your app in the App Store using the iOS Provisioning portal in iTunesConnect. In the iOS Provisioning portal you can create and configure your App ID (bundle), add devices and obtain the provisioning profiles that can be added to Xcode for your registered devices (you can have up to 100 devices).

You also can set and configure your tax, contracts and banking information which is required if you can submit your app to the App Store. You will also need to enroll into the iOS Developer program which $99 annually at the time of this writing.

You will also need the following information in addtition to the binary in order to properly configure and submit the app for review and hopefully acceptanc einto the App Store:

  • App Name
  • App Description
  • Primary and Secondary Category
  • Subcategories
  • Copyright
  • App Rating
  • Keywords
  • SKU Number
  • Application URL
  • Screenshots
  • Support URL
  • Support Email Address
  • End User License Agreement
  • Pricing, Available Date, Territories
  • Large App Icon 1024 x 1024

Submission and Review

Once all the iTuneConnect configuration is completed and you have attached the binary of your app, you submit the app for review by Apple. The binary for the app is built in Xcode in your project. Once the binary is built and compressed into a zip file, you can attach it in your app profiles in iTunes Connect.


    0 of 8192 characters used
    Post Comment
    • klanguedoc profile imageAUTHOR

      Kevin Languedoc 

      4 years ago from Canada


      I am glad my suggestions were helpful. I received your longer reply as well and I will reply in kind. I would like to make a suggestion. Based on what you were saying in your reply by e-mail, I would explore LinkedIn's discussion groups. These are very targeted and have groups for many special interest subjects like yours. I would promote your products through these channels. I know from personal experience that they work.

      You may have the best products in the world but without an effective marketing strategy beyond word of mouth your products won't be successful. I read an article recently that mentioned that 80% of mobile apps fail to generate significant revenue because of lack of promotion. But this is true of any endeavor.

      Also develop a Twitter promotion strategy. Follow like minded individuals on Twitter and Facebook. Actually Facebook has a very low cost advertising offers, like you can advertise for 7 days @ about $5.00 a day. They guarantee a certain number of likes as a result.

      Their are also mobile app review sites like :

      Check out this hub. I have a list of mobile app review site where you can submit your mobile app for review / promotion

      Take care


    • Billie Kelpin profile image

      Billie Kelpin 

      4 years ago from Newport Beach

      Your comment is EXTREMELY helpful, Kevin. So many points to ponder and helpful links. I have to rethink how I can use the apps I developed as a storefront. I don't want to take up your space here, so I hope it's ok if I email you a longer response. My sincere thanks for your very helpful suggestions.

    • klanguedoc profile imageAUTHOR

      Kevin Languedoc 

      4 years ago from Canada

      Hi Billie

      Thanks for the great comment. I like your app themes. Very creative. Developing and monetizing mobile apps is no easy task. The main revenue sources these days are eCommerce, in-App purchases and advertising. You still can make money selling apps but consumers have gotten so use to being able to download and use apps for free that this money stream is getting harder to succeed at. Also there are over 1 million apps in Google Play and the Apple store, being able to stand out in this crowded place is really hard.

      Honestly, how many people do you know who actually buy an app from either App Store or Google Play? I don't of any.

      The only developers that are making good money from mobile are those who have the budget ( $25k and upwards) who can invest the money into creating a really polished app. Some app developers are spending up to year on development of an app. Or they are developing apps for other clients. I have developed apps for other companies who are using the apps as a promotion tool to promote their products.

      Mobile apps are becoming storefronts, a portal to push your content to the consumer. So the app, although free, allows you to sell your merchandise to the consumer.

      That said, there are other frameworks that you can use to create mobile apps:

      Ebooks and web content are still a great source of content and this is the route I am taking even though I am a software developer by profession. I have started using LeanPub, They provide a platform to write and publish your work in the form of an ebook. The service is free since they make money selling your ebook and retaining a small percentage from each sale. Consumers who buy a book can download the book to their mobile phones or tablets or even get a PDF. The books can be sold through iBookstore and Amazon Kindle as well. Also you can publish your ebook before it is finished. People actually buy them. As you add more content to your book, the people who have purchased your ebook, can download the latest update for free. Also they have a variable price tool. For example, you set your selling price between $1.99 and $9.99 and buy choose their price that they are willing to pay within that range. It is a great concept.

      One final word, if you own a MAC, you have access to iWeb (it comes with the Mac or you can download from the App Store for free). It allows you to create web applications for iPhone and iPad with no programming. Also you can download iAuthor from Apple, again free, that allows you to create ebooks that can be sold through the iBookstore (iTunes).

      Keep in touch. I like to hear from about your experience into mobile entrepreneurship.


    • Billie Kelpin profile image

      Billie Kelpin 

      4 years ago from Newport Beach

      Klanguedoc, My husband (the software engineer) and I will have to read this thoroughly. What do you think of diy builders like ibuildapp. I created "The Perfect Husband App" there (What to Say to Your Wife Today), an audio essay app, "Live from Milwaukee, It's Tuesday Night," and a children's game app, "Concentration-Halloween Haunt". The PROBLEM is, after 2000 downloads ibuildapp requires a $79 a month payment which we can't afford. I like the builder, but need my husband Mike to do the submission to the Apple Store and Google Play. I have to give the app away FREE because NO ONE will pay for an app unless they want to continue the content. Could you please write a hub about these builders or give us any of your expertise. BTY, Mike has the most trouble getting into the Apple Store because of some kind of error codes in the binary package from the loader. Looking forward to your response because REALLY, I sincerely believe that if the writers here on hubpages would combine some of their themed hubs into an app there is great potential. It's too bad the hubpage team isn't working on this. (Maybe they are). I know from experience that friends and family are much more likely to use their phones to download an app or get an ebook from Kindle for their phone than to go to a website to read a book, etc. I might be wrong, but I really want to pursue this - especially for my narrated children's book. Thanks for your time!

    • klanguedoc profile imageAUTHOR

      Kevin Languedoc 

      7 years ago from Canada

      Thanks Keith, really appreciate your great feedback. I really enjoy it and I love sharing my experience, by writing, with whoever needs a helping hand.

    • profile image


      7 years ago

      Very useful information, Klanguedoc! I never knew creating an app. was so tedious with many aspects to consider and you delivered the information very well!


    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at:

    Show Details
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the or domains, for performance and efficiency reasons. (Privacy Policy)
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)