Skip to content

Using vsimporter

Nick Gerard edited this page Mar 2, 2016 · 14 revisions

Using vsimporter

The vsimporter tool enables you to import your Xcode project into a new Visual Studio Universal Windows Platform (UWP) app project with Objective-C support.

To use vsimporter:

  1. From a command prompt, navigate to the directory containing your Xcode project; for example c:\winobjc\samples\WOCCatalog

  2. At the command prompt, run vsimporter.exe

    c:\winobjc\samples\WOCCatalog> ..\..\bin\vsimporter.exe

  3. A Visual Studio solution file is created in your current directory. Double click this file to open your project in Visual Studio.

  4. Press Ctrl-F5 to build your app and run it on your PC.

You can also pass the -i option at the command line to run the vsimporter tool in interactive mode. Interactive mode lets you see and select the specific configurations of the Xcode project that you wish to import. By default, vsimporter creates a Visual Studio solution that targets Windows 10. If you'd like to target Windows 8.1 (Phone or Store), use the -format option and specify one of winstore8.1, winphone8.1, or winstore10 (winstore10 is the default).

For help running vsimporter, use the -help option at the command line to see the full set of supported options.

Known issues with vsimporter

  1. –f-no-arc-objc is not supported (–f-no is unsupported for any option, as this is normally interpreted by a clang driver). To work around the issue:
  • Right click on the relevant file in the Visual Studio solution explorer

  • Select Properties

  • Select clang

    FileProperties1

  • Set Enable Objective-C ARC to No

    FileProperties2

  1. Certain build stages are ignored (although they will be logged in the console window output):
  • Shell scripts
  • Header copy stage
  • Copy file stage
  1. Absolute paths in projects may be problematic, relative paths are preferable
  2. Windows Linker flags differ from OS X
  3. Framework search paths are ignored
  4. Custom build rules are ignored
  5. Data models and asset catalogs are not currently supported