I know I need a mac to deploy but can I at least use my PC to develop the application? It would really help me a lot if I can develop on Windows where I can focus on writing the app.
This answer covers only Xamarin 2.0. Unfortunately I don't know MonoTouch.
Take a look at this statement about Xamarin 2.0:
Xamarin 2.0 bundles the company's Android, iOS and Mac development
tools in a single affordable package aimed at all tiers of developers.
The free Starter edition includes the Xamarin Studio IDE enables
developers to create Android, iOS and Mac apps using C#. However, the
free edition doesn't allow developers to exceed 32k of compiled IL
code and it cannot import or call upon any third-party libraries. The
$299 Indie edition removes this restriction. Things start getting
really interesting for .NET developers with Xamarin Studio's $999
Business edition. This version adds the ability to code iOS
applications within Visual Studio. Yes, you read correctly — code
iOS applications in Visual Studio! Granted, you still need a Mac to
compile and deploy the application to iOS devices (more on that
later), but the fact that you can use a familiar IDE to develop iOS
applications is a game changer.
To make it short: Yes you will need a mac to deploy your application and
yes you can develop on windows using Visual Studio.
Source: http://www.drdobbs.com/tools/xamarin-20-review/240150634
No you don't need the 1 k version to compile on windows. When you want to deploy your app you need to buy it! If u are making a app for windows 8 or whatever you dont need to pay. Monogame is a open source project. For the deployment to the phones your paying to the xamarin project.
"This means that your Xamarin iOS for Visual Studio installation requires a networked Mac OS-X computer to perform these tasks for you. Once configured, Xamarin’s tools will make the process as seamless as possible, but the fact remains that a Mac is required in addition to the Windows computer running Visual Studio."
So still need to hook up my mac and perform all the installations and configurations. Will take time but not a deal breaker I guess.
It is possible to use cloud build services for such a task. One such service worth giving a try is http://ship.io - they offer a free plan to get started.
Related
Can a C# app prototype be developed on my iPad Pro by using ONLY Visual Studio with Xamarin, on my Windows 10 Pro computer without buying (ie. using) a Mac?
Initially, for rapid development of non-distribution prototype, I want to use only VS 2017 Pro & Xamarin on Windows 10 to develop and test an app on my iPad Pro 12.9".
App will talk to other system components by WiFi, and utilize new iPad Pro features like pen and its high quality screen, for augmented reality.
Can get Mac later, in order to deploy on Apple store.
Can I truly develop, deploy onto actual iPad, and debug 100% with only VS & Xamarin, and without Mac and Xcode?
This Microsoft article about its Xamarin Live Player is confusing to me because it reads "the source code is interpreted" which I don't want, and later it reads "The app runs right on your phone or tablet." is I want.
Yes, a mac is required to build and debug iOS apps.
However, VSTS does allow you access to a mac build host which can build and deploy to TestFlight and the AppStore, if required (and if configured correctly). This won't allow you to debug and step through your code on a device or in the iOS Simulator, however. For that you need the Mac with High Sierra and the latest XCode installed.
Xamarin Live Player is in preview only and is only really useful for simple apps at the moment.
So, the answer is the company needs to buy me a new Mac. Yum.
The bad news is that it's back to using Xcode again. Two years ago, the star rating of Xcode on Apple Store was a mere 2-stars. It would be nice if the tool to develop on iOS was as easy to use as iOS. But, that's what Stackoverflow is for, I guess. :)
Whilst the existing answers/comments are correct I thought I'd add my own experience with this
If, like me, you won't use the mac for anything other than a build server for xamarin, I can say that a mac mini is fine for this, and will allow you to build apps. Just make sure you connect visual studio on your PC to the mac.
It's also worth noting, that more recently Visual studio team services has started using a hosted macOS build host. I haven't used this myself as I bought a mac mini, but in theory, if you use VSTS you might be able to build and deploy your iOS apps. I would suggest that you check it out.
https://learn.microsoft.com/en-gb/vsts/pipelines/apps/mobile/xamarin?view=vsts&tabs=vsts
https://blogs.msdn.microsoft.com/devops/2017/11/16/cloud-hosted-mac-agents-for-ci-cd-pipelines/
Sadly this has always been the case with xamarin and it's the way apple licensing works.
I want to use a service that provides CI for Windows Phone/Store/Universal/UAP apps. For this I'm considering Codeship as they provide a free plan to get me started. However, they don't support such types of apps yet. Asking their support they asked me whether Mono as compiler would be enough.
Is Mono enough to create a XAP/APPX package? Maybe I can compile the code and afterwards package the XAP/APPX?
My assumption is that Mono isn't enough to create those packages. If that's right, what's missing there?
To have mobile CI server that can build for Windows Phone, Windows Apps (the new name for Universal Apps ;)) et. al. you will have to install Visual Studio on the build server/agent. So no Mono will not be enough and MS Build alone will also not cut it.
If you are thinking about using Team Services as a build server, you will need a VM on which you will have to install Visual Studio to enable the required builds, but if you have a MSDN subscription this would potentially be a free option for you.
If you want to build for Android with Xamarin you will have to further install the Xamarin Toolchain (and have a license ready to use). For iOS you would even need a Mac in the build chain, but I assume you are only focusing on the Windows stack right?
Is it possible that ,without using a Mac OS X and XCode, one can create apps for iOS using Visual Studio 2013 on a Windows 7 system ? If yes, then is Swift or Coca Touch available for Visual Studio or can I make do with C# while writing code ?
You can sort of do this with Xamarin, as well as building Android applications. You still need to have a Mac in order to build iOS/Mac OS X applications, but you don't need to interact with it directly - it just needs to be on the network in order to complete the build the app, for licensing reasons. On the other hand, to run/debug the app, you'll either need a device plugged into your Mac, or run the emulator on your Mac. (Personally I have a Mac Mini for this purpose, and it's on my KVM... so I don't use it directly very often, but it's available when I need it.)
This is not building code in Swift or Objective-C - it's using C# which is then ahead-of-time compiled into native code. The Cocoa Touch libraries are exposed to your C# code so you're still using the same widgets etc... you're just building in C#.
No you can't do iOS development without Mac OS X and xCode.
However if you want to develop iOS apps in c# then you can use Xamarin.iOS for Visual Studio but keep in mind you will need a mac with xCode connected in your network to build the code.
I'm a .NET developer and want to write an IOS & Android app in C#. I've had a read around Xamarin for Visual Studio which looks interesting if not a tad expensive!
Do you need a Mac to debug your code? Do you just need a networked Mac to actually deploy the app to the Store?
Is the best option just to buy a Mac and run Windows with VS in a VM or can I just use my windows machine, write & debug the code in Windows then just hook up to a networked Mac for final deployment?
From May 2017, you can develop app without MAC.
Microsoft Xamarin introduce a Live Player. With Live Player, iOS apps can be deployed directly onto an iPhone or other iDevice from a PC running Visual Studio, where the code can then be tested and debugged.
WARNING The Xamarin Live Player Preview has ended. But it changed Hot Reload. With this feature, you can develop iOS app with your iPhone See discussion
See this video: https://www.youtube.com/watch?v=awgZDL1a3YI
this is Live Player Get start section: Live Player
Note: The final build and submission to the App Store will still require a Mac
Device Requirements
The Xamarin Live Player app supports the following devices:
iOS
iOS 9.0 or later.
ARM64 processor.
Check the App Store for a list of supported devices.
Android
Android 4.2 or later.
ARM-v7a, ARM-v8a, ARM64-v8a, x86, or x86_64 processor.
Limitations
There are some limitations on the things Xamarin Live Player can run, including the items below:
Android user interfaces designed with AXML files are not currently supported.
Some iOS storyboard features are not supported.
iOS XIB files are not supported.
Custom Renderers are not supported.
Xamarin.Forms Effects are not supported.
Embedded resources are not supported (ie. embedding images or other resources in a PCL).
Limited support for reflection (currently affects some popular NuGets, like SQLite and Json.NET). Other NuGets are still supported.
Some system classes cannot be overridden (for example, you cannot implement a subclass).
Some platform features that require provisioning can't work in the Xamarin Live Player app (however it has been configured for common operations like camera access).
Custom targets and build steps are ignored. For example, tools like Fody cannot be incorporated.
Yes, you must have a Mac to do Xamarin.iOS development. The Mac is required for building as well as running the iOS simulator. You can either use it as a build server, and actually do your development in Visual Studio (either in a standalone PC, or on a VM running on your Mac), or you can do your development directly on the Mac using Xamarin Studio as your IDE.
You can use Xamarin Studio instead of Visual Studio and build iOS application by C#.
First install VMware Workstation and then download OS X image and run it by VMware.
Then Install tools on it and enjoy.
Tools :
EDIT : The following links are out dated, You must install Mac OS 10.10 in order to be able to install XCode 6.
iOS Tools that you need:
1) Mac OS X image for Windows
Note: Max OS X Installation Help:
http://www.sysprobs.com/easily-run-mac-os-x-10-8-mountain-lion-retail-on-pc-with-vmware-image
2) Mono:
http://download.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-3.2.4.macos10.xamarin.x86.pkg
3) Xamarin Studio:
http://download.xamarin.com/studio/Mac/XamarinStudio-4.2.1-1.dmg
4) MonoTouch:
http://download.xamarin.com/MonoTouch/Mac/monotouch-7.0.4.209.pkg
5) Xcode
Update 2018
Install VirtualBox
https://www.virtualbox.org/
Install MacOs 10.13 on VirtualBox
https://techsviewer.com/install-macos-high-sierra-virtualbox-windows/
Create or login with an apple account on the mac
Install XCode 9.0
https://download.developer.apple.com/Developer_Tools/Xcode_9/Xcode_9.xip
Enable Remote Login
System Preferences > Sharing > Remote Login > Enable for All Users
Configure VirtualBox with an additional network adaptor (host-only)
In Windows > Visual Studio (Xamarin Project) > Pair with mac
Enter the IPaddress of the second network adaptor
Let Visual studio install Xamarin IOS, IOS SDK, additional tools on the Mac
All set up.
An option is to use a remote service to do this.
For example:
http://www.macincloud.com
Anybody know that a Virtual-Machine is the solution! but when you want to have an OSX on windows it's not really easy as you just talked about it.
it's very important to find best OS ROM.
check it out here.
and you have to know that limitation is Apple's doing, not Xamarin's.
As someone that developed 3 Xamarin Forms apps, I would like to bring some points about the options:
Pair with a virtual Mac (VMWare, VirtualBox or cloud)
I worked this way for a while, but virtual machines consume a lot of hardware resources. Paid for a month to use a remote Mac, but the pairing and debugging process does not get much better.
Develop inside a virtual macOS
I have been using this option with good results. I just run everything on the macOS VMware virtual machine. Visual Studio and Emulator got a little slow (my CPU is i5 and 8GB ram), but is acceptable to make some adjusts. Advantages: Avoid pairing, Xcode to edit some resources, publishing.
Install macOS on Windows PC
This is kind of upgraded of previous suggestion. Didn't tested yet, but the performance should be better than VMWare if it works. They call this Hackintosh and is possible if your hardware is compatible.
While all of my machines are Macs, I actually really enjoy working in .NET. I thought it would be fun to try my hand at writing a Silverlight application. Unfortunately, as near as I can tell, Silverlight is not a part of Mono that actually works on OS X.
Is it possible to develop Silverlight on OS X, or will I need to use a VM? If it's possible, is Mono the only option, or is there some other way?
Have you heard of Moonlight?
Taken from the project page:
Moonlight is an open source
implementation of Silverlight
(http://silverlight.net), primarily
for Linux and other Unix/X11 based
operating systems. In September of
2007, Microsoft and Novell announced a
technical collaboration that includes
access to Microsoft's test suites for
Silverlight and the distribution of a
Media Pack for Linux users that will
contain licensed media codecs for
video and audio.
According to go-mono.com, you can use MonoDevelop to develop for Silverlight/Moonlight on Mac OS X.
I'd probably stick with a VM - I use VM's on my mac all the time, and Visual Studio is perfectly usable (obviously that does depend on your mac's spec)...
If you want it all for free, you can use VirtualBox, install windows on there (you can always use an evaluation if you don't own it), and then use Visual Studio Express - this SO question tells you how to set Visual Studio Express up for SL dev... Developing Silverlight in Visual Studio Express?
There was a Silverlight development tool that ran in Eclipse called Eclipse tools for Silverlight. It has a Mac version. It looks a bit stagnant though, so I don't know it's current status.
http://www.eclipse4sl.org/
MonoDevelop does have moonlight projects built-in, so there shouldn't be any issue.
Also- while this prob doesn't fit your case, I bootcamped my MBP and while it's freaky running Win7 + vStudio on mac hardware, it works quite well.
Silverlight is comptatible for MAC OSX via a separate project, whose name I forget. Microsoft release the source code for silverlight to some people that are working on implementing on other platforms, including MAC
However, this means that it's always at least one version late, so MAC users can have access to silverlight 3, but not 4.
Old Mac that are not intel processors, only have access to silverlight 1.
Look at this page for a compatiblity list.
http://en.wikipedia.org/wiki/Silverlight#Silverlight_4