{"id":10015,"date":"2016-07-06T09:49:38","date_gmt":"2016-07-06T13:49:38","guid":{"rendered":"http:\/\/www.analystik.ca\/blogue\/?p=10015"},"modified":"2019-01-23T16:45:15","modified_gmt":"2019-01-23T21:45:15","slug":"how-to-make-an-iphone-app-from-a-to-z","status":"publish","type":"post","link":"https:\/\/analystik.ca\/blogue\/language\/en\/how-to-make-an-iphone-app-from-a-to-z\/","title":{"rendered":"How to make an iOS 10 iPhone App"},"content":{"rendered":"<h2>Part 1 \u2013 The design before Xcode<\/h2>\n<p>Here at Analystik, we have done a case study for the creation of an iPhone application using the <a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xcode<\/a> development environment. We searched online and couldn\u2019t find a good step by step tutorial of the process, so we decided to create one for you. Here it is\u00a0! At first, this part concentrates on the early stages before you get into <a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xcode<\/a>, so these steps are the same for an iPhone, Android or Windows (with some differences in the exportation of files).<br \/>\n<!--more--><\/p>\n<h2>Step 1 : Finding an idea for an app<\/h2>\n<p>First, you need an idea \u2013 a good idea. There are a lot applications in App Stores so making an app that already exists is almost always useless.\u00a0Finally, we choose an app which allows people to compare the fees of a car that runs on gas versus owning an electric car.<\/p>\n<p>We needed a server that accepts Rest calls from a database to chose the brands of the cars. The app is very simple and so is the server because our objective is more to prove our expertise in the Business Intelligence behind the app. However, if you create a server or connect to another server, Appel emphasizes security. In iOS10, you have to make changes in the \u00ab\u00a0info.plist\u00a0\u00bb file to access an http server.<\/p>\n<h2>Step 2 : Make a prototype (GUI)<\/h2>\n<p>Before you begin to design the application with a mockup tool, it is a good idea to make some quick models by hand to test the logic of how the app will run. Here, we can already begin to give a style or look to the idea and can start to elaborate the storyboard. These sketches should be really quick (30 seconds to 2 minutes). Once we are satisfied, we go to the computer.<\/p>\n<h2>Step 3 : Creating the interface<\/h2>\n<p>Once the requirements are set and the conceptual design is complete, it is time to create the interface. We use <a href=\"https:\/\/www.sketchapp.com\" target=\"_blank\" rel=\"noopener noreferrer\">Sketch3<\/a>, but you can also use <a href=\"https:\/\/www.adobe.com\/ca\/products\/experience-design.html\" target=\"_blank\" rel=\"noopener noreferrer\">Adobe XD<\/a>. We don\u2019t recommend Photoshop or Illustrator because it will take longer to export the images.<\/p>\n<h3>The x\u2019s<\/h3>\n<p>In iOS applications, you\u2019ll find mention of 1x, 2x, and 3x images. Since the iPhone 4, screen quality has improved, so to prevent blurred images, you need high-resolution images. The \u00ab\u00a0x\u00a0\u00bb is used to classify images\u00a0: 1 x equals a resolution of 72 dpi, 2x is 144 dpi and 3x is 326 dpi. You don\u2019t need to remember the dpi, just remember that 2x will be two times larger than 1x and 3x is three times larger than 1 x (hence the advantage of using vector graphics).<\/p>\n<p>Sketch has plug-ins such as \u00ab\u00a0<a href=\"https:\/\/github.com\/bouchenoiremarc\/Sketch-Constraints\" target=\"_blank\" rel=\"noopener noreferrer\">constraint<\/a>\u00ab\u00a0; to quickly create other versions of our design. \u00ab\u00a0<a href=\"https:\/\/github.com\/tadija\/AEIconizer\" target=\"_blank\" rel=\"noopener noreferrer\">Aeiconizer<\/a>\u00a0\u00bb to copy and to make different dimensions for the icons. It is also possible to export the vector images 1x, 2x, and 3x in a way that is native to the software.<\/p>\n<h3>The application icon<\/h3>\n<p>We begin with the icon. We insert an artboard of 1024px by 1024px and we draw the drawing in vector (recommended) inside.<br \/>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-9960 aligncenter\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon.png\" alt=\"Choisir un artboard\" width=\"217\" height=\"823\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon.png 217w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/mac-icon-79x300.png 79w\" sizes=\"(max-width: 217px) 100vw, 217px\" \/><\/a><\/p>\n<p>Next, we run \u00ab\u00a0Aeiconizer\u00a0\u00bb\u00a0and it generates all sizes for icons (1x, 2x, 3x) iPhone 4, 5, 6, iPad, iTunes, etc.<\/p>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9963 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series-300x181.png\" alt=\"une s\u00e9rie d'ic\u00f4ne\" width=\"300\" height=\"181\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series-300x181.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series-768x464.png 768w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/icon-series.png 904w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\n<p>Simply select all of the icons, click on \u00ab\u00a0make exportable\u00a0\u00bb in the lower right corner and export all in 1x.<\/p>\n<img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-9959 aligncenter\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/make-exportable.png\" alt=\"make exportable\" width=\"214\" height=\"69\" \/>\n<p>Since the different sizes (2x, 3x) are already created, it is unnecessary to generate a version other than 1x. Everything is already there\u00a0!<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export1x.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-9964 aligncenter\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export1x.png\" alt=\"exportation en 1x\" width=\"214\" height=\"108\" \/><\/a>\n<h3>The story-board<\/h3>\n<p>Xcode works with a storyboard (or multiple storyboards) for the course of your app. We just made one size, but you have to do all of the size. As well as the \u00ab\u00a0splash screen\u00a0\u00bb. Also, don\u2019t forget that it has to work in the landscape format.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9958 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se-300x123.png\" alt=\"s\u00e9rie de designs pour iPhone SE\" width=\"300\" height=\"123\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se-300x123.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se-768x316.png 768w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/series-se.png 843w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n<p>Normally, the iPhone SE is the smallest format.<\/p>\n<p>First, we create a new document with the template \u00a0\u00bb iOS UI design \u00a0\u00bb (File -&gt; New Form Template -&gt; iOS UI design). There are tons of symbols included and we can already see them on the screen.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9962 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate-300x124.png\" alt=\"cr\u00e9er d'un template\" width=\"300\" height=\"124\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate-300x124.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iostemplate.png 393w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9956 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-300x212.png\" alt=\"iOS ui design\" width=\"300\" height=\"212\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-300x212.png 300w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-768x544.png 768w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch-1024x725.png 1024w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/ui-design-sketch.png 1242w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n<p>We insert an artboard the size of a phone with the menu on the right and we make our various designs.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9961\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank.png\" alt=\"iPhone6 artboard\" width=\"181\" height=\"335\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank.png 181w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/iphone6blank-162x300.png 162w\" sizes=\"(max-width: 181px) 100vw, 181px\" \/><\/a>\n<p>We can insert symbols that are the default items in Xcode so we don\u2019t need to export them. Note that the default margins are 20 px in Xcode, but you can decide to ignore them.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9957 size-medium\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select-295x300.png\" alt=\"s\u00e9lection de symboles\" width=\"295\" height=\"300\" srcset=\"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select-295x300.png 295w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select-65x65.png 65w, https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/symbol-select.png 649w\" sizes=\"(max-width: 295px) 100vw, 295px\" \/><\/a>\n<p>Finally, once our design has been created, we export the images individually in 1x, 2x, and 3x. We click on \u00ab\u00a0make exportable\u00a0\u00bb and on \u00ab\u00a0+\u00a0\u00bb to add sizes. The PNG format will do the job, but make sure that the layer you export has an easily identifiable name for later.<\/p>\n<a href=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export-setting.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9965 size-full\" src=\"http:\/\/www.analystik.ca\/blogue\/wp-content\/uploads\/2016\/06\/export-setting.png\" alt=\"exportation en plusieurs x\" width=\"214\" height=\"195\" \/><\/a>\n<p>If you want to learn more about Sketch and all its functions, check out <a href=\"https:\/\/www.youtube.com\/playlist?list=PLLnpHn493BHE6UIsdKYlS5zu-ZYvx22CS\" target=\"_blank\" rel=\"noopener noreferrer\">LevelUpTuts<\/a>.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Part 1 \u2013 The design before Xcode Here at Analystik, we have done a case study for the creation of an iPhone application using the Xcode development environment. We searched online and couldn\u2019t find a good step by step tutorial of the process, so we decided to create one for you. Here it is\u00a0! At&#8230;  <a class=\"excerpt-read-more\" href=\"https:\/\/analystik.ca\/blogue\/language\/en\/how-to-make-an-iphone-app-from-a-to-z\/\" title=\"Read How to make an iOS 10 iPhone App\">Read more &raquo;<\/a><!-- AddThis Advanced Settings generic via filter on wp_trim_excerpt --><!-- AddThis Share Buttons generic via filter on wp_trim_excerpt --><\/p>\n","protected":false},"author":3,"featured_media":11619,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"Learn how to program and create an iPhone App from A to Z. Creating the asset with Sketch or Adobe XD.","_seopress_robots_index":"","content-type":"","footnotes":""},"categories":[2579,3415],"tags":[995,997,2985,3184,3489,3115,3129,3135,2915,1011],"better_featured_image":{"id":11619,"alt_text":"","caption":"","description":"","media_type":"image","media_details":{"width":2880,"height":1620,"file":"2016\/07\/iphone.jpg","sizes":{"thumbnail":{"file":"iphone-150x150.jpg","width":150,"height":150,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-150x150.jpg"},"medium":{"file":"iphone-300x169.jpg","width":300,"height":169,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-300x169.jpg"},"medium_large":{"file":"iphone-768x432.jpg","width":768,"height":432,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-768x432.jpg"},"large":{"file":"iphone-1024x576.jpg","width":1024,"height":576,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-1024x576.jpg"},"bones-thumb-2880":{"file":"iphone-2880x1620.jpg","width":2880,"height":1620,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-2880x1620.jpg"},"bones-thumb-1920":{"file":"iphone-1920x1271.jpg","width":1920,"height":1271,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-1920x1271.jpg"},"bones-thumb-1536":{"file":"iphone-1536x1016.jpg","width":1536,"height":1016,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-1536x1016.jpg"},"bones-thumb-960":{"file":"iphone-960x635.jpg","width":960,"height":635,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-960x635.jpg"},"bones-thumb-600":{"file":"iphone-600x397.jpg","width":600,"height":397,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-600x397.jpg"},"bones-thumb-300":{"file":"iphone-300x199.jpg","width":300,"height":199,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-300x199.jpg"},"post-thumbnail":{"file":"iphone-125x125.jpg","width":125,"height":125,"mime-type":"image\/jpeg","source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone-125x125.jpg"}},"image_meta":{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0","keywords":[]}},"post":10015,"source_url":"https:\/\/analystik.ca\/blogue\/wp-content\/uploads\/2016\/07\/iphone.jpg"},"_links":{"self":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts\/10015"}],"collection":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/comments?post=10015"}],"version-history":[{"count":9,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts\/10015\/revisions"}],"predecessor-version":[{"id":12134,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/posts\/10015\/revisions\/12134"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/media\/11619"}],"wp:attachment":[{"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/media?parent=10015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/categories?post=10015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/analystik.ca\/blogue\/wp-json\/wp\/v2\/tags?post=10015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}