微软开源地址: https://github.com/Microsoft/WinObjC/
前些天看到微软放出了Project Islandwood iOS工具并且开源,号称可以让iOS项目直接导入VS之后编译支持Windows App,几乎无需改动代码。参考微软已经上线的apk to Windows App服务,猜想微软已有黑科技做出了类似的解决方案。所以今晚尝试了一下。官方说明文档和Wiki有简单教程。
1、解压WinObjc后,首先到bin目录执行objc-syntax-highlighting.vsix 为Vs添加对Object-C的语法高亮支持。
2、打开Windows命令提示符 然后切换到要转换的iOS项目的目录。例如C:/Project/iOS/test/
3、在当前目录下通过相对目录方法执行WinObjc/bin目录下的vsimporter.exe程序。即保持命令提示符为iOS项目所在目录。例如:../../WinObjc/bin/vsimporter.exe
4、等待提示生成完毕后,在iOS目录下将会出现熟悉的.sln项目文件。双击该文件即可打开VS。
5、在VS中选择项目、右键、设置为启动项,然后点击运行即可。
拷贝之前写的几个项目过来,均因为缺失一些基本的头文件和库而无法顺利编译。万般无奈找了之前学习iOS留下来的项目顺利通过编译。总的来说,目前简单测试发现的问题有:许多库还是缺失状态、不支持StoryBoard。运行官方的示例可以看到很多基本的控件已经支持了,虽然风格差异比较大。
目前观察,微软是写了一套Object-C的编译器,然后同时将iOS用到的API全部重写或者映射到相应的Windows APP API上面去,从而保证了程序项目直接拷贝过来能够直接编译。但总的来说,还需要很长一段时间可能才能真正达到完善。
虽然不是太看好这个项目,还是抱有一定的期待。
最后附上编译成功之后运行图: