Microsoft MVPDNN MVPXamarin Certified
I'm Andrew Hoefling, and I work for FileOnQ as a Lead Software Engineer building mobile technologies for Government, Financial and First Responders using Xamarin.
You have decided to take your first stab at iOS development and you do not have a physical Mac machine running OS X but you have a device running iOS. You can still develop for iOS while you wait for that mac mini to come in the mail. After going through this process and developing in it I don’t recommend anyone to develop in this unless it is temporary while you wait for you mac to arrive.
The first thing you will need to do is create your Apple Developer Account, there is no way around this unfortunately. Once you have created the account apple will have to confirm it which can take a few minutes to a few hours. Follow the how-to guides below in the order of their sections to build your necessary profiles and certificates needed to build and deploy.
Before we can do anything we need to register our physical iOS device
Before we can create any profiles or certificates we need to create an App ID.
Follow the steps below to create your Certificate
openssl genrsa -out mykey.key 2048openssl req -new -sha256 -key mykey.key -out ios_development.csr -subj "/ema[email protected], CN=Andrew Hoefling, C=US"
Follow the steps below to create your Provisioning Profile
To properly deploy your app onto your device you will need a strong signed certificate with an extension of .p12
openssl x509 -inform DER -outform PEM -in ios_development.cer -out ios_development.pemopenssl pkcs12 -inkey mykey.key -in ios_development.pem -export -out ios_development.p12 -name "Andrew Hoefling"
Configure your Xamarin project to work with Android and iOS. It is recommended to use Xamarin.Forms for this so you can test/develop in the android simulator then verify those changes on your iOS device. Otherwise your development workflow will be very slow for each change you would have to try something, commit, build and deploy. (You do have that mac mini in the mail so it shouldn’t be too bad, but we used Xamarin.Forms).
For the purposes of the project setup we are going to assume you have Xamarin installed
Feel free to test your Xamarin.Forms solution with the Android Emulator, that goes outside the scope of this post.
BITRISE.io is a free build agent if you are a team of 1-2 with a focus on mobile app builds and deployments. Since we have our code in source control we are ready to attempt a build and load download our app.
If you were unable to create a provisioning profile or certificate because you don’t know your UDID jump ahead to the build and deploy and come back when you have successfully created the profile and certificate
We have completed all or almost all of the steps and it is time to build the app
This information was compiled through a night filled with searching and below you will find useful links that I used to put together this guide.