{"id":23464,"date":"2015-03-17T18:01:33","date_gmt":"2015-03-17T10:01:33","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=23464"},"modified":"2023-04-06T19:20:00","modified_gmt":"2023-04-06T11:20:00","slug":"building-publishing-iphone-app-guide","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/","title":{"rendered":"Build &#038; Publish Your First iPhone App: The Ultimate Guide"},"content":{"rendered":"<p>Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and effort involved. Let\u2019s not tell you what you <em>should<\/em> know, but rather explain how you can actually get started today to get an app published in the App Store.<\/p>\n<p>For your quick reference, here are the shortcuts:<\/p>\n<ul>\n<li><a href=\"#1\">Building Blocks Of An App: The Basics<\/a><\/li>\n<li><a href=\"#2\">The App-Making Process<\/a><\/li>\n<li><a href=\"#3\">On Swift And Objective-C<\/a><\/li>\n<li><a href=\"#4\">Middleware: Build Once, Run Multiple<\/a><\/li>\n<li><a href=\"#5\">Design: How Your App Is Used<\/a><\/li>\n<li><a href=\"#6\">How To Enable An App For The Internet<\/a><\/li>\n<li><a href=\"#7\">Going From Beta To Live<\/a><\/li>\n<li><a href=\"#8\">Creating Your First App <\/a><a href=\"#8\">FAQs<\/a><\/li>\n<li><a href=\"#9\">Learning Resources To Get Started<\/a><\/li>\n<\/ul>\n<h2 id=\"1\">1. Building Blocks Of An App: The Basics<\/h2>\n<p>An app is just <strong>a piece of computer software running on a smartphone<\/strong>. It\u2019s written by a programmer, and put together with graphic assets created by a designer.<\/p>\n<p>Apps for iPhone are <strong>made with a Mac application called Xcode<\/strong>, and <strong>programmed in either Swift or Objective-C.<\/strong> Many apps are connected to the internet, which means that they have a <em>back-end<\/em> that allows storage of data in the cloud or functionality that interconnects users.<\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.apple.com\/xcode\/\">Xcode<\/a> is the application you can use for making native iPhone apps, and it\u2019s only available for Mac OS X. It includes <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.apple.com\/xcode\/interface-builder\/\">Interface Builder<\/a>, a tool to visually create the graphical foundation of your app. It\u2019s a <strong>scaffolding tool<\/strong>: you can\u2019t make a functional app with it, but you can <strong>lay down the groundwork for the GUIs of your app<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/xcode.jpg\" alt=\"xcode\" width=\"799\" height=\"501\"><\/figure>\n<p>Xcode has many useful features, such as Auto Layout for making your interface work on multiple screen resolutions and an iPhone Simulator for testing your app without an actual iPhone.<\/p>\n<p>In order to publish apps in the App Store you need <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.apple.com\/programs\/\">a developer account from Apple<\/a>. It\u2019s available for $ 99 USD a year, and needs to be renewed each year. Apple has a comprehensive online toolset available for managing new and published apps, called <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/itunesconnect.apple.com\/WebObjects\/iTunesConnect.woa\/wa\/apply\">iTunes Connect<\/a>, as well as an extensive set of documentation.<\/p>\n<p>Additionally, iTunes Connect now features a beta distribution tool called <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.apple.com\/testflight\/index.html\">TestFlight<\/a>. It can be used to <strong>distribute your app to beta testers<\/strong>.<\/p>\n<h2 id=\"2\">2. The App-Making Process<\/h2>\n<p>Any app development process roughly follows these steps:<\/p>\n<ol>\n<li><strong>Design<\/strong>. Make a mockup of your app and layout all the components on the screen.<\/li>\n<li><strong>Develop<\/strong>. This step involves coding the app, tying up interfaces with if-this-then-that actions.<\/li>\n<li><strong>Test<\/strong>. Send the app out to beta testers and gather feedback on its performance. Then, solve any errors that arise.<\/li>\n<li><strong>Publish<\/strong>. Get your app past the review process and push it to production in the App Store.<\/li>\n<\/ol>\n<p>Modern process management often work with <strong>iterations<\/strong> on a micro and macro level.<\/p>\n<p>When you\u2019re making a new feature, you always design it first, then code it, then test it, and then push it live. Whether it\u2019s a small component or an entire new part of the app, <strong>follow this process<\/strong>.<\/p>\n<h2 id=\"3\">3. On Swift and Objective-C<\/h2>\n<p>iPhone apps are all written in <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.apple.com\/swift\/\">Swift<\/a> or Objective-C. <strong>Swift<\/strong> is the new programming language invented by Apple, announced on June 2, 2014, and subsequently released as a stable 1.0 version on September 9, 2014. It\u2019s a fairly new language and apps entirely written in Swift are just now hitting the App Store.<\/p>\n<div class=\"ref-block ref-block--post\" id=\"ref-post-1\">\n\t\t\t\t\t<a href=\"https:\/\/www.hongkiat.com\/blog\/swift-programming-language\/\" class=\"ref-block__link\" title=\"Read More: 15 Places to Learn Swift Programming Language For Free\" rel=\"bookmark\"><span class=\"screen-reader-text\">15 Places to Learn Swift Programming Language For Free<\/span><\/a>\n<div class=\"ref-block__thumbnail img-thumb img-thumb--jumbo\" data-img='{ \"src\" : \"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/swift-programming-language.jpg\" }'>\n\t\t\t\t\t\t\t<noscript>\n<style>.no-js #ref-block-post-21846 .ref-block__thumbnail { background-image: url(\"https:\/\/assets.hongkiat.com\/uploads\/thumbs\/250x160\/swift-programming-language.jpg\"); }<\/style>\n<\/noscript>\n\t\t\t\t\t\t<\/div>\n<div class=\"ref-block__summary\">\n<h4 class=\"ref-title\">15 Places to Learn Swift Programming Language For Free<\/h4>\n<p class=\"ref-description\">\n\t\t\t\t\t\tIf you have been programming with Objective-C, learning Swift would be a breeze as it has inherited a...\t\t\t\t\t\t<span>Read more<\/span><\/p>\n<\/div>\n<\/div>\n<p>Swift is gaining rapidly in popularity and its features are highly acclaimed by both beginner and advanced programmers. The great thing about Swift is that it\u2019s interchangeable with Objective-C. This helps the adoption of Swift by programmers, because they <strong>don\u2019t have to rewrite their entire codebase to be compatible with the new language<\/strong>.<\/p>\n<p>People that already have an intermediate-level proficiency in any programming language will need less time to pick up Objective-C or Swift. Especially those that have worked with languages that are similar to Swift, such as Java, PHP or Ruby, should have no problem learning Swift.<\/p>\n<h3>But which is better, Swift or Objective-C?<\/h3>\n<p>Objective-C is a little bit harder to tackle because it uses a unique syntax. For beginners, Swift is clearly the better option. It\u2019s easier compared to Objective-C and removes overhead from the development process, making the barrier-to-entry for beginners considerably lower.<\/p>\n<p>Despite that, Objective-C is still the standard in many firms around the globe, so legacy code will be Objective-C for the coming years. As an employed iOS developer, you\u2019ll see more Objective-C than Swift.<\/p>\n<h2 id=\"4\">4. Middleware: Build Once, Run Multiple<\/h2>\n<p>Middleware (or cross-platform) like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/cordova.apache.org\/\">Cordova<\/a> or <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/cordova.apache.org\/announcements\/2020\/08\/14\/goodbye-phonegap.html\">PhoneGap<\/a>, is a popular choice for app developers, because it enables them to write code once and <strong>deploy it to both Android and iOS<\/strong>.<\/p>\n<p>Apps for Android are written in Java and <strong>they\u2019re not compatible with iOS apps<\/strong>. If you want to make an app for both platforms, but do not want to program the same app twice, <strong>middleware is a time-saving option<\/strong>.<\/p>\n<p>Many of these cross-platform tools are based on web technology, such as HTML5, CSS and JavaScript.<\/p>\n<p>PhoneGap is the most widely adopted: it\u2019s being used by 400.000 app developers. PhoneGap has its own build tools and technically it <strong>exports an app <\/strong>that can be run and built<strong> inside Xcode<\/strong>, making it a <strong>\u201chybrid app\u201d<\/strong> \u2014 <strong>native components combined with HTML5<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/phonegap.jpg\" alt=\"phonegap\" width=\"951\" height=\"302\"><\/figure>\n<p>PhoneGap now features <strong>PhoneGap Build<\/strong>, which replaces the Xcode compiler with a cloud-based solution. PhoneGap is free and released under the open-source Apache Public License v2.<\/p>\n<p>Alternatives to PhoneGap include:<\/p>\n<ul>\n<li> <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/cordova.apache.org\/\">Cordova<\/a> (open-source)<\/li>\n<li> <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.sencha.com\/products\/touch\/\">Sencha Touch<\/a> (open-source and commercial)<\/li>\n<li> <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/tau-platform.com\/en\/products\/rhomobile\/\">RhoMobile Suite<\/a> (open-source)<\/li>\n<\/ul>\n<p>PhoneGap outperforms these alternatives by <strong>supported devices<\/strong> (iOS, Android, Windows Phone, BlackBerry OS, Ubuntu and Firefox OS) and <strong>supported hardware<\/strong> (accelerometer, camera, etc.).<\/p>\n<h3>Downsides To Middleware<\/h3>\n<p>Using middleware such as PhoneGap has two major downsides.<\/p>\n<p>Since such tools are all based on web technology, they\u2019re unable to make use of hardware-accelerated native components. Animations, transitions and high-resolution graphics don\u2019t work as well as in a native app, which makes it <strong>impossible to use for games or visually intense apps<\/strong>.<\/p>\n<p>Also, using middleware requires good knowledge of compilers and build tools, which makes it an <strong>inconvenient option for beginner developers<\/strong>.<\/p>\n<h2 id=\"5\">5. Design: How Your App Is Used<\/h2>\n<p>Not all that is apps is programming. Graphic design is big in the app industry; it\u2019s a requirement for any app that wants to be taken seriously. Are you considering programming your own apps? If your budget allows it, hire a graphic designer. There\u2019s plenty of those around on outsourcing sites like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/go\/upwork\">upwork<\/a>.<\/p>\n<p>That being said, <strong>you don\u2019t need a graphic designer if you\u2019re just starting out<\/strong>. On iOS, you can work with the many pre-fab components that Apple is using in their own apps and throughout the operating system\u2019s UI. The standard iPhone user interface components don\u2019t look exceptional, but they\u2019re not bad either. It\u2019s a great way to get started without spending too much time on the graphical look of your app.<\/p>\n<h3>Tools and Resources<\/h3>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.apple.com\/design\/human-interface-guidelines\/ios\/overview\/themes\/\">Human Interface Guidelines<\/a> gives you a good overview of available components and how to use them.<\/p>\n<p><strong>Icons<\/strong>: Consider using an <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/free-icon-sets-to-bookmark\/\" rel=\"noopener\">icon kit<\/a> such as <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.glyphish.com\/\">Glyphish<\/a> (commercial). They\u2019ve put together hundreds of icons, optimized for iPhone apps, including social media icons, play\/stop buttons, and symbols for app-related tasks such as new, edit, and send.<\/p>\n<p><strong>Mockups<\/strong>: Another tool you definitely must use is <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/balsamiq.com\/\">Balsamiq Mockups<\/a> (free trial, commercial). It\u2019s a point-and-click editor for making mockups of your apps. A mockup is a <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/detailed-ui-sketches-designs\/\" rel=\"noopener\">rough sketch<\/a> and it shows and explains how your app works and what it does. <strong>Never just start programming: take a step back and rethink your apps UI and layout by making a mockup.<\/strong><\/p>\n<p>Did you make a sketched mockup, but can\u2019t get a feel for how the app will actually look? Work with the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/creativetacos.com\/ios13-gui-kit\/\">creativetacos\u2019 iOS PSD<\/a>. They\u2019ve extracted all the GUI components from iOS and made them available as vector graphics. Perfect for making a graphical mockup!<\/p>\n<h2 id=\"6\">6. How To Enable An App For The Internet<\/h2>\n<p>Is your app connected to the internet? Creating a custom back-end with server-side languages like NodeJS, Ruby or PHP can take up lots of time, money and effort. It\u2019s easier to use a Platform-as-a-Service tool, such as <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/parseplatform.org\/\">Parse<\/a>.<\/p>\n<p>Parse is a <strong>cloud-based solution for storing data offline and online in your app<\/strong>. Say, you\u2019re making a social app with a stream of pictures and status updates. You could use Parse to store that data in the cloud and <strong>use their SDK to get it from and to your users<\/strong>.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/parse.jpg\" alt=\"parse\" width=\"887\" height=\"614\"><\/figure>\n<p>Using a tool such as Parse completely <strong>removes the need to build a custom back-end<\/strong>. Parse\u2019s basic usage tier is free, subsequent tiers start at USD100\/month.<\/p>\n<p>Alternatives to Parse are <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.axway.com\/en\/appcelerator-end-of-life\">Appcelerator<\/a> (middleware + PaaS, commercial) and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/api.shephertz.com\/\">App42<\/a> (PaaS + analytics, free tier).<\/p>\n<h2 id=\"7\">7. Going From Beta To Live<\/h2>\n<p>Before an app gets published in the App Store, you need to upload it with iTunes Connect. You enter your app\u2019s basic information like a <strong>description, app categories and what app icon to use<\/strong>.<\/p>\n<p>Your app then enters the review process, a requirement from Apple. A reviewer from Apple checks if your app adheres to the Review Guidelines and whether it has bugs. It\u2019s a <strong>quality check<\/strong> to ensure only good apps enter the App Store, and from the point of uploading it <strong>takes about 2 weeks<\/strong> to get your app reviewed.<\/p>\n<p><strong>More on Hongkiat:<\/strong><\/p>\n<ul>\n<li><a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/create-app-icons\/\" rel=\"noopener\">Easily generate iOS app icons with MakeAppIcon<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/itunes-meta-tag\/\" rel=\"noopener\">Promote your iOS app with iTunes app meta tag<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/tips-to-increase-app-downloads\/\" rel=\"noopener\">8 tips to increase downloads for your app<\/a><\/li>\n<li><a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/ga-alternatives\/\" rel=\"noopener\">10 Best Alternatives For Google AdSense<\/a><\/li>\n<\/ul>\n<h2 id=\"8\">10 FAQs to Creating Your First App<\/h2>\n<p>Of course at this point you might still have some burning questions related to creating your very first iOS apps. We\u2019re going to take a look at the top 10 questions new app developers are concerned about.<\/p>\n<h3>1. How much does an app cost?<\/h3>\n<p>The cost of development of an app can really differ from one contracting company to the other. Outsourcing freelancers can create a simple app for around USD3000. Bigger companies can ask from USD25,000 to USD100,000 for a complex application, including graphic design and back-end programming. Companies like Tinder, Pinterest, Facebook, etc. can spend hundreds of thousands to millions on developing and marketing <em>one<\/em> app. Just like anywhere else: <strong>you get what you pay for<\/strong>.<\/p>\n<h3>2. I\u2019m stuck with a programming bug. How do I get help?<\/h3>\n<p>A lot of beginner programming questions have been asked already on sites such as <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/stackoverflow.com\/\">StackOverflow<\/a>. Search for the error message or bug you found, and you\u2019ll most likely find a solution. When asking a question yourself, <strong>always search first<\/strong>, and <strong>make sure you explain your problem thoroughly<\/strong> and <strong>tell the steps you\u2019ve already taken to solve it<\/strong>. <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.quora.com\/\">Quora<\/a> is a good medium for asking non-technical questions, such as about business and UX\/UI topics.<\/p>\n<h3>3. I have a brilliant idea for an app. Where do I start?<\/h3>\n<p>If you\u2019re serious about creating a business based on an app, don\u2019t start with programming immediately. First, <strong>validate your business idea <\/strong>by<strong> pitching to your target audience<\/strong>.<\/p>\n<p>Get in touch with potential customers and survey them, <strong>asking for feedback<\/strong>.<\/p>\n<p>Keep in mind that<strong> most successful apps solve an immediate problem, in such a way that customers want to pay for it<\/strong>. When you\u2019ve validated your idea, and created a relationship with your first customers, proceed with design and development of the actual app.<\/p>\n<h3>4. Do I need an iPhone to create apps?<\/h3>\n<p>No, but it\u2019s recommended. Xcode has an iPhone Simulator, that runs your apps just like a physical iPhone would. Holding a real iPhone with your app in your hands is different from seeing it on your computer\u2019s monitor, so testing your app on an actual device is recommended.<\/p>\n<p><strong>Keep in mind that Xcode only runs on Mac OS X.<\/strong><\/p>\n<h3>5. I\u2019m not good at maths, do I need it for programming?<\/h3>\n<p>Yes, and no. It\u2019s an urban myth that to be able to code you must be good at maths. A lot of programming principles find their roots in mathematics, but they\u2019re not required for a basic understanding of how to <em>make apps<\/em>. When you dive deeper and become more proficient at programming, you\u2019ll find that you have picked up some maths skills along the way.<\/p>\n<h3>6. I work for a company. Do I pursue my app idea with the company, or in my own time?<\/h3>\n<p>It depends on the company and your position. Are you an engineer and is your company\u2019s core business online, digital or closely related to apps? Then you might want to <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/mobile-devices-gui-prototyping-templates\/\" rel=\"noopener\">build a prototype<\/a> and convince your supervisor or employer to pursue the idea.<\/p>\n<p>If you think your employer won\u2019t see the value, you can pursue the app idea in your own time. <strong>Be mindful of your contract with your employer<\/strong>. Inventions made during your time with the company could be regarded as the company\u2019s intellectual property, not yours.<\/p>\n<h3>7. My app idea already exists in the App Store. What do I do now?<\/h3>\n<p>The fact that it exists <strong>doesn\u2019t mean it\u2019s a good app<\/strong>. You can always create a competing app and <strong>make it better<\/strong> than what\u2019s already out there.<\/p>\n<p>Likewise, the fact that an app <em>doesn\u2019t<\/em> exist yet doesn\u2019t make it a good idea to create it. It could well be that an app has been published multiple times, but was pulled from the App Store because there was no need for it.<\/p>\n<p>Always validate your app idea by <strong>the problem it is solving<\/strong> and <strong>the value it has<\/strong> for its users.<\/p>\n<h3>8. Why is the iPhone sometimes called iOS?<\/h3>\n<p>There\u2019s a slight difference: iPhone is the name for the actual hardware smartphone and iOS stands for \u201ci Operating System\u201d. Going back into Apple\u2019s history, the iMac computer was the first product to have the prefix \u201ci\u201d. Later on, they\u2019ve followed this style and created more products: iTunes, iPod, iPad and iPhone. It\u2019s only natural to call the operating system that runs on the iPhone, iOS.<\/p>\n<h3>9. How do you effectively market an iPhone app?<\/h3>\n<p>Entire books have been written about this question! It\u2019s a hard one, but not impossible to answer. All successful apps solve one problem, in such a way that people want to pay for it.<\/p>\n<p>You can either <strong>come up with a problem<\/strong> and <strong>find people that need your solution<\/strong>, or <strong>find an audience<\/strong> and <strong>survey them for problems you could make a solution for<\/strong>. Keep in touch with this customer group and give them a way to tell others about your product. Referrals and word-of-mouth is an effective and cheap marketing machine.<\/p>\n<h3>10. What\u2019s the worst way to learn programming?<\/h3>\n<p><strong>Giving up is one of the worst ways to learn programming<\/strong>. Learning a new skill has ups and downs, and you can only keep going by celebrating the ups and seeing through the downs. Giving up is not part of the equation.<\/p>\n<p>Also, find out what your learning style is. There\u2019s no point in watching videos, when writing code and trial-and-error suits you better.<\/p>\n<p>Finally, don\u2019t randomly pick a book on programming from the library but <strong>find a proven learning method<\/strong> or path. When learning Spanish, you don\u2019t start with reading a dictionary, right?<\/p>\n<h2 id=\"9\">Learning Resources To Get Started<\/h2>\n<p>If you still want to go through with creating your first iOS app, this section is where you find all your learning resources to get started.<\/p>\n<p>App development involves a lot of components, and when you\u2019re new it can be quite a challenge to get acquainted with all the tools. Fear not! You can make your first app in a day at max, with no prior programming experience. The only thing you need is a good resource that shows you the ropes and focuses on one toolset at once. There\u2019s plenty of beginner tutorials on the internet, as well as premium courses.<\/p>\n<h3>The Learning Process: In Brief<\/h3>\n<p>What\u2019s your learning style? Consider that before you pick a resource.<\/p>\n<ul>\n<li><strong>Watching videos<\/strong>: <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/web.stanford.edu\/class\/cs193p\/cgi-bin\/drupal\/\">CS 193P iPhone Application Development<\/a> by Stanford University, available for <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/itunes.apple.com\/us\/course\/developing-ios-8-apps-swift\/id961180099\">iTunes U<\/a> (free).<\/li>\n<li><strong>Reading a book<\/strong>: <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.amazon.com\/\/Swift-Hours-Sams-Teach-Yourself\/dp\/067233724X\">Sams Teach Yourself Swift In 24 Hours<\/a> ($25-$35) and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/books.apple.com\/us\/book-series\/swift-programming-series\/id888896989\">The Swift Programming Language Book<\/a> by Apple (free)<\/li>\n<li><strong>Coding yourself<\/strong>: programming tutorials by <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.weheartswift.com\/\">We Heart Swift<\/a>, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/jamesonquave.com\/\">JamesonQuave<\/a> and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.appcoda.com\/\">AppCoda<\/a> (all free).<\/li>\n<\/ul>\n<p>When you\u2019ve built your first app, it\u2019s a great plan to briefly <strong>dive into a number of components<\/strong> after one another. Learn about:<\/p>\n<ol>\n<li>Using <strong>navigation controllers<\/strong>, such as tab bars and hamburger menu\u2019s<\/li>\n<li>Using <strong>hardware<\/strong>, such as the camera and accelerometer<\/li>\n<li>Using <strong>layouts<\/strong>, such as the table view controller and the page view controller<\/li>\n<li>Working with <strong>animations<\/strong> and <strong>view transitions<\/strong><\/li>\n<li>The <strong>app lifecycle<\/strong><\/li>\n<li><strong>Compilers and build tools<\/strong><\/li>\n<\/ol>\n<p>Most of these topics require a couple of days (24 to 32 hours) of tinkering, trial and error, and looking up resources.<\/p>\n<p>Once you got the basics figured out, get straight into <strong>working with internet sources and cloud-based solutions<\/strong> such as Parse. All apps are connected to the Internet one way or another.<\/p>\n<p>Regardless, those who are used to learning new things often can outline their own learning plan and do not necessarily need to follow a program such as a course or a book.<\/p>\n<h2>Wrap Up<\/h2>\n<p>Wouldn\u2019t it be great to have your own app in the App Store? You now have a basic outline of the tools involved in making apps, and what it takes to learn how to make your own apps. Get started with Swift by reading a book or following a tutorial, craft a great looking interface with Balsamiq, get yourself a developer account and publish that app!<\/p>","protected":false},"excerpt":{"rendered":"<p>Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and effort involved. Let\u2019s not tell you what you should know, but rather explain how you can actually get started today to get an app published in the App Store. For&hellip;<\/p>\n","protected":false},"author":339,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3399],"tags":[3214],"topic":[4521],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Build &amp; Publish Your First iPhone App: The Ultimate Guide - Hongkiat<\/title>\n<meta name=\"description\" content=\"Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build &amp; Publish Your First iPhone App: The Ultimate Guide\" \/>\n<meta property=\"og:description\" content=\"Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-17T10:01:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-06T11:20:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/xcode.jpg\" \/>\n<meta name=\"author\" content=\"Reinder de Vries\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reinder de Vries\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/\"},\"author\":{\"name\":\"Reinder de Vries\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7a92f4928a4bfab39372b0f01f3955d\"},\"headline\":\"Build &#038; Publish Your First iPhone App: The Ultimate Guide\",\"datePublished\":\"2015-03-17T10:01:33+00:00\",\"dateModified\":\"2023-04-06T11:20:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/\"},\"wordCount\":2876,\"commentCount\":14,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/building-publishing-iphone-app-guide\\\/xcode.jpg\",\"keywords\":[\"Mobile App Development\"],\"articleSection\":[\"Mobile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/\",\"name\":\"Build & Publish Your First iPhone App: The Ultimate Guide - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/building-publishing-iphone-app-guide\\\/xcode.jpg\",\"datePublished\":\"2015-03-17T10:01:33+00:00\",\"dateModified\":\"2023-04-06T11:20:00+00:00\",\"description\":\"Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/building-publishing-iphone-app-guide\\\/xcode.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/building-publishing-iphone-app-guide\\\/xcode.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/building-publishing-iphone-app-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build &#038; Publish Your First iPhone App: The Ultimate Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7a92f4928a4bfab39372b0f01f3955d\",\"name\":\"Reinder de Vries\",\"description\":\"Reinder is an entrepreneur and app developer, who believes that there are not enough app makers in the world. He has developed 50+ apps and his code is used by millions of users all over the globe. When he's not coding, he teaches aspiring developers how to make their own apps at LearnAppMaking.com.\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/rienderdevries\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Build & Publish Your First iPhone App: The Ultimate Guide - Hongkiat","description":"Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/","og_locale":"en_US","og_type":"article","og_title":"Build & Publish Your First iPhone App: The Ultimate Guide","og_description":"Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and","og_url":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2015-03-17T10:01:33+00:00","article_modified_time":"2023-04-06T11:20:00+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/xcode.jpg","type":"","width":"","height":""}],"author":"Reinder de Vries","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Reinder de Vries","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/"},"author":{"name":"Reinder de Vries","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7a92f4928a4bfab39372b0f01f3955d"},"headline":"Build &#038; Publish Your First iPhone App: The Ultimate Guide","datePublished":"2015-03-17T10:01:33+00:00","dateModified":"2023-04-06T11:20:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/"},"wordCount":2876,"commentCount":14,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/xcode.jpg","keywords":["Mobile App Development"],"articleSection":["Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/","url":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/","name":"Build & Publish Your First iPhone App: The Ultimate Guide - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/xcode.jpg","datePublished":"2015-03-17T10:01:33+00:00","dateModified":"2023-04-06T11:20:00+00:00","description":"Are you considering making your own app? This is what you need to know. Learn about the app ecosystem, programming languages, toolsets, and time and","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/xcode.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/building-publishing-iphone-app-guide\/xcode.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/building-publishing-iphone-app-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Build &#038; Publish Your First iPhone App: The Ultimate Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7a92f4928a4bfab39372b0f01f3955d","name":"Reinder de Vries","description":"Reinder is an entrepreneur and app developer, who believes that there are not enough app makers in the world. He has developed 50+ apps and his code is used by millions of users all over the globe. When he's not coding, he teaches aspiring developers how to make their own apps at LearnAppMaking.com.","url":"https:\/\/www.hongkiat.com\/blog\/author\/rienderdevries\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-66s","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/23464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/339"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=23464"}],"version-history":[{"count":5,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/23464\/revisions"}],"predecessor-version":[{"id":66008,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/23464\/revisions\/66008"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=23464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=23464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=23464"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=23464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}