- Which IDE is better: Android Studio, Visual Studio, or Xcode? Update Cancel. Ad by Jira Software, Atlassian. Jira official site. One tool to track issues & release great software. Try Jira for free. Xcode is best for IOS or Mac app' this is not true because that IDEs' are not the best of but they are must have. If you want an IOS app you.
- Install Visual Studio for Mac behind a firewall or proxy server. To install Visual Studio for Mac behind a firewall, certain endpoints must be made accessible in order to allow downloads of the required tools and updates for your software.
I've yet to work on any iPhone projects although I'm planning to but have done some Mac software, and while Xcode is definitely behind Visual Studio it has proven perfectly workable.
-->You can use Visual C++ for Cross-Platform Mobile Development 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.
Visual Studio For Mac Os
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 topic 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 account
You 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 later
Xcode can be downloaded from the App Store.
Xcode command line tools
To 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 apps
To 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 device
Xcode 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 8.11.3 and npm version 5.6.0
Install version 8.11.3 of Node.js on your Mac. If you install the Node.js package, it should come with npm version 5.6.0. Note that other versions of Node.js and npm may not support some modules used in the remote agent vcremote, which can cause vcremote installation to fail.
Install the remote agent for iOS
When you install Visual C++ for Cross-Platform Mobile Development, 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 installed Visual C++ for cross-platform mobile development.
To download and install the remote agent
From the Terminal app on your Mac, enter:
sudo npm install -g --unsafe-perm vcremote
The global installation (-g) switch is recommended but not required.
During the installation, vcremote is installed and developer mode is activated on your Mac. Homebrew and two npm packages, vcremote-lib and vcremote-utils, are also installed. When installation completes, it's safe to ignore any warnings about skipped optional dependencies.
Note
To install Homebrew, you must have sudo (administrator) access. If you need to install vcremote 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 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 any 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.
Visual Studio For Mac Download
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
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
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.
Note
If 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.
Visual Studio For Mac Vs Xcode
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 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.
Visual Studio For Mac
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 in order:
Ensure Homebrew is updated
brew update
Uninstall libimobiledevice and usbmuxd
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
Install the latest version of libimobiledevice and usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
Uninstall and re-install 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
Visual Studio For Mac Free
Then verify again if ideviceinstaller can communicate with the device.
See also
I often see questions about asking how to get XCode for Windows, and really what people want is to develop iOS apps directly on a windows platform. All of us at ItsMonkie Solutions have asked ourselves this question when we started app development for Android, iOS and Windows, and we were really looking for a way to develop iOS apps on the Windows platform.
Having given this a try I have to say the whole process of making XCode work in a windows environment is very uncomfortable, and not really fulfilling. This is really no fault of Apple – they designed XCode to be used only on Macs and in that space I’m sure its great. But as a Windows user primarily I want to be able to develop my apps to run on the iPhone and iPad – its a fantastic device, with a huge market share!
Is it even possible
In short – of course it is! But one thing that I should say is that even if you successfully get XCode running on your Windows environment, you will not be able to build and deploy an app to the Apple app store. Even if its technically possible, Apple’s terms and conditions strictly prohibit this. So if you want to develop an iPhone or iPad app you’re going to need a Mac, whether its be a Mac mini or an iMac, you going to need to compile and deploy your app directly from an Apple device.
Whats Involved in Running XCode for Windows?
Running XCode on Windows basically requires you to simulate an instance of Mac OS X on your windows machine – this means virtualisation. These days technologies like VMWare and VirtualBox make creating a virtual machine fairly easy…once you know how! In order to run a virtual machine you’ll need to have a decent PC with a reasonable level of resources as the machine will be effectively running 2 operating systems – Windows and Mac OS X. You’ll also need a copy of the Mac OS X installation media which you can purchase from the Apple store.
Once you have Mac OS X running on your virtual machine installing XCode should be pretty straight forward – you can pretty much just open the app store and install it directly from there.
For a detailed guide on getting XCode running on windows see this article from the udemy blog about emulating Mac OS X on a windows machine.
In order to be able to compile and deploy your apps to the app store you’re still going to need to own a Mac (or have once available). A compromise is to purchase a low end Mac mini – you can then do all the heavy lifting on your Windows machine, and just copy the code to your Mac mini when you want to compile and deploy it to the app store.
To me I find the idea of the whole process a bit cumbersome, especially when I have something like Xamarin available.
Using Xamarin to Build iOS Apps
Let me say first off that Xamarin in no way helps with the whole needing a Mac issue – theres no way arround that, its in the app store terms and conditions. It does however allow me to develop on my pc and leverage a Mac as a build server to build and iPhone/iPad simulator. The general workflow goes something like this –
- You build your apps using C# and Visual Studio (or Xamarin Studio)
- When you build and instruct Visual Studio to deploy the solution, the Xamarin plug-in communicates with the Mac build server to build the code, and deploy it to the correct simulator
The whole process is almost seamless and works incredibly well. This review of the whole process by Peter Bright covers the process in more detail.
For some developing in C# and using Visual Studio is a negative, but as we focus on developing cross platform apps (i.e. apps with a share code base between platforms), Xamarin definitely wins out. Whilst this definitely isn’t XCode for Windows it is a viable, well supported and workable solution.
Visual Studio Community For Mac
Wrapping up
We at ItsMonkie Solutions have approached app development from numerous angles such as
Visual Studio
- Purely native using Eclipse for Android apps (and Android Studio), Visual Studio for Windows Apps and XCode for iOS.
- Hybrid apps using PhoneGap and Cordova that leverage Javascript and HTML5 on the devices browser
- Developing native apps using a cross platform framework i.e. Xamarin
In the end we have found that Xamarin provides the best combination of native performance, code reuse and general development workflow. It enables us to get to more platforms, more quickly with a more maintable code base.
What are your thoughts about running XCode for Windows? Is it worth the effort or is adopting a cross platform framework your preference or would you just rather developer straight on your Mac?