Apple Developer Program
When attempting to develop applications for new devices there is nothing worse than unnecessary roadblocks, especially when they are caused by the company you are trying to develop for. This has been especially true when attempting to test my AR applications on an Apple iOS device.
Let's say you just created an awesome new AR demo in Unity. You compile a fresh build of the project and wait in anticipation for what it will look like on your iPhone/iPad. However, that excitement quickly fades to black as you begin to realize the mountain of work that stands between your built project and actually being able to test it. To even deploy a test program to an iPhone, you need to sign up for the Apple Developer Program. This requires a yearly fee of $100 and allows you to create Provisioning Profiles (list of devices the app can be installed on), as well as Certificates (encrypted signing of the application).
It gets worse
Well that was a bit annoying, but you bought into the Developer Program and got your certificate & provisioning profile. You should be able to deploy to your iPhone/iPad now, right?! Wrong. If you are a windows user you better hope that you own (or can borrow) a Mac computer. To deploy a Unity Project to test on iOS you need to use the program XCode, which is only available on MacOS devices. So on top of gating their development content with an expensive fee, they also require you to own their expensive hardware. If you are a Windows developer, it requires you to build your Unity project on Windows, send the files to a MacOS device, then deploy VIA XCode to the iOS device for testing. This workflow is unnecessary and ridiculous.
While this may be annoying, there are some silver linings and workarounds that exist. My saving grace throughout these AR aDEVentures has been a tool called iOS Project Builder for Windows that was developed by Pierre-Marie Baty. This tool allows you to entirely skip using a Mac & XCode to deploy to your iOS device, and allows for over-the-air downloads VIA your windows machine. My deployments are down to ~3 minutes per build, and I couldn't be more thankful for the developer of this software. Here is what the program looks like when configuring a deployment:
Once the deployment has been completed, you will be provided with a QR code to scan with your iOS device. Once scanned, the program will send the application to your device over your local network. It is incredibly easy and simple to use:
How about Android?
I wanted to touch upon the other side of the pond before I finished this blog. Android is on the complete opposite end of the spectrum for Apple. They make things as easy as possible to develop for their program. You can directly upload a Unity build to your Android device with the click of a button, saving time and unnecessary steps. You also do not need to pay a fee UNLESS you decide to upload to the Google Play Store. If you do desire to do this, it is an affordable one time payment of $25. It is crazy how different the two companies can be when it comes to development security, and I really appreciate Android making things easier for us developers.
Well that's all I got. End rant. Until next time frens!