WinObjc - 使用iOS項目生成通用Windows應用


Github上一周年的WinObjc項目最近發布了預覽版本,終於等到了這一天。WinObjc項目就是Build 2015大會上微軟宣布的Project IslandWood項目,致力於將iOS應用快速移植成UWP應用。廢話不多說,讓我們來看看WinObjc項目到底如何使用。

 

開始之前


 

開始轉制iOS項目前我們要先部署好WinObjc工具,工具鏈如下:

  1. 一台安裝了Visual Studio的Windows 10 PC,2015社區版可以直接下載:免費下載
  2. 安裝轉制iOS應用的WinObjc Bridge工具,直接下載:Github
  3. 准備一些可以使用的iOS項目,github上有不少開源項目

注意:確定你已經安裝了Windows 10 SDK, 不然無法生成使用UWP項目。

此外,還可以直接使用微軟已經配置好的評估版Windows 10開發環境虛機。虛機里已經配置好了最新的滿足需求的開發環境,方便你快速在Mac或PC上使用評估最新工具。針對不同虛機的下載地址如下:

 

使用方法


 

在將下載后的Winobjc.zip文件解壓到本地文件中后,我們就有了可以直接使用的iOS Bridge工具了。這里我使用的是iOS著名HUD框架MBProgressHUD的示例項目做測試,下載地址如下:https://github.com/jdg/MBProgressHUD

其中我們主要使用vsimporter工具,使用步驟如下:

  1. 打開命令行,並定位到iOS項目所在的目錄中。 cd C:\Users\changwei\Desktop\iOS\MBProgressHUD-master\Demo
  2. 從命令行中運行vsimporter工具。 C:\Users\changwei\Desktop\winobjc\bin\vsimporter.exe 
  3. vsiimporter自動排除了目前還不支持的測試項目和tvOS項目,生成了一個UWP項目,結果如下:

 

    4.可以看到已經生成了sln解決方案文件,直接打開即可

 

5.Winobjc文件夾bin目錄下有個Objective-C語言高亮插件objc-syntax-highlighting.vsix,大家別忘了安裝哦。當前解決方案sln文件雙擊打開后就是一個標准的UWP項目,直接Ctrl+F5運行此項目。

 

 

    第一次編譯生成要較長時間,然而最蛋疼的是編譯失敗了,拜拜(果然還是大坑)。

 

      

    之后又嘗試了很多iOS項目包括Apple開發者中心下載的一些示例項目。大部分都會編譯錯誤,少部分能運行的很多UI界面和功能都不對,目前除了官方自帶的Winojc示例項目外還沒有能正常運行的。

    我們來看看官方能運行的示例項目實際運行效果是什么樣子的,如下:

    

 

列表視圖 UITableView

 

集合視圖 UICollectionView

圖片視圖 UIImageView

 

我試着寫入了一段Objective-C代碼到項目中,會在當前窗口添加一個橘黃色的視圖,如下:

 

UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(0,0,200,200)];
testView.backgroundColor = [UIColor orangeColor];
[self.view addSubview:testView];

 

編譯運行后,確實執行也沒有問題,功能也是正常運行的,如下:

 

 

總結


Winobjc項目看着很美,但目前還是一張不堪使用的大餅。搞了一年,總歸比開始進步多了,重寫支持了大多數的iOS基礎庫,UIKit之類的基本framework完成度都挺高的,AutoLayout、Storyboard和XIB也都支持了,但是未來還有很長的路要走。目前大家還是可以嘗嘗鮮的,其實在我看來與其照搬重寫iOS framework,倒不如開發一套支持Objective-C的Windows開發框架,想比也比現在好多了,不至於被iOS牽着鼻子,問題不斷。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM