{"id":1213,"date":"2016-08-02T17:09:15","date_gmt":"2016-08-02T17:09:15","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=1213"},"modified":"2020-11-24T16:12:35","modified_gmt":"2020-11-24T16:12:35","slug":"deploying-to-a-device-without-an-apple-developer-account","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account","title":{"rendered":"Deploying to a Device without an Apple Developer Account"},"content":{"rendered":"<p>One of the most common complaints you&#8217;ll hear from pretty much every single person that decides to try their hand at mobile app development for iOS has to do with Apple Developer accounts. Apple Developer account required? $99\/year?! Outrageous!<\/p>\n<p>But wait, it turns out this is no longer the whole story.<\/p>\n<p>First off, yes, you do still need an Apple Developer account if you want to distribute your app in the App Store. Sorry to get your hopes up, but there&#8217;s no getting around it.<\/p>\n<p>The good news is that you can develop and test your apps on your iOS device <em>without a paid Apple Developer account<\/em>. This is particularly great for developers who want to try out, or are just starting to develop, using a framework like Ionic, since it saves the cost but gets you a lot of the features of having a full Apple Developer account.<\/p>\n<p><!--more--><\/p>\n<p>For a full breakdown of the features included, take a look <a href=\"https:\/\/developer.apple.com\/library\/ios\/documentation\/IDEs\/Conceptual\/AppDistributionGuide\/SupportedCapabilities\/SupportedCapabilities.html#\/\/apple_ref\/doc\/uid\/TP40012582-CH38-SW1\">here<\/a>.<\/p>\n<h3>Requirements<\/h3>\n<p>In order to take advantage of this, you&#8217;ll need three things:<\/p>\n<ul>\n<li>Xcode 7 or higher<\/li>\n<li>iOS 9<\/li>\n<li>A free <a href=\"https:\/\/appleid.apple.com\/\">Apple ID<\/a><\/li>\n<\/ul>\n<p>Sorry to break it to you PC users, but Xcode is still required, which means you still need a Mac.<\/p>\n<h3>Getting Set Up<\/h3>\n<p>To start, you&#8217;ll need to set up a provisioning profile to code sign your apps:<\/p>\n<ol>\n<li>Open Xode preferences (Xcode > Preferences&#8230;)<\/li>\n<li>Click the &#8216;Accounts&#8217; tab<\/li>\n<li>Login with your Apple ID (+ > Add Apple ID&#8230;)<\/li>\n<\/ol>\n<p>Once you&#8217;ve successfully logged in, a new &#8216;Personal Team&#8217; with the role &#8216;Free&#8217; will appear beneath your Apple ID.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"932\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles.jpg\" alt=\"profiles\" class=\"aligncenter size-full wp-image-1216 lazyload\" data-srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles.jpg 1200w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles-300x233.jpg 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles-768x596.jpg 768w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles-1024x795.jpg 1024w\" data-sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1200px; --smush-placeholder-aspect-ratio: 1200\/932;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"932\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles.jpg\" alt=\"profiles\" class=\"aligncenter size-full wp-image-1216\" srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles.jpg 1200w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles-300x233.jpg 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles-768x596.jpg 768w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/profiles-1024x795.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/noscript><\/p>\n<h3>Running Your App<\/h3>\n<p>Time to try it out. Let&#8217;s start by creating an Ionic 2 template app, and building it for iOS:<\/p>\n<pre><code>ionic start testApp blank --v2\ncd testApp\nionic build iOS\n<\/code><\/pre>\n<p>Once the build is complete, then open the <code>.xcodeproj<\/code> file in <code>platforms\/ios\/<\/code> in Xcode, then click the play button to try to run your app on an iPhone connected to your Mac.<\/p>\n<p>Oops, code signing error! No problem.<\/p>\n<h3>Code Signing in Xcode<\/h3>\n<p>What happens next will depend on if you are running Xcode 8 or an earlier version of Xcode. Let&#8217;s take a look.<\/p>\n<h4>XCode 7 and Earlier<\/h4>\n<p>If you are running Xcode 7 or earlier, you&#8217;ll get a code signing error that looks something like this when you try to run the app:<\/p>\n<p><img decoding=\"async\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/sign-fail-1.jpg\" style=\"--smush-placeholder-width: 650px; --smush-placeholder-aspect-ratio: 650\/362;width:400px\"alt=\"sign-fail\" class=\"aligncenter size-md wp-image-1222 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" \/><noscript><img decoding=\"async\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/sign-fail-1.jpg\" style=\"width:400px\"alt=\"sign-fail\" class=\"aligncenter size-md wp-image-1222\" \/><\/noscript><\/p>\n<p>Click the &#8216;Fix Issue&#8217; button, then select your &#8216;Personal Team&#8217; profile.<\/p>\n<p><img decoding=\"async\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/team-menu-1.jpg\" style=\"--smush-placeholder-width: 650px; --smush-placeholder-aspect-ratio: 650\/261;width:400px\" alt=\"team-menu\" class=\"aligncenter size-md wp-image-1223 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" \/><noscript><img decoding=\"async\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/team-menu-1.jpg\" style=\"width:400px\" alt=\"team-menu\" class=\"aligncenter size-md wp-image-1223\" \/><\/noscript><\/p>\n<h4>XCode 8<\/h4>\n<p>If you are running Xcode 8, the code signing error will appear as a buildtime error, rather than as a pop-up:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1026\" height=\"385\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8.png\" alt=\"code-sign-err-xcode8\" class=\"aligncenter size-full wp-image-1522 lazyload\" data-srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8.png 1026w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8-300x113.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8-768x288.png 768w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8-1024x384.png 1024w\" data-sizes=\"auto, (max-width: 1026px) 100vw, 1026px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1026px; --smush-placeholder-aspect-ratio: 1026\/385;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1026\" height=\"385\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8.png\" alt=\"code-sign-err-xcode8\" class=\"aligncenter size-full wp-image-1522\" srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8.png 1026w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8-300x113.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8-768x288.png 768w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-err-xcode8-1024x384.png 1024w\" sizes=\"auto, (max-width: 1026px) 100vw, 1026px\" \/><\/noscript><\/p>\n<p>To select the certificate to sign your app with, do the following:<\/p>\n<ol>\n<li>Go to the Project Editor by clicking the name or your project in the Project Navigator<\/li>\n<li>Select the &#8216;General&#8217; section if it isn&#8217;t already<\/li>\n<li>Select the Personal Team you created earlier from the &#8216;Team&#8217; dropdown in the &#8216;Signing&#8217; section<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"897\" height=\"508\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8.png\" alt=\"code-sign-xcode8\" class=\"aligncenter size-full wp-image-1523 lazyload\" data-srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8.png 897w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8-300x170.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8-768x435.png 768w\" data-sizes=\"auto, (max-width: 897px) 100vw, 897px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 897px; --smush-placeholder-aspect-ratio: 897\/508;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"897\" height=\"508\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8.png\" alt=\"code-sign-xcode8\" class=\"aligncenter size-full wp-image-1523\" srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8.png 897w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8-300x170.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/code-sign-xcode8-768x435.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/noscript><\/p>\n<h3>Trusting the Certificate<\/h3>\n<p>Only one more step. Really, this is the last one. I know it&#8217;s been a long haul, but trust me on this.<\/p>\n<p>Once you&#8217;ve code signed your app, you should get a launch error that looks like this:<\/p>\n<p><img decoding=\"async\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/launch-fail-1.jpg\" style=\"--smush-placeholder-width: 650px; --smush-placeholder-aspect-ratio: 650\/247;width:400px\" alt=\"launch-fail\" class=\"aligncenter size-md wp-image-1221 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" \/><noscript><img decoding=\"async\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/launch-fail-1.jpg\" style=\"width:400px\" alt=\"launch-fail\" class=\"aligncenter size-md wp-image-1221\" \/><\/noscript><\/p>\n<p>To get past this, all we have to do now is tell our iOS device to trust the certificate we code signed our app with. To do this, in your iOS device open the &#8216;Settings&#8217; app and go to &#8216;General > Device Management&#8217;. You&#8217;ll see the email address associated with the Apple ID you used to code sign your app. Tap it, then tap &#8216;Trust &lt;your_email&gt;&#8217;:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"444\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/IMG_1460.jpg\" alt=\"IMG_1460\" class=\"aligncenter size-full wp-image-1214 lazyload\" data-srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/IMG_1460.jpg 250w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/IMG_1460-169x300.jpg 169w\" data-sizes=\"auto, (max-width: 250px) 100vw, 250px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 250px; --smush-placeholder-aspect-ratio: 250\/444;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"444\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/IMG_1460.jpg\" alt=\"IMG_1460\" class=\"aligncenter size-full wp-image-1214\" srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/IMG_1460.jpg 250w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/07\/IMG_1460-169x300.jpg 169w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/noscript><\/p>\n<p>Now, go back to Xcode and hit that play button!<\/p>\n<p>The template app should install and launch on your iPhone. Pretty sweet, and it didn&#8217;t cost you a dime.<\/p>\n<h3>Ionic View<\/h3>\n<p>Testing your Ionic app on an actual device brings a lot of advantages with respect to development, such as debugging in Xcode and testing <a href=\"http:\/\/ionicframework.com\/docs\/v2\/native\/\">Ionic Native<\/a> plugins, but it still limits you to testing on your own device. Not ideal for sharing your work in progress with clients and co-workers, or for testing your changes across different devices and platforms.<\/p>\n<p>These are just a couple of the reasons we built Ionic View, which lets you upload your app to Ionic, then view it from the Ionic View app, as though it were running as a standalone app installed on the device.<\/p>\n<p>You can download Ionic View from the <a href=\"https:\/\/itunes.apple.com\/us\/app\/ionic-view\/id849930087?mt=8\">App Store<\/a> or <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.ionic.viewapp&amp;hl=en\">Google Play<\/a>.<\/p>\n<p>To upload your app, so that it&#8217;s usable in Ionic View, run:<\/p>\n<p><code>ionic upload<\/code><\/p>\n<p>Then log into your Ionic account in Ionic View to preview your app.<\/p>\n<p>For more details on how to use Ionic View, check out the <a href=\"http:\/\/ionicframework.com\/docs\/cli\/uploading_viewing.html\">Ionic View docs<\/a>.<\/p>\n<h3>Ionic Package<\/h3>\n<p>Hey PC users! All done with development and ready to roll your app out, but don&#8217;t have a Mac to package it into that precious, precious IPA file for submission to the Apple App Store? Not a problem. There are great services available that let you upload your Ionic project, then package your app for you. <a href=\"https:\/\/build.phonegap.com\/\">PhoneGap Build<\/a> from Adobe is a long-standing favorite of the hybrid community.<\/p>\n<p>Here at Ionic we offer <a href=\"https:\/\/ionic.io\/blog\/build-apps-in-minutes-with-ionic-package\/\">Ionic Package<\/a>, which makes the process as easy as <a href=\"\">creating a security profile<\/a> in your Ionic account with the certificate and provisioning profile for your app, then running<\/p>\n<p><code>ionic package build ios --profile &lt;security_profile_name&gt;<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most common complaints you&#8217;ll hear from pretty much every single person that decides to try their hand at mobile app development for iOS has to do with Apple Developer accounts. Apple Developer account required? $99\/year?! Outrageous! But wait, it turns out this is no longer the whole story. First off, yes, you [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":3537,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"0","publish_post_category":"23","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[124],"tags":[158,100,25],"class_list":["post-1213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-apple","tag-ios","tag-tutorials"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deploying to a Device without an Apple Developer Account - Ionic Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploying to a Device without an Apple Developer Account\" \/>\n<meta property=\"og:description\" content=\"One of the most common complaints you&#8217;ll hear from pretty much every single person that decides to try their hand at mobile app development for iOS has to do with Apple Developer accounts. Apple Developer account required? $99\/year?! Outrageous! But wait, it turns out this is no longer the whole story. First off, yes, you [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-08-02T17:09:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-11-24T16:12:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alex Muramoto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@alexmuramoto\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Muramoto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account\"},\"author\":{\"name\":\"Alex Muramoto\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7\"},\"headline\":\"Deploying to a Device without an Apple Developer Account\",\"datePublished\":\"2016-08-02T17:09:15+00:00\",\"dateModified\":\"2020-11-24T16:12:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account\"},\"wordCount\":868,\"commentCount\":39,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg\",\"keywords\":[\"Apple\",\"iOS\",\"Tutorials\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account\",\"url\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account\",\"name\":\"Deploying to a Device without an Apple Developer Account - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg\",\"datePublished\":\"2016-08-02T17:09:15+00:00\",\"dateModified\":\"2020-11-24T16:12:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg\",\"width\":2560,\"height\":1707,\"caption\":\"apple-device-iphone-keyboard\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploying to a Device without an Apple Developer Account\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7\",\"name\":\"Alex Muramoto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg\",\"caption\":\"Alex Muramoto\"},\"sameAs\":[\"https:\/\/x.com\/alexmuramoto\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/alex\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Deploying to a Device without an Apple Developer Account - Ionic Blog","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:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account","og_locale":"en_US","og_type":"article","og_title":"Deploying to a Device without an Apple Developer Account","og_description":"One of the most common complaints you&#8217;ll hear from pretty much every single person that decides to try their hand at mobile app development for iOS has to do with Apple Developer accounts. Apple Developer account required? $99\/year?! Outrageous! But wait, it turns out this is no longer the whole story. First off, yes, you [&hellip;]","og_url":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account","og_site_name":"Ionic Blog","article_published_time":"2016-08-02T17:09:15+00:00","article_modified_time":"2020-11-24T16:12:35+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg","type":"image\/jpeg"}],"author":"Alex Muramoto","twitter_card":"summary_large_image","twitter_creator":"@alexmuramoto","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Alex Muramoto","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account"},"author":{"name":"Alex Muramoto","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7"},"headline":"Deploying to a Device without an Apple Developer Account","datePublished":"2016-08-02T17:09:15+00:00","dateModified":"2020-11-24T16:12:35+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account"},"wordCount":868,"commentCount":39,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg","keywords":["Apple","iOS","Tutorials"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account","url":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account","name":"Deploying to a Device without an Apple Developer Account - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg","datePublished":"2016-08-02T17:09:15+00:00","dateModified":"2020-11-24T16:12:35+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg","width":2560,"height":1707,"caption":"apple-device-iphone-keyboard"},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/deploying-to-a-device-without-an-apple-developer-account#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Deploying to a Device without an Apple Developer Account"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7","name":"Alex Muramoto","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg","caption":"Alex Muramoto"},"sameAs":["https:\/\/x.com\/alexmuramoto"],"url":"https:\/\/ionic.io\/blog\/author\/alex"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/paolo-giubilato-ThK29bv1h24-unsplash-scaled.jpg","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=1213"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1213\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/3537"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=1213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=1213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=1213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}