Objective-C for Windows
Objective-C++ Objective-C C C++ M PowerShell
Permalink
Failed to load latest commit information.
.apianalyzer Added ApiAnalyzer configuration files to the repository. (#2184) Mar 8, 2017
Frameworks Fix annotation in NSNumberFormatter (#2371) Mar 30, 2017
build Remove internal functions _CGImageRepresentation, Image representatio… ( Mar 30, 2017
common Fixing override-projectjson to handle project.json with a depth > 2. (#… Mar 29, 2017
deps RTObjCInterop Binary Update: Modified the convertor for StorageFile t… Mar 24, 2017
docs Release 1702.1 (#1992) Feb 17, 2017
include This change fixes a couple of UIScrollView issue and adding tests (#2324 Mar 27, 2017
msvc Remaining Visual Studio 2017 upgrades (#2292) Mar 22, 2017
samples Adjust Sample and Test Apps for auto restore (#2338) Mar 28, 2017
scripts Run clangformat over vsimporter (#2322) Mar 27, 2017
tests CGContextTest:ContextCoordinateTest should use CGBitmapContext rather… Mar 30, 2017
tools Upgrade forgotten ToolsVersion settings (#2343) Mar 29, 2017
.ci-repo.xml Bbowman/packaging submit ci (#2209) Mar 11, 2017
.clang-format [clang-format] Turn off include sorting. (#1154) Oct 14, 2016
.gitattributes Release 1702.1 (#1992) Feb 17, 2017
.gitignore Merge branch 'develop' into packaging Mar 8, 2017
.gitmodules merge with latest develop. Feb 10, 2017
GitVersion.yml Clean up nuproj props / targets so that common behavior changes are m… ( Mar 9, 2017
README.md Update readme for improved readability (#2283) Mar 22, 2017
ThirdPartyNotices.txt Fix chocolatey install/ uninstall for vs2017 (#2233) Mar 14, 2017
init.cmd Auto-Restore Build.sln (#2333) Mar 28, 2017
init.ps1 Move many prebuilts and tool like things over to the /tools/ director… Jan 19, 2017
license.txt Initial OSS release of Windows Bridge for iOS. Aug 6, 2015
nuget.config remove some things in the nuget.config that were messing things up (#… Mar 30, 2017

README.md

Welcome to the Windows Bridge for iOS Project

The Windows Bridge for iOS (also referred to as WinObjC) is a Microsoft open-source project that provides an Objective-C development environment for Visual Studio and support for iOS APIs. The bridge allows you to create Universal Windows Platform (UWP) apps that will run on many Windows devices by re-using your Objective-C code and iOS APIs alongside Windows 10 features like Cortana and Windows Notifications.

Stable (master) Pre-release (develop)
Build - VSTS
GitHub Release Github Release -
winobjc-tools Tools Tools
WinObjC.Language Language Language
WinObjC.Frameworks Frameworks Frameworks

Download and Installation

To use the bridge you'll need:

  • Windows 10, build 10586 or higher. Validate your version number here.

  • Visual Studio 2017 with Windows developer tools. Visual Studio 2017 Community is available for free here.

    Ensure the following individual components are selected during installation. Selecting the Universal Windows Platform development workflow should give most of the below

    (Click to Expand)

    • Visual Studio Core Editor
    • Nuget Package Manager
    • C# and Visual Basic Roslyn compilers
    • Static analysis tools
    • Windows 10 SDK (10.0.14393.0)
    • Visual Studio C++ core features
    • VC++ 2017 v141 toolset (x86, x64)
    • Visual C++ compilers and libraries for ARM
    • Visual C++ runtime for UWP
    • Windows 10 SDK (10.0.10240.0)
    • Windows 10 SDK (10.0.10586.0)
    • MSBuild
    • Windows Universal CRT SDK
    • Standard Library Modules
    • VC++ 2015.3 v140 toolset (x86,x64)
    • Windows Universal C Runtime

To get started with an existing Xcode Project, you will also need:

  • Chocolatey, a package manager for windows. See how to install the latest version here
  • winobjc-tools, the command line tools for WinObjC. Run the below command from powershell (Admin) to get the latest version:
choco upgrade winobjc-tools

(more information about this command and its options can be found here. If you want to use develop packages add --pre to the command.)

Getting Started With the Bridge

Importing your Xcode Project

When using the bridge, the first thing you'll want to do is generate a Visual Studio solution from your Xcode project:

  1. Open Windows PowerShell (type powershell in the Start Menu to find it) and navigate to your Xcode project directory using the cd command. Note: use the directory containing your .workspace or .xcodeproj folder.
  C:\> cd C:\MyProject
  1. Run the vsimporter tool. This will generate the Visual Studio Solution:
  C:\MyProject> vsimporter.exe
  1. Open the generated Visual Studio solution with the command:
  C:\MyProject> MyProject.sln

For more detailed step by step instructions on how to import a project, see the Quick Start Tutorial page of the wiki. For vsimporter options and known issues, check the Using vsimporter wiki page.

Analyzing your App

After importing your project, we strongly suggest using the App Analysis Tool to have a better understanding of the compatibility of your app with the bridge.

Building & Running the Samples

A great way to learn more about the bridge and its features is building and running the samples of the SDK, which contain many code examples. We recommend starting with the WOCCatalog sample app, which demonstrates an assortment of iOS and XAML UI controls:

  1. Clone the repo.
  2. Navigate to the samples/WOCCatalog directory of the bridge SDK
  3. Double-click on the WOCCatalog-WinStore10.sln solution to open it in Visual Studio
  4. In Visual Studio, right-click on the WOCCatalog (Universal Windows) project
  5. Select Set as StartUp project
  6. Use Ctrl-F5 to build and run the app

For more detailed step by step instructions, see the Quick Start Tutorial page of the wiki.

Resources & Documentation

The following resources will help you get started. For more information, check out:

  1. Wiki, for documentation and tutorials
  2. Development Roadmap, detailing our highest priorities
  3. App Analysis Tool, to evaluate the compatibility of your app with the bridge
  4. Website on Windows Dev Center, for evaluation virtual machines
  5. Quick Start Challenge, for a quick hands-on introduction to the bridge
  6. FAQ, with common questions and issues
  7. The iOS Bridge Samples Repo, for sample apps and code using the bridge

Contributing

There are many ways to contribute to the Windows Bridge for iOS:

See our contribution guidance in the wiki for more details on how to contribute to the project.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Advanced Installation for Contributors and Ninjas

Additional Visual Studio Components Needed for Contributors:

  1. C# and Visual Basic
  2. Visual Studio SDK
  3. .NET Framework 4.6 targeting pack
  4. C++ Profiling Tools

If you want to build the bridge from source instead, you'll also need to install Git LFS before cloning the repo. For more detailed instructions, see the Building From Source wiki page.

If you're having trouble downloading & installing the bridge, see the Known Issues section below and check our FAQ.

Privacy

See Microsoft's privacy statement for more information.

Roadmap

For details on our planned features and future direction sort the list of issues by milestone and refer to our roadmap.

Known Issues