-->
- Develop Mac Osx Apps On Windows Visual Studio 10
- Develop Mac Osx Apps On Windows Visual Studio Download
- Develop Mac Osx Apps On Windows Visual Studio Windows 10
- Develop Mac Osx Apps On Windows Visual Studio Free
Mar 25, 2019 Mobile Apps can be developed with Visual Studio. Thanks to Xamarin, Visual Studio now lets you share code over multiple platforms such as iOS, Android and now, macOS. Ability to make Web Apps. As Visual Studio supports ASP.NET, developers can easily code the front-end of websites and use Visual Studio to directly upload the code to the cloud. Developer Community for Visual Studio Product family. This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use. Dec 14, 2016 I've done Visual Studio development on my Mac for years. I used to have both a Windows and Mac, but switched everything over to Mac. I think it's actually a dirty little secret that Windows development is better under a VM on Mac. Isolating the development environment from your work and personal environment is definitely a plus.
You can use Visual Studio with the cross-platform Mobile development with C++ tools to edit, debug, and deploy iOS code to the iOS Simulator or to an iOS device. But, because of licensing restrictions, the code must be built and run remotely on a Mac. To build and run iOS apps using Visual Studio, you need to set up and configure the remote agent, vcremote, on your Mac. The remote agent handles build requests from Visual Studio and runs the app on an iOS device connected to the Mac, or in the iOS Simulator on the Mac.
- Mar 08, 2017 Now we have two Visual Studio versions (Visual Studio for Mac, Visual Studio Code) that can directly install on the Mac (macOS), refer to your description, it looks like you installed the Visual Studio for Mac, it is a developer environment optimized for building mobile and cloud apps.
- May 26, 2017 In Visual Studio, where Xamarin is installed, we have the Xamarin Mac Agent that allows you to run iOS Simulator. For commercial choice of Apple, the iOS app build and deploy process must pass through a Mac machine, so if you have a Windows machine, you need either a Mac or a Mac.
Note
For information on using cloud-hosted Mac services instead of a Mac, see Configure Visual Studio to connect to your cloud hosted Mac. The instructions are for building using Visual Studio Tools for Apache Cordova. To use the instructions to build using C++, substitute
vcremote
for remotebuild
.Once you have installed the tools to build using iOS, refer to this article for ways to quickly configure and update the remote agent for iOS development in Visual Studio and on your Mac.
Prerequisites
To install and use the remote agent to develop code for iOS, you must first have these prerequisites:
- A Mac computer running macOS Mojave version 10.14 or later
- An Apple ID
- An active Apple Developer Program accountYou can get a free account that allows sideloading apps to an iOS device for testing only but not for distribution.
- Xcode version 10.2.1 or laterApple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site.Apple may provide or recommend responses as a possible solution based on the information provided; every potential issue may involve several factors not detailed in the conversations captured in an electronic forum and Apple can therefore provide no guarantee as to the efficacy of any proposed solutions on the community forums.Xcode can be downloaded from the App Store.
- Xcode command-line toolsTo install the Xcode command-line tools, open the Terminal app on your Mac and enter the following command:
xcode-select --install
- An Apple ID account configured in Xcode as a signing identity to sign appsTo see or set your signing identity in Xcode, open the Xcode menu and choose Preferences. Select Accounts and choose your Apple ID, and then choose the View Details button. See Add your Apple ID account for detailed instructions.For detailed information on signing requirements, see What is app signing.
- If you are using an iOS device for development, a provisioning Profile configured in Xcode for your deviceXcode provides automatic signing where it creates signing certificates for you as needed. For detailed information about Xcode automatic signing see automatic signing.If you want to do manual signing, you need to create a provisioning Profile for your app. For detailed information on creating provisioning Profiles, see Create a development provisioning profile.
- Node.js version 12.14.1 and npm version 6.13.4Install version 12.14.1 of Node.js on your Mac. If you install the Node.js package, it should come with npm version 6.13.4. Other versions of Node.js and npm may not support some modules used in the remote agent
vcremote
, which can causevcremote
installation to fail. We recommend you install Node.js by using a package manager such as Node Version Manager. Avoid using the commandsudo
to install Node.js, as some modules can fail to install when usingsudo
.
Install the remote agent for iOS
When you install the Mobile development with C++ workload, Visual Studio can communicate with vcremote, a remote agent running on your Mac to transfer files, build and run your iOS app, and send debugging commands.
Before you install the remote agent, make sure you have satisfied the Prerequisites and completed the installation steps in Install cross-platform mobile development with C++.
To download and install the remote agent
- From the Terminal app on your Mac, verify that the Node.js version currently in use is the required version 12.14.1. To verify the version, run the command:
node -v
If it's not the right version, you may need to follow the Node.js installation instructions in the prerequisites. Then, restart Node.js. - After verifying the required Node.js is in use, run this command to install vcremote under that Node.js version:
npm install -g --unsafe-perm vcremote
The global installation (-g) switch is recommended, but not required. If you don't use the global installation switch, vcremote gets installed under the current active path in the Terminal app.During the installation,vcremote
is installed and developer mode is activated on your Mac. Homebrew and two npm packages,vcremote-lib
andvcremote-utils
, are also installed. When installation completes, it's safe to ignore any warnings about skipped optional dependencies.NoteTo install Homebrew, you must have sudo (administrator) access. If you need to installvcremote
without sudo, you can install Homebrew manually in a usr/local location and add its bin folder to your path. For more information, see the Homebrew documentation. To manually enable developer mode, enter this command in the Terminal app:DevToolsSecurity -enable
If you update to a new version of Visual Studio, you must update to the current version of the remote agent as well. To update the remote agent, repeat the steps to download and install the remote agent.
Start the remote agent
The remote agent must be running for Visual Studio to build and run your iOS code. Visual Studio must be paired with the remote agent before it can communicate. By default, the remote agent runs in secured connection mode, which requires a PIN to pair with Visual Studio.
To start the remote agent
- From the Terminal app on your Mac, enter:
vcremote
This command starts the remote agent with a default build directory of~/vcremote
. For additional configuration options, see Configure the remote agent on the Mac.
The first time you start the agent, and every time you create a new client certificate, you are provided with the required information to configure the agent in Visual Studio, including the host name, the port, and the PIN.
If you intend to configure the remote agent in Visual Studio using the host name, ping the Mac from Windows using the host name to verify that it is reachable. Otherwise, you may need to use the IP address instead.
The generated PIN is for one time use, and is only valid for a limited time. If you do not pair Visual Studio with the remote agent before the time expires, you will need to generate a new PIN. For more information, see Generate a new security PIN.
You can use the remote agent in unsecured mode. In unsecured mode, the remote agent can be paired to Visual Studio without a PIN.
To disable secured connection mode
- To disable secured connection mode in
vcremote
, enter this command in the Terminal app on your Mac:vcremote --secure false
To enable secured connection mode
- To enable secured connection mode, enter this command:
vcremote --secure true
Once you have started the remote agent, you can use it from Visual Studio until you stop it.
To stop the remote agent
- In the Terminal window
vcremote
is running in, enter Control+C.
Configure the remote agent in Visual Studio
Develop Mac Osx Apps On Windows Visual Studio 10
To connect to the remote agent from Visual Studio, you must specify the remote configuration in the Visual Studio options.
To configure the remote agent from Visual Studio
Develop Mac Osx Apps On Windows Visual Studio Download
- If the agent is not already running on your Mac, follow the steps in Start the remote agent. Your Mac must be running
vcremote
for Visual Studio to successfully pair, connect, and build your project. - On your Mac, get the host name or IP address of your Mac.You can get the IP address by using the ifconfig command in a Terminal window. Use the inet address listed under the active network interface.
- On the Visual Studio menu bar, choose Tools, Options.
- In the Options dialog box, expand Cross Platform, C++, iOS.
- In the Host Name and Port fields, enter the values specified by the remote agent when you started it. The host name can be the DNS name or IP address of your Mac. The default port is 3030.NoteIf you cannot ping the Mac using the host name, you may need to use the IP address.
- If you use the remote agent in the default secured connection mode, check the Secure checkbox, then enter the PIN value specified by the remote agent in the Pin field. If you use the remote agent in unsecured connection mode, clear the Secure checkbox and leave the Pin field blank.
- Choose Pair to enable the pairing.The pairing persists until you change the host name or port. If you change the host name or port in the Options dialog box, to undo the change, choose the Revert button to revert to the previous pairing.If the pairing does not succeed, verify that the remote agent is running by following the steps in Start the remote agent. If too much time has passed since the remote agent PIN was generated, follow the steps in Generate a new security PIN on the Mac and then try again. If you are using the host name of your Mac, try using the IP address in the Host Name field instead.
- Update the folder name in the Remote Root field to specify the folder used by the remote agent in your home (~) directory on the Mac. By default, the remote agent uses
/Users/<username>/vcremote
as the remote root. - Choose OK to save the remote pairing connection settings.
Visual Studio uses the same information to connect to the remote agent on your Mac each time you use it. You do not need to pair Visual Studio with the remote agent again unless you generate a new security certificate on your Mac, or its hostname or IP address changes.
Generate a new security PIN
When you start the remote agent the first time, the generated PIN is valid for a limited amount of time—by default, 10 minutes. If you don't pair Visual Studio to the remote agent before the time expires, you will need to generate a new PIN.
To generate a new PIN
- Stop the agent, or open a second Terminal app window on your Mac and use that to enter the command.
- Enter this command in the Terminal app:
vcremote generateClientCert
The remote agent generates a new temporary PIN. To pair Visual Studio by using the new PIN, repeat the steps in Configure the remote agent in Visual Studio.
Generate a new server certificate
For security purposes, the server certificates that pair Visual Studio with the remote agent are tied to the IP address or host name of your Mac. If these values change, you must generate a new server certificate, and then reconfigure Visual Studio with the new values.
To generate a new server certificate
- Stop the
vcremote
agent. - Enter this command in the Terminal app:
vcremote resetServerCert
- When prompted for confirmation, enter
Y
. - Enter this command in the Terminal app:
vcremote generateClientCert
This command generates a new temporary PIN. - To pair Visual Studio by using the new PIN, repeat the steps in Configure the remote agent in Visual Studio.
Configure the remote agent on the Mac
You can configure the remote agent using various command-line options. For example, you can specify the port to listen for build requests and specify the maximum number of builds to maintain on the file system. By default, the limit is 10 builds. The remote agent will remove builds that exceed the maximum on shutdown.
To configure the remote agent
- To see a complete list of remote agent commands, in the Terminal app, enter:
vcremote --help
- To disable secure mode and enable simple HTTP-based connections, enter:
vcremote --secure false
When you use this option, clear the Secure checkbox and leave the Pin field blank when configuring the agent in Visual Studio. - To specify a location for remote agent files, enter:
vcremote --serverDir directory_path
where directory_path is the location on your Mac to place log files, builds, and server certificates. By default, this location is/Users/<username>/vcremote
. Builds are organized by build number in this location. - To use a background process to capture
stdout
andstderr
to a file named server.log, enter:vcremote > server.log 2>&1 &
The server.log file can assist in troubleshooting build issues. - To run the agent by using a configuration file instead of command-line parameters, enter:
vcremote --config config_file_path
where config_file_path is the path to a configuration file in JSON format. The startup options and their values must not include dashes.
Troubleshoot the remote agent
Debugging on an iOS device
If debugging on an iOS device does not work, there could be issues with the tool ideviceinstaller, which is used to communicate with an iOS device. This tool is typically installed from Homebrew during the installation of
vcremote
. Follow the steps below as a workaround.Open the Terminal app and update
ideviceinstaller
and its dependencies by running the following commands in order:- Ensure Homebrew is updated
brew update
- Uninstall
libimobiledevice
andusbmuxd
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
- Install the latest version of
libimobiledevice
andusbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
- Uninstall and reinstall
ideviceinstaller
brew uninstall ideviceinstaller
brew install ideviceinstaller
Verify that
ideviceinstaller
can communicate with the device by trying to list the apps installed on the device:ideviceinstaller -l
If
ideviceinstaller
errors that it cannot access the folder /var/db/lockdown
, change the privilege on the folder with:sudo chmod 777 /var/db/lockdown
Then verify again if
ideviceinstaller
can communicate with the device.See also
-->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.
Overview
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:
- On a Windows machine, install Visual Studio 2019
- On a Mac, install Xcode and Visual Studio for Mac
- You must manually open Xcode after installing so that it can add any additional components.
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.
Enable remote login on the Mac
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.
Connect to the Mac from Visual Studio 2019
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:TipWhen 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.TipRight-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.
Develop Mac Osx Apps On Windows Visual Studio Windows 10
If you have not been able to pair a Mac, try manually adding aMac or take a look at the troubleshootingguide.
Manually add a Mac
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:TipWhen 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.
Automatic Mac provisioning
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 cannot install Xcode; you must manually install it on theMac build host. It is required for Xamarin.iOS development.
- Automatic Mac provisioning requires that remote login isenabled on the Mac, and the Mac must be network-accessible to the Windowsmachine. See Enabling remote login on the Macfor more details.
- Automatic Mac provisioning requires 3GB of free space on the Mac to install Xamarin.iOS.
Pair to Mac performs necessary software installations/updates when VisualStudio 2019 is connecting to theMac.
Mono
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 |
Xamarin.iOS
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:
- If you use Visual Studio 2019, select the Stable updates channel inVisual Studio for Mac.
- If you use Visual Studio 2019 Preview, select the Alpha updateschannel in Visual Studio for Mac.
Develop Mac Osx Apps On Windows Visual Studio Free
Progress is indicated by various prompts, as shown by the followingscreenshots (click to zoom):
Install Check | Downloading | Installing |
---|---|---|
Xamarin.iOS |
Xcode tools and license
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:
- MobileDeviceDevelopment.pkg
- XcodeExtensionSupport.pkg
- MobileDevice.pkg
- XcodeSystemResources.pkg
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.
Troubleshooting automatic Mac provisioning
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.
Build iOS apps from the Windows command-line
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>MSBuildCurrentBinThe 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.Summary
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.