I would like to ask for a guide on how can I develop cross platform applications using Xamarin in Centos 6.
I spent the whole day following this: Install Mono and Monodevelop on CentOS 5.x/6.x
So I can install Mono and Monodevelop. But now, I am blocked because I can't understand how I am going to use this tools so I can create Android and iOS applications.
Can I do Xamarin development in Centos 6? If yes, I would also like to ask for good resources because it seems that there are very few tutorials for Xamarin especially in Centos.
Due to the complexity of Linux distribution and various dependencies, Xamarin only supports Windows and OS X as supported development platforms. Thus, you either use a Windows machine, or a Mac.
Related
How do I set up a development environment / IDE for Mono C# iPhone apps on Linux? I seem to be stumped. I have heard that you can use Xamarin, but there doesn't seem to be a Linux version. Xamarin.com redirects to a Microsoft VS download page with only a Windows download link.
I found this question which asks about developing cross-platform applications but does not specifically mention using Linux as a development environment. Additionally, the links in the top answer are both dead. I searched for MonoTouch and found this Xamarin site, so it seems to be a part of Xamarin, which doesn't seem to be available for Linux...
I also thought I may be able to develop an iPhone app using MonoDevelop, which I already have installed and have used to develop Linux applications on Linux for Linux. I can't seem to find any articles online about how to do this. The "Portable Library" project template in MonoDevelop mentions support for "Xamarin.iOS", but I don't want a library, I want a GUI app.
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.
I downloaded Xamarin Studio and Visual Studio, but I still don't see any options in either of those programs for programming iOS apps. Is programming for iOS even possible on a PC?
Using Xamarin with a business license, you can use Visual Studio on a PC for development, but you MUST have a Mac running as a build server. The iOS native SDK and Apple iOS simulator tools are only available on a Mac, and Xamarin depends on them as part of the build process.
You cannot create a native iOS app using a windows based machine. iOS apps can be developed using XCode only and XCode can be installed on mac only.
So in simple words there is no "direct" way of creating an iOS app from windows machine. I guess you should have searched on google first before asking this question.
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.
can we develop application for iphone in visual studio itself are there any emulator for testing it that is compatible with visual studio
You can use Mono in the iphone environment to develop apps in a C# / .NET environment. - https://www.xamarin.com is one example of someone doing that.
Monodevelop 2.2 Beta has a setup for Windows. Download
But if you want to develop for the iPhone (with MonoTouch) you are required to have an Intel Mac (otherwise you couldn't run the neccesary Apple tools).
Depending on WHAT you want to do you could also use Unity for the iPhone which is also Mono/.Net based.
As mentioned, Mono is the way.
There isn't a way at present to do straightforward development in Visual studio, however this will be coming soon as a VS Addin, which was discussed on Hanselminutes.
There is a Mono IDE though, called monodevelop
Link to Mono Podcast from Hanselminutes here
You can use xamarin (previously monotouch)
You will still need the official iPhone SDK and OSX, from MonoTouch Requirements:
To begin using MonoTouch, you will need to have:
Apple's iPhone SDK 3.0 or higher, available from Apple's iPhone Dev Center.
An Intel Mac computer running MacOS 10.5 or 10.6 (Leopard or Snow Leopard).
The latest release of Mono for OSX
So it's not exactly a free lunch yet :(
Yes, you can use Mono for that.
Novell released a commercial product: MonoTouch
Now it's https://www.xamarin.com/
Besides using Monotouch, there is no other way to do it in .NET.
If you are not willing to use OBJ-C's native API for iPhone you could also consider FLASH.
Use the Airplay SDK: http://www.airplaysdk.com/
You can develop with Visual Studio and target the iPhone for free. If you target other mobile platforms, the pricing changes. You will still need a Macintosh to sign your iPhone package, but all the development / testing can be done in C++ in Visual Studio on Windows.