The Official Ionic Blog

Build amazing native and progressive web apps with HTML5

One of the most common complaints you’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 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’s no getting around it.

The good news is that you can develop and test your apps on your iOS device without a paid Apple Developer account. 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.

For a full breakdown of the features included, take a look here.

Requirements

In order to take advantage of this, you’ll need three things:

  • Xcode 7 or higher
  • iOS 9
  • A free Apple ID

Sorry to break it to you PC users, but Xcode is still required, which means you still need a Mac.

Getting Set Up

To start, you’ll need to set up a provisioning profile to code sign your apps:

  1. Open Xode preferences (Xcode > Preferences…)
  2. Click the ‘Accounts’ tab
  3. Login with your Apple ID (+ > Add Apple ID…)

Once you’ve successfully logged in, a new ‘Personal Team’ with the role ‘Free’ will appear beneath your Apple ID.

profiles

Running Your App

Time to try it out. Let’s start by creating an Ionic 2 template app, and building it for iOS:

ionic start testApp blank --v2
cd testApp
ionic build iOS

Once the build is complete, then open the .xcodeproj file in platforms/ios/ in Xcode, then click the play button to try to run your app on an iPhone connected to your Mac.

Oops, code signing error! No problem.

Code Signing in Xcode

What happens next will depend on if you are running Xcode 8 or an earlier version of Xcode. Let’s take a look.

XCode 7 and Earlier

If you are running Xcode 7 or earlier, you’ll get a code signing error that looks something like this when you try to run the app:

sign-fail

Click the ‘Fix Issue’ button, then select your ‘Personal Team’ profile.

team-menu

XCode 8

If you are running Xcode 8, the code signing error will appear as a buildtime error, rather than as a pop-up:

code-sign-err-xcode8

To select the certificate to sign your app with, do the following:

  1. Go to the Project Editor by clicking the name or your project in the Project Navigator
  2. Select the ‘General’ section if it isn’t already
  3. Select the Personal Team you created earlier from the ‘Team’ dropdown in the ‘Signing’ section

code-sign-xcode8

Trusting the Certificate

Only one more step. Really, this is the last one. I know it’s been a long haul, but trust me on this.

Once you’ve code signed your app, you should get a launch error that looks like this:

launch-fail

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 ‘Settings’ app and go to ‘General > Device Management’. You’ll see the email address associated with the Apple ID you used to code sign your app. Tap it, then tap ‘Trust <your_email>’:

IMG_1460

Now, go back to Xcode and hit that play button!

The template app should install and launch on your iPhone. Pretty sweet, and it didn’t cost you a dime.

Ionic View

Testing your Ionic app on an actual device brings a lot of advantages with respect to development, such as debugging in Xcode and testing Ionic Native 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.

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.

You can download Ionic View from the App Store or Google Play.

To upload your app, so that it’s usable in Ionic View, run:

ionic upload

Then log into your Ionic account in Ionic View to preview your app.

For more details on how to use Ionic View, check out the Ionic View docs.

Ionic Package

Hey PC users! All done with development and ready to roll your app out, but don’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. PhoneGap Build from Adobe is a long-standing favorite of the hybrid community.

Here at Ionic we offer Ionic Package, which makes the process as easy as creating a security profile in your Ionic account with the certificate and provisioning profile for your app, then running

ionic package build ios --profile <security_profile_name>

  • Joe

    So you don’t need a Apple Developer account, yipee!
    But you do need a Mac, boo!

    • Radicalized Raccoon

      You can connect and debug an iOS device using only a windows machine with Gapdebug. It is a free 3rd party desktop app.

    • Artyom Pranovich

      You can install and use virtual machine instead

    • Jira Kata

      May be we can use Virtual Box 5 with OSX Virtual Machine.
      This how to. After Install you need to change SerialNumber of your OSX to 0. Then you can login with your apple id.

  • http://javebratt.com Jorge Vergara

    “Sorry to break it to you PC users, but Xcode is still required, which means you still need a Mac.” hahahaha I’m on a Linux box and have been experiencing that pain for a while now, need to get that Mac fast

    • Elindor

      Ionic Package (or any other cloud builder) ftw man. Screw apple and their “buy everything we create or forget our customers” policy.

    • Radicalized Raccoon

      As I told Joe, you can connect and debug an iOS device using only a windows machine with Gapdebug. It is a free 3rd party desktop app.

  • Gabriel Eduardo Bejarano Rojas

    fuck you apple

  • Lowie Benoot

    I guess you still can’t distribute the IPA file to your clients (for testing), and install it on a non-developer device?

  • Aung Ye Htut

    Hello, I tried install the ionic app to iPhone/iPad via xcode, it worked well. But, few days or few weeks later, this app couldn’t use it anymore. And, the “Device Management” menu is disappeared from settings, too. If I reinstalled via xcode again, it works for few days.
    Any help?
    thanks!

    • Michael

      Hello, did you solve the problem? Does this happen when it’s a free account?

  • http://www.saniyusuf.com/ Sani Yusuf

    Great Stuff Works Like A Charm

  • Tim Russell

    What if I’m not selling my app via the App Store? We’re a B2B solution provider and our solution has an app as the front end. Our clients create travel itineraries and then send an app download link to their customers, without the App Store being involved. Do I need a developer account? Can’t get a straight answer anywhere.

  • hoangvu

    How many devices can be debugged by this way?
    So, how to remove the debugged device and add a new one?

  • Animesh Mishra

    thank u so much….it really helped..thank u..

  • Obi

    Thanks for this post. This is a lifesaver!
    I’ve tried it and was able to test my app on the iPhone. However, I noticed some things don’t work, such as buttons and Google social login, even though they worked fine on an Android phone. Back to the drawing board!

  • SonalK

    Can you only use the app for 7 days though?