Giter Club home page Giter Club logo

winobjc's Introduction

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.

Download and Installation

To use the bridge you'll need:

  • The latest pre-built Windows Bridge for iOS SDK, that you can download here. Click on the winobjc.zip file under Downloads to start the download and extract it to the local directory of your choice (example: C:\winobjc) when complete.
  • Windows 10, build 10586 or higher. Validate your version number here.
  • Visual Studio 2015 Update 3 with Windows developer tools. Visual Studio 2015 Community is available for free here. Select (at least) the following components during installation:
    1. Programming Languages -> Visual C++
    2. Universal Windows App Development Tools (all)

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.

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 the Windows Command Prompt (type cmd 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 from the bin directory of the bridge SDK you downloaded. This will generate the Visual Studio Solution:
  C:\MyProject> C:\winobjc\bin\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.

Configuring Visual Studio

Once your solution is opened in Visual Studio, you'll want to enable Objective-C syntax highlighting and debugging.

  • Installing the Syntax Highlighting Extension
    • To enable Objective-C syntax highlighting in Visual Studio, navigate to the bin directory of the SDK and double click on objc-syntax-highlighting.vsix to launch the installer.
  • Setup Objective-C Debugging
    • To setup Objective-C debugging in Visual Studio, follow the instructions on the Debugging page of the wiki.

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. Navigate to the samples/WOCCatalog directory of the bridge SDK
  2. Double-click on the WOCCatalog-WinStore10.sln solution to open it in Visual Studio
  3. In Visual Studio, right-click on the WOCCatalog (Universal Windows) project
  4. Select Set as StartUp project
  5. 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 [email protected] with any additional questions or comments.

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

winobjc's People

Contributors

brianker avatar dhowett avatar asimonov-msft avatar bdrlamb-ms avatar davelamb avatar jaredhms avatar bbowman avatar mnithish avatar ms-jihua avatar jofre-ms avatar mukhole avatar msft-jeyaram avatar yiyang-msft avatar pradipd avatar bviglietta avatar aballway avatar ramu-msft avatar oliversa-msft avatar amagams avatar jmsaunders-ms avatar msftfox avatar s5msft avatar oren-msft avatar ehren avatar ashvarma avatar andschub-ms avatar triplef avatar weswmsft avatar greatkeeper avatar cloudmonkeypeng avatar

Watchers

James Cloos avatar Varun Venkatesan avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.