> For the complete documentation index, see [llms.txt](https://docs.flatredball.com/flatredball/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flatredball.com/flatredball/glue-reference/multi-platform/glue-reference-ios/using-xamarin-build-host-for-ios-development.md).

# Using Xamarin Build Host

### Introduction

FlatRedBall iOS projects (including Glue projects) can be developed in Visual Studio and deployed to an iOS device through a networked Mac using Xamarin Build Host. This is the fastest way to develop iOS gams but it does require a Xamarin Business License (which is more expensive than Xamarin Indie License).

This article shows how to use Xamarin Build Host to deploy a FlatRedBal iOS game.

### Xamarin Build Host Setup

Before deploying you must have your Mac and PC computers configured for Xamarin Build Host. Xamarin provides a guide for getting Xamarin Build Host set up here: <http://developer.xamarin.com/guides/ios/getting_started/installation/windows/introduction_to_xamarin_ios_for_visual_studio/>

### Creating an iOS Project in Glue

Creating a FlatRedBall iOS project through Glue is nearly identical to creating a PC project:

1. Open Glue
2. Select File->"New Project"
3. Select "iOS" as the project type
4. Enter a name
5. Click "Make my project!"

![CreateNewiOSProject.gif](/files/CsrjPMUTmMckusVwkDXd)

Once the project has finished downloading it can be opened in Visual Studio. Visual Studio should display UI for the Xamarin Build Host:

![ConnectedToMac.PNG](/files/fNjYj7DFeFibsZ4qLyVY)

### Running the project

As shown in the Xamarin guide above, running the app simply requires running from Visual Studio just like normal. Of course, the app will run on simulator or physical iOS device depending on your settings:

![FrbiOSScreenie.png](/files/q4GT179sKNmM3BYKa3TM)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flatredball.com/flatredball/glue-reference/multi-platform/glue-reference-ios/using-xamarin-build-host-for-ios-development.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
