{"id":2259,"date":"2015-10-14T19:57:32","date_gmt":"2015-10-14T19:57:32","guid":{"rendered":"http:\/\/www.nikola-breznjak.com\/blog\/?p=2259"},"modified":"2015-10-14T20:08:43","modified_gmt":"2015-10-14T20:08:43","slug":"build-an-app-for-distribution-with-ionic-package","status":"publish","type":"post","link":"https:\/\/nikola-breznjak.com\/blog\/javascript\/ionic\/build-an-app-for-distribution-with-ionic-package\/","title":{"rendered":"Build an app for distribution with Ionic Package"},"content":{"rendered":"<p>As just announced on the <a href=\"http:\/\/blog.ionic.io\/build-apps-in-minutes-with-ionic-package\/\">official blog post<\/a>\u00a0IonicPackage now lets you build an iOS app for distribution on Windows machine.<\/p>\n<p>This indeed is a huge news. However, don&#8217;t think you won&#8217;t have to buy a Mac (or make your own Hackintosh or buy Mac in cloud or similar mumbo jumbo) to build an app for iOS. Well, at least for now you still have to set the\u00a0certificate and provisioning profile for iOS builds (and you can do that only on a Mac).<\/p>\n<p>Anyways, during the open alpha period, Ionic Package will be 100% free to use, and later they promised to have a free dev package as well.<\/p>\n<p>In order to try this out first update your Ionic CLI to the newest version:<\/p>\n<pre class=\"lang:default decode:true \">npm install -g ionic<\/pre>\n<p>Then, when you&#8217;re done with your app, you have to make sure that you uploaded it to Ionic with:<\/p>\n<pre class=\"lang:default decode:true \">ionic upload<\/pre>\n<h3>Build for Android<\/h3>\n<p>If you want to build for Android it execute:<\/p>\n<pre class=\"lang:default decode:true\">ionic package build android<\/pre>\n<p>The output of the command looks something like this:<\/p>\n<pre class=\"lang:default decode:true\">&gt; ionic package build android --profile dev                                \r\n[=============================]  100%  0.0s\r\nPreparing your resources...\r\nUploading your resources to Ionic...\r\nSubmitting your app to Ionic Package...\r\nYour app has been successfully submitted to Ionic Package!\r\nBuild ID: 1\r\nWe are now packaging your app.<\/pre>\n<p>To check the status of the packaging execute:<\/p>\n<pre class=\"lang:default decode:true \">ionic package list<\/pre>\n<p>You should see something similar to this output:<\/p>\n<pre class=\"lang:default decode:true\">&gt; ionic package list                                                       \r\n\r\n  id \u2502 status  \u2502 platform \u2502 mode  \u2502 started\r\n\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  1  \u2502 SUCCESS \u2502 android  \u2502 debug \u2502 Oct 14th, 2015 21:20:33\r\n\r\nShowing 1 of your latest builds.<\/pre>\n<p>If the status shows SUCCESS then you can finally download the build by executing:<\/p>\n<pre class=\"lang:default decode:true \">ionic package download BUILD_ID<\/pre>\n<p>Where, of course you would enter your own BUILD_ID number. In my case the command would be:<\/p>\n<pre class=\"lang:default decode:true \">ionic package download 1<\/pre>\n<p>The output of the command shows where the .apk file has been downloaded:<\/p>\n<pre class=\"lang:default decode:true \">&gt; ionic package download 1                                                 \r\nDownloading... [=============================]  100%  0.0s\r\n\r\nWrote: \/Users\/nikola\/Desktop\/ionicTesting\/ionicPackageTest\/ionicPackageTest.apk\r\n \u2713 Done!<\/pre>\n<p>You can learn more about how to use the Ionic Android build tools from <a href=\"http:\/\/docs.ionic.io\/v1.0\/docs\/package-android\">official documentation<\/a>.<\/p>\n<h3>Build for iOS<\/h3>\n<p>The process is basically the same as for Android, with the added prerequisite of creating\u00a0certificate and provisioning profile. You can learn more about how to use the Ionic iOS build tools from <a href=\"http:\/\/docs.ionic.io\/v1.0\/docs\/package-ios\">official documentation<\/a>.<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\">\n<p lang=\"en\" dir=\"ltr\">Build an <a href=\"https:\/\/twitter.com\/hashtag\/app?src=hash\">#app<\/a> for distribution with <a href=\"https:\/\/twitter.com\/hashtag\/Ionic?src=hash\">#Ionic<\/a> Package <a href=\"http:\/\/t.co\/TOfW7ofZXR\">http:\/\/t.co\/TOfW7ofZXR<\/a><\/p>\n<p>&mdash; Nikola Bre\u017enjak (@HitmanHR) <a href=\"https:\/\/twitter.com\/HitmanHR\/status\/654388098546159618\">October 14, 2015<\/a><\/p><\/blockquote>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As just announced on the official blog post\u00a0IonicPackage now lets you build an iOS app for distribution on Windows machine. This indeed is a huge news. However, don&#8217;t&hellip;<\/p>\n","protected":false},"author":1,"featured_media":2260,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-2259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ionic"],"_links":{"self":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/2259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/comments?post=2259"}],"version-history":[{"count":3,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/2259\/revisions"}],"predecessor-version":[{"id":2263,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/2259\/revisions\/2263"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/media\/2260"}],"wp:attachment":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/media?parent=2259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/categories?post=2259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/tags?post=2259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}