-->
This guide describes how to use Pair to Mac to connect Visual Studio 2019to a Mac build host. The same instructions apply to Visual Studio 2017.
Dec 08, 2016 Get the Tools. Open the App Store app on your Mac (by default it’s in the Dock). In the search field in the top-right corner, type Xcode and press the Return key. The Xcode app shows up as the first search result. Click Get and then click Install App. Enter your Apple ID and password when prompted. It's not easy to run iPad and iPhone apps on a Mac or PC. We look at your best options, including decent simulator software that mimics the iOS experience on a desktop or laptop. A Mac Build Server, which is a specialized kind of Mac that can be used to compile iOS apps. You’ll create those apps on your Mac, and then instruct the Build Server to compile the app for you. You’ll create those apps on your Mac, and then instruct the Build Server to compile the app for you.
Building native iOS applications requires access to Apple's build tools,which only run on a Mac. Because of this, Visual Studio 2019 must connect toa network-accessible Mac to build Xamarin.iOS applications.
Visual Studio 2019's Pair to Mac feature discovers, connects to,authenticates with, and remembers Mac build hosts so that Windows-basediOS developers can work productively.
Pair to Mac enables the following development workflow:
Developers can write Xamarin.iOS code in Visual Studio 2019.
Visual Studio 2019 opens a network connection to a Mac build host anduses the build tools on that machine to compile and sign the iOS app.
There is no need to run a separate application on the Mac – VisualStudio 2019 invokes Mac builds securely over SSH.
Visual Studio 2019 is notified of changes as soon as they happen. Forexample, when an iOS device is plugged in to the Mac or becomes availableon the network, the iOS Toolbar updates instantly.
Multiple instances of Visual Studio 2019 can connect to the Macsimultaneously.
It's possible to use the Windows command-line to build iOS applications.
Note
Before following the instructions in this guide, complete the following steps:
If you would prefer not to install Visual Studio for Mac, Visual Studio 2019can automatically configure the Mac build host with Xamarin.iOS and Mono.You must still install and run Xcode.For more information, see Automatic Mac provisioning.
To set up the Mac build host, first enable remote login:
On the Mac, open System Preferences and go to the Sharing pane.
Check Remote Login in the Service list.
Make sure that it is configured to allow access for All users, orthat your Mac username or group is included in the list of allowedusers.
If prompted, configure the macOS firewall.
If you have set the macOS firewall to block incoming connections, youmay need to allow mono-sgen
to receive incoming connections. An alertappears to prompt you if this is the case.
If it is on the same network as the Windows machine, the Mac shouldnow be discoverable by Visual Studio 2019. If the Mac is still notdiscoverable, try manually adding a Mac or takea look at the troubleshooting guide.
Now that remote login is enabled, connect Visual Studio 2019 to the Mac.
In Visual Studio 2019, open an existing iOS project or create a new oneby choosing File > New > Project and then selecting an iOS projecttemplate.
Open the Pair to Mac dialog.
Use the Pair to Mac button iOS toolbar:
Or, select Tools > iOS > Pair to Mac.
The Pair to Mac dialog displays a list of all previously-connectedand currently-available Mac build hosts:
Select a Mac in the list. Click Connect.
Enter your username and password.
The first time you connect to any particular Mac, you areprompted to enter your username and password for that machine:
Tip
When logging in, use your system username rather than full name.
Pair to Mac uses these credentials to create a new SSH connectionto the Mac. If it succeeds, a key is added to the authorized_keysfile on the Mac. Subsequent connections to the same Mac will loginautomatically.
Pair to Mac automatically configures the Mac.
Starting with Visual Studio 2019 version15.6,Visual Studio 2019 installs or updates Mono and Xamarin.iOS on aconnected Mac build host as needed (note that Xcode must still beinstalled manually). See Automatic Macprovisioning for more details.
Look for the connection status icon.
When Visual Studio 2019 is connected to a Mac, that Mac's itemin the Pair to Mac dialog displays an icon indicating thatit is currently connected:
There can be only one connected Mac at a time.
Tip
Right-clicking any Mac in the Pair to Mac list brings up a contextmenu that allows you to Connect..., Forget this Mac, orDisconnect:
If you choose Forget this Mac, your credentials for the selectedMac will be forgotten. To reconnect to that Mac, you will need to re-enteryour username and password.
If you have successfully paired to a Mac build host, you are ready to buildXamarin.iOS apps in Visual Studio 2019. Take a look at theIntroduction to Xamarin.iOS for Visual Studioguide.
If you have not been able to pair a Mac, try manually adding aMac or take a look at the troubleshootingguide.
If you do not see a particular Mac listed in the Pair to Mac dialog,add it manually:
Locate your Mac’s IP address.
Open System Preferences > Sharing > Remote Login on your Mac:
Alternatively, use the command line. In Terminal, issue this command:
Depending on your network configuration, you may need to use aninterface name other than en0
. For example: en1
, en2
, etc.
In Visual Studio 2019's Pair to Mac dialog, select Add Mac...:
Enter the Mac's IP address and click Add:
Enter your username and password for the Mac:
Tip
When logging in, use your system username rather than full name.
Click Login to connect Visual Studio 2019 to the Mac over SSH and addit to the list of known machines.
Starting with Visual Studio 2019 version 15.6,Pair to Mac automatically provisions a Mac with software necessary forbuilding Xamarin.iOS applications: Mono, Xamarin.iOS (the softwareframework, not the Visual Studio for Mac IDE), and various Xcode-relatedtools (but not Xcode itself).
Important
Pair to Mac performs necessary software installations/updates when VisualStudio 2019 is connecting to theMac.
Pair to Mac will check to make sure that Mono is installed. If it is notinstalled, Pair to Mac will download and install the latest stable versionof Mono on the Mac.
Progress is indicated by various prompts, as shown by the followingscreenshots (click to zoom):
Install Check | Downloading | Installing |
---|---|---|
Mono |
Pair to Mac upgrades Xamarin.iOS on the Mac to match the versioninstalled on the Windows machine.
Important
Pair to Mac will not downgrade Xamarin.iOS on the Mac from alpha/betato stable. If you have Visual Studio for Mac installed, set yourrelease channel asfollows:
Progress is indicated by various prompts, as shown by the followingscreenshots (click to zoom):
Install Check | Downloading | Installing |
---|---|---|
Xamarin.iOS |
Pair to Mac will also check to determine whether Xcode has been installedand its license accepted. While Pair to Mac does not install Xcode, itdoes prompt for license acceptance, as shown in the following screenshots(click to zoom):
Install Check | License Acceptance |
---|---|
Xcode |
Additionally, Pair to Mac will install or update various packagesdistributed with Xcode. For example:
The installation of these packages happens quickly and without a prompt.
Note
These tools are distinct from the Xcode Command Line Tools, whichas of macOS 10.9 areinstalled with Xcode.
If you encounter any trouble using automatic Mac provisioning, take a lookat the Visual Studio 2019 IDE logs, stored in%LOCALAPPDATA%XamarinLogs16.0. These logs may contain error messagesto help you better diagnose the failure or get support.
Pair to Mac supports building Xamarin.iOS applications from the commandline. For example:
The parameters passed to msbuild
in the above example are:
ServerAddress
– The IP address of the Mac build host.ServerUser
– The username to use when logging in to the Mac build host.Use your system username rather than your full name.ServerPassword
– The password to use when logging in to the Mac build host.Note
Visual Studio 2019 stores msbuild
in the following directory:C:Program Files (x86)Microsoft Visual Studio2019<Version>MSBuildCurrentBin
The first time Pair to Mac logs in to a particular Mac build host fromeither Visual Studio 2019 or the command-line, it sets up SSH keys. With thesekeys, future logins will not require a username or password. Newlycreated keys are stored in %LOCALAPPDATA%XamarinMonoTouch.
If the ServerPassword
parameter is omitted from a command-line buildinvocation, Pair to Mac attempts to log in to the Mac build hostusing the saved SSH keys.
This article described how to use Pair to Mac to connect Visual Studio 2019 to aMac build host, enabling Visual Studio 2019 developers to build native iOSapplications with Xamarin.iOS.
Updated on March 10, 2014
In the beginning, apples grew on trees. But the all powerful iOverlord, Steve “I-fired-you-yesterday” Jobs was not impressed, and so set forth to bring light to the four corners of the world. Thus, Apple Inc., the philosophy was born. Although Apple became recognizable for its many high quality products, great disappointment followed and a gastrointestinal jump-start was needed. This time putting “i” in front of a device was not going to be enough. So, the iNegmatic leader, Jobs, developed “the App” (short for application) while listening to his favorite song “money, that’s all I want”. -The Gospel According to Timothy D. Cook
The inclusion of apps gave the iPhone something that was considered so hi-tech, people actually called it trans-tech (like trans-food but without the trans-fat.) Apps give iPhone users all over the world a more personal computing experience. And in commonality with the Buddhist thought, Steve Jobs, Apple Inc., and his workers are to be considered as ‘One’ entity, with a shared consciousness and complete devotion to the ‘Whole’, from which innovative products emerge.
Today, each iOS app is used with a near religious significance, with the user being immediately drenched in its techno-geek spunk as soon as the app is gently caressed on their cool iPhones. But gone are the days when people were forced to make apple-approved apps in dark and dank environments. Today, anybody who considers themselves as an ‘idea man’ with limited technical abilities can build an app and prove it to be practical, and here is how you can do it too. In fact, ideas are scrawled on napkins across the globe every day. But how do you build one? This guide is going to take you through the entire process of creating an iOS app.
First off, you need to have an angle. For instance, make a sketch of the app you have in mind. One way of doing this is by asking yourself the right questions, such as these:
Also, some other things to ponder about are:
Making an outline is a great way of adding fresh and creative ideas to your app as you go along. But try not to stray too far from the original concept of the app. Also, create a thumbnail of how each screen will look like as the user goes from start to finish.
Note: There are also some good online tools that can help you transfer your sketched into a digital format.
If you have that ‘OMG, that’s a great idea’ moment, but your brain objects to Objective C, don’t kid yourself, you will need to hire someone with the necessary grey matter. But first, you will need to identify what work needs to be outsourced.
In most situations, hiring freelances would be your least expensive option. This will make your role as the project manager more prominent, so the team can then blame you if the app goes south.
Note: Always remember to make the freelancers who you hire sign a non-disclosure agreement, which will include, project details, what you expect and the terms of payment. Online services such as, Elance, oDesk, Guru and vWorker are all good places to start your search for qualified freelancers.
An alternate option would be to hire an app development agency that will be in charge of managing the entire project. In this scenario, your role would be limited to just the review and approval of the app. By using the sketching advice drawn up earlier, compose a specification document to describe what your app is going to do and for whom. Again, getting the facts straight is going to be important, so make sure that both you and the agency are on the same page when it comes to what it is you require, the desired delivery date, and don’t forget to include the estimate.
Note: Hiring an app development agency should only be considered if you have a large budget. It is important to realize that app design is usually broken down to four levels: information architecture, visual and interaction design. While finding one person who has all these skills is possible, all four of these distinct deliverables should be considered before you start hiring.
They say that ignorance is bliss, but if you are ignorant, you would ignore the bliss around you. Right? So, if you want to take a lick at it yourself, read this. Apple provides a number of tools which enable developers to build iOS apps. Downloading the SDK or software development kit from the Mac app store will give you access to three main tools for developing your app. The download, which only costs a few quid will give you access to Xcode, Interface Builder, Cocxoa Frameworks and tools for testing the app as you go along with many others that will help you on your quest.
https://developer.apple.com/library/iOS/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html#//apple_ref/doc/uid/TP40011343-CH3-SW1
Xcode is an Integrated Development Environment or IDE, which is used by iOS and Mac developers to build apps. The best thing about Xcode is that it’s not only a code editor but also has a other useful goodies baked in, such as, static coed analysis, that sniffs out bugs in your code, auto-complete support and a variety of other debugging and performance enhancing tools. There is the option of using BBEdit and TextMate before using command line tools. It is quite easy to do all the development, including the final compilation easily by using Xcode.
When you open Xcode you will come to a screen which looks like this. Click the button that says “Create a new Xcode project”.
https://developer.apple.com/library/iOS/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html#//apple_ref/doc/uid/TP40011343-CH3-SW1
In the column on the left hand side, find the OS X section, click on Application and select Command Line Tool.
https://developer.apple.com/library/iOS/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html#//apple_ref/doc/uid/TP40011343-CH3-SW1
Click “Next” on the following screen. Fill in the fields
Product name, organization name (this can be left blank), company identifier, type (type in foundation), and tick mark the “Automatic Reference Counting” dialog box. And begin designing your app!
https://developer.apple.com/library/iOS/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html#//apple_ref/doc/uid/TP40011343-CH3-SW1
https://developer.apple.com/library/iOS/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html#//apple_ref/doc/uid/TP40011343-CH3-SW1
Interface Builder is an application which enables you to build an interface visually. You can do that by simply dragging the built-in tab bars, buttons, labels and sliders onto the app’s interface. You can then tweak the built-in objects by configuring the palettes and panels on the screen. The Interface Builder can also be used to connect actions and targets, for instance, what happens when a user handles a certain element in the interface.
https://developer.apple.com/library/iOS/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html#//apple_ref/doc/uid/TP40011343-CH3-SW1
In my particular workflow, I like to use the Interface Builder mostly because it allows me to work on a custom interface. For all those who are new iPhone development, using the Interface Developer is highly recommended. That being said, also try to learn the UIKit code that it generates while you are in the development process.
Frameworks are, by far, the most important piece of the puzzle, because without a framework you cannot easily create an app that will run on Mac iOS or OS X. Apple provides numerous frameworks which allow new app developers to encrypt important information, draw graphics on the screen, play audio and video, create user interfaces, take pictures, write networking code, display web pages and so on.
These rich set of commands allows the developer to easily design their app without having to reinvent the wheel all over again. And thanks to the Cocoa framework, even the most incredibly complex commands are accomplished with a few lines of code. Making the entire structural development of the app, a one liner!
Since money doesn’t grow on trees, here are a couple of other free online tools to consider;
(This image is a screenshot)
AppMakr is considered the mother of all DIY app building. You can easily build a full-featured app and also include multimedia newsfeeds, push notifications, social sharing features, and download analysis features. And to top it all off, the app is free, need I say anything else?
(This image is a screenshot)
The no-coding necessary policy of GameSalad has made it one of the most popular app development platforms for those who like to play games on their Smartphones, but don’t have a clue how to build them. The creator is free, the iOS viewer is free, iOS publishing is free. What? You want to go pro? That will be 299/year!
If you want to keep your newly designed app from plummeting into the app store’s black hole, you’ll need to have a marketing and monetization plan. Getting seen is a lot different today than what it was a few years ago, when one could simply launch an app without even trying to promote it and it would still have a fair shot of getting noticed by the masses. Today, dozens of new apps are being launched everyday, which makes the competition fierce. This highly competitive environment of the app store means that ideas must be refined in order to achieve maximum success.
Evaluating anything in which you are not an expert is absurd. So, to make sure your app doesn’t fall through the cracks, try to get the advice of a person who is an expert in a similar niche to the idea behind your iPhone app. An expert will be able to shed some light on how you can improve the app and even make it better, because they have knowledge of the industry.
So, who are these experts? You ask, well, these human beings can be found in three types:
App Marketing Professionals
An iPhone app marketing professional has specialized knowledge of how different apps perform on the app store. Apart from that, they can also give you some insider tips on effective promotional techniques which you can use to promote your app.
iPhone App Developers
Many indie developers are more than happy to help out others who are just starting up. If you humbly approach these folks for advice, they would be happy to take a look at your app.
Personal Connections
Do you know anybody in your community who has created an app of their own? If they’re hot, take them out for lunch, and find out how you can make your app better. Their feedback will be valuable, and even if it’s not, atleast you’ll have something nice to look at. You can also check out great courses like this one.
The only reason you won’t want to be doing this is if you’re okay with the app being published under someone else’s (gasp!) name, company, or brand. Besides that, you will need the Apple Developer license if you want to test your app on an iPhone, iPad or iPod before distributing it to the App Store. So, you need to sign up for a developer account.
Here are a few tutorials designed to get you coding:
Keep in mind that learning to program is not a “quick fix” solution. You will have to dedicate yourself to the process to be successful.
A Few More Tips
Here are a few additional resources to help you get started building your mobile application:
Beginner:
Intermediate:
Tips for Hiring a Designer or Developer:
A lack of programming knowledge can make creating mobile applications seem complex and even a bit overwhelming, but it doesn’t have to be.
Have you used any of the tools we discussed or found another tool that helps make mobile application dreams become a reality? We would love to hear your thoughts.