ios - 如何使用Windows開發機器為iPhone開發?


有什麼辦法來修補Windows機器上的iPhone SDK? 是否有Windows版iPhone SDK版本的計劃?

我能想到的唯一方法就是在運行在Windows上的VMWare服務器上運行Mac VM鏡像,儘管我不太確定這是如何合法的。


Answers



當然可以在Windows機器上進行開發,事實上,我的第一個應用程序是專門在當時的舊版Dell Precision上開發的。

有三條路線;

  1. 在第二個分區/磁盤上安裝OSx86 (aka iATKOS / Kalyway)並雙啟動。
  2. 在VMWare下運行Mac OS X Server(Mac OS X 10.7(Lion)之後,閱讀下面的更新)。
  3. 使用Delphi XE4和maccloud服務。 這是一個商業工具集,但組件和lib支持正在增長。

第一條路線需要修改(或使用預先修改的)Leopard的圖像,可以安裝在普通的PC上。 儘管您的成功/努力比例取決於PC硬件與Mac硬件的匹配程度,例如,如果您在Intel主板上運行Core 2 Duo,並且使用NVidia顯卡你在笑。 如果你正在運行一台AMD機器或者沒有SSE3的機器,那麼它會變得更加複雜一些。

如果您購買(或已經擁有)Leopard版本,那麼這是一個灰色區域,因為Leopard EULA聲明您只能在“Apple Labeled”機器上運行它。 許多人指出,如果你在電腦上粘貼蘋果標籤,你可能會被覆蓋。

第二個選擇是更昂貴的。 Leopard工作站版本的EULA防止在仿真下運行,因此在VMWare中不支持這個功能。 但是豹服務器可以在仿真下運行,可以用於桌面目的。 然而豹服務器和VMWare是昂貴的。

如果你對選項1)感興趣,我會建議從Insanelymac開始閱讀OSx86部分。

我認為你應該考慮一下你投資的時間是否值得你節省的錢。 這是為了我,因為我喜歡修補這種類型的東西,我開始在早期的iPhone測試,數月前,他們的App Store可用。

或者,您可以從eBay購買低規格的Mac Mini。 如果您決定停止開發或購買更好的Mac,則不需要太多的馬力來運行SDK,並且您可以隨時將其銷售。

更新:您無法為OS X 10.6及更早版本創建Mac OS X Client虛擬機。 蘋果不允許這些客戶端操作系統被虛擬化。 隨著Mac OS X 10.7(Lion)的發展,蘋果已經改變了關於虛擬化的許可協議。 來源: VMWare KnowledgeBase




如果你有一個越獄的iPhone,你可以通過Cydia將iphone-gcc工具鏈安裝到iPhone上,這樣你就可以在iPhone上編寫應用程序。 以這種方式開發的應用程序仍然可以提交給App Store。

雖然Valdez先生說這是一個灰色地帶,但越獄非常簡單,幾乎沒有風險。 是的,這會讓你失去信心,但你只能做一次恢復,而且永遠不會知道。




Xamarin現在是我的頭號選票。 現在由Microsoft購買並直接構建到Visual Studio中,並且可以使用C#和所有添加的更新和功能,您可以在Windows上執行所有操作,甚至可以編譯,構建和啟動部署。 您只需要一台Mac Mini充當部署服務器,但您永遠不需要在其上編寫任何代碼。

對於遊戲, Unity 3D是我的首選。 他們支持iOS和大多數其他平台。 對於iOS和MAC,只需獲得最便宜的MAC Mini即可完成構建,但所有的開發都可以在Windows上完成。

其他選項:

使用Marmalade (以前稱為Airplay SDK)(對於iPhone,你仍然需要一個Mac來簽署你的應用程序,但就是這樣,所有的開發/測試都可以在Windows上完成)。 最低層許可證現在是免費的。

果醬SDK

PhoneGap也可以工作,但是我發現它對於遊戲來說不是那麼好,但是對於常規的GUI應用程序來說它還是相當不錯的。 同樣,您需要一台Mac來簽署和測試您的應用程序,並符合Apple的使用條款。




大多數“沒有Mac的iOS開發所謂的Windows解決方案”要求Mac在最後簽署並發送到應用程序商店。 我檢查了一些,但不是所有(誰有時間?)

最後,學習“他們的超級特別簡單的方法來編程iOS沒有Objective-C”太麻煩了,他們有很多的錯誤。 在我看來,他們所設定的目標是無法實現的。

還有很多時候,他們只是使用另一種語言來使用Objective-C等價語句。 他們看起來一樣,但總是有細微的差別,你必須在obj-c之上學習。 這也使得更少的意義,因為現在,而不是學得更少,你必須學習更多。 那麼收益在哪裡? 而且他們花費很多,因為他們很難發展。

許多缺乏任何調試能力。

我誠實地認為,如果你是一個核心的iOS開發人員,那麼肯定會買最好的Mac,學習Objective-C。 這是昂貴的,需要時間,但如果這是你的道路,這是值得的。

對於偶爾使用,租用遠程Mac服務(如XCodeClub.com)更容易




你可以使用WinChain

引用項目頁面:

這是在Windows XP / Vista計算機上構建iPhone工具鏈的最簡單的方法,而後者又可以採用使用UIKit頭文件(包含在winChain中)編寫的Objective-C源代碼,並將其編譯到可以使用的應用程序中在你的iPhone上。




SDK僅在OS X上可用,強制您使用Mac。 如果您不想購買Mac,則可以在Windows的虛擬機上運行OS X,也可以在PC上安裝OS X。

根據我的經驗,虛擬機解決方案的速度太慢了(在使用2G RAM的core2 duo筆記本電腦上)。 如果你想嘗試搜索洪流。 這可能是不值得的。

另一種選擇是在您的PC上安裝OS X,通常稱為hackintosh。 Hackintoshes工作得很好 - 我的朋友剛剛賣掉了他的Mac,因為他的戴爾四核hackintosh實際上比蘋果硬件要快得多(成本大約是1/3)。 你可以找到很多有關如何做到這一點的文章; 這裡有一個關於如何安裝戴爾Inspirion 1525筆記本電腦: hackbook專業教程

當然,這兩種方案都可能與某些許可方案相悖,因此請自行承擔風險。




你不需要擁有一台Mac,也不需要學習Objective-C。 您可以在不同的環境中開發,稍後再編譯成Objective-C。

開發的iPhone和iPad通過運行OSX 10.6(雪豹)

本文中的一位開發人員寫了一個非常全面的介紹,在Windows上使用iBoot安裝OS X Snow Leopard,然後安裝Vmware(帶有說明),然後讓您的iPhone開發環境進行...以及一些額外的多汁東西。 超級對我有幫助。

希望有所幫助。 它使用Phonegap,因此您可以一次在多個智能手機平台上開發。




你可以使用Tersus (免費,開源)。







一個開發工具,允許用Objective-C, C++開發iPhone應用程序,或者用Visual Studio開發C:

iOS build env上檢查一下

您可以直接在Visual Studio(2008,2010,Express)中構建iPhone應用程序。

相當整潔,甚至在編譯成功後為你的應用程序生成IPA文件。 該代碼在越獄設備上運行,對於地球上的其他人來說,我相信最終編譯和提交到App Store必須在Mac上完成。 但是,它仍然可以使您使用知名的IDE進行開發。




當然,您可以在記事本或其他程序中編寫Objective-C代碼,然後將其移動到Mac進行編譯。

但嚴重的是,這取決於您是否正在開發官方應用程序來投入App Store或為越獄iPhone開發應用程序。 要編寫官方應用程序,需要Intel Mac的Apple iPhone SDK似乎是唯一可行的方法。 然而,有一個非官方的工具鏈來編寫越獄iPhone的應用程序。 你可以在Linux和Windows上運行它(使用Cygwin)。




試試macincloud.com它允許你租用一個mac並通過RDP遠程控制訪問它。 然後,您可以使用您的PC訪問Mac,然後開發您的應用程序。




萬歲! 現在,您可以使用最新的Xamarin.iOS,使用提供構建和部署功能的網絡鏈接的Mac來更輕鬆地完成此任務。

在這裡看到更多的細節:

xamarin ios for visual studio簡介




如果你希望它是合法的,你有兩個選擇,基於雲計算的Mac解決方案或跨平台開發工具。 如果你不關心合法的東西,你可以考慮hackintosh方法或虛擬機。 如果你有一個體面的PC,運行虛擬機將是最簡單的方法。 你可能永遠也不知道哪一個硬件會在hacksintosh上出現驅動問題。

我已經嘗試了所有這些方法,他們都有優點和缺點,但對於第二組,我感到內疚。 我開發應用程序謀生,而我不想為其他人撕掉。

如果您正在製作一個小型項目,基於雲的Mac可能會有用。 租一小段時間,開發你的項目,然後離開你。 不要去學習任何新東西。

但是,如果您的項目越來越大,跨平台框架似乎是唯一的選擇。 關鍵的是你需要明智地選擇。 有這麼多的混合框架,但是他們做的事情可以用一句話來概括為“在應用程序包裝中浸入網頁”,而開發人員對混合框架的負面經歷也會影響本地框架。

我嘗試了三種(Titanium,Smartface和Xamarin),他們都聲稱產生“真正的本地產出”,而且我認為他們的說法是正確的。 你需要測試,看看它是不是很容易描述本地的感覺。 在之前的評論中,有人指出,學習這些平台需要一些努力,但是一旦了解了這些平台,就可以開發不僅僅是iOS應用程序,而且還可以開發Android應用程序,所有這些都具有通用的代碼庫。 當然,它們比雲端Mac便宜得多。 有些甚至是免費的。 您只需要一台Mac用於商店提交。

如果您了解JavaScript,請嘗試Titanium和Smartface,如果您了解C#,請嘗試Xamarin。 請注意,對於設備仿真器,Titanium依賴於Mac,但是Smartface有一個用於Windows開發的模擬器應用程序,它比我預期的更好。 另一方面,Xamarin需要在您的網絡中使用Mac。







如果你想創建iPhone應用程序,但沒有Mac,那麼你應該嘗試http://www.pmbaty.com/iosbuildenv/

它使您可以輕鬆開發原生iOS應用程序,例如XCode,可以在任何iPhone,iPod或iPad上進行部署(越獄或不使用)。

使用您最喜愛的IDE在Objective-C,C ++,C或ARM程序集中進行編碼,就像在XCode中一樣。 支持ARC和塊。

在Visual Studio中直接編譯你的iPhone應用程序

它適用於Windows所有版本(XP,7,8),FreeBSD和Linux

現在與iOS8的支持。




您可以使用英特爾XDK ,您可以在沒有Mac的情況下開發和發布適用於iOS的應用程序。

點擊這裡查看詳情。




看看這個:

在視圖

這是一個試圖將各種源語言編寫的程序交叉編譯成各種目標語言的項目。 最初的測試案例之一是用Java編寫程序,並在iPhone上運行它們。 在網站上觀看視頻是值得的。

就這樣說,我沒有嘗試過。 該項目看起來相當不錯,而且在SourceForge網站上沒有太多活動。




有趣的是,沒有人提到了跨平台的wxWidgets選項。

儘管如此,這還不是一個最佳的解決方案。

恕我直言,商業上最明智的方式是把錢投資在蘋果的認可框架。 這樣,如果你發現自己陷入了一個令人難以置信的問題,那麼你就有了一個更大的開發者社區來進行諮詢。




您可以在WINDOWS PC上開發IPHONE應用程序。 我已經做到了,用複雜的應用程序。 它完美的作品。 您可以開發iPhone應用程序,而無需看到Mac或iPhone。

您可以使用Sencha或JQTouch或mobi1等工具在Windows上開發HTML(或更好:HTML5)應用程序。 (他們以前都是免費的)

然後你使用openSSL來簽署應用程序。 和Adobe PhoneGAP Build服務搭建iPhone App。

但是你需要iPhone開發者許可證才能在iPhone上安裝它。 但是在任何時候你都不需要Mac或者iPhone來編譯,編譯或者測試它 - 所有這一切都是在PC上完成的。

我已經完成了,它完美的工作。 (但是,Android類型的響應速度 - 不如本地iPhone應用程序快)

你也可以使用巴比倫時代(大約300年前)運行C和C ++的程序,稱為蜻蜓。 如果你的應用程序有一個或兩個屏幕交互性有限,而且有很多計算,那就去做吧。 它包括一個模擬器。 你按下按鈕編譯到iphone。 (不知道,但我想你確實需要開發者許可證)

然後是Xamarin。 您在C#中開發了對本地代碼的特殊調用。 你必須學習環境。




您可以使用Sentenza在Windows上為iPhone創建應用程序。 測試成功。 這不是一個解決方案,而是一個很好的選擇!




另外兩個選項

  1. Titanium Developer - 免費社區版 - 用HTML / JavaScript編寫 - 用Xcode編譯(需要Mac或VM)

  2. OpenPlus ELIPS Studio - 在Flex中編寫,在Xcode上編譯(需要Mac或VM),但是他們只是開始為他們的產品收費。

我認為可能有這些和其他一些提到的“工具鏈”選項,它們允許您在Windows上編譯為二進製文件,而且我已經看到,您可以上傳一個zip文件,並在線為您完成工具鏈樣式編譯,但是這違背了蘋果的授權。

如果我沒有弄錯,像Titanium這樣的輸出/使用Xcode並且不使用任何第三方/替代/限制庫的產品應該符合規範,因為您最終是在xcode中編譯正常的Objective-C代碼和庫。




正如你已經指出,你可以嘗試使用WinChain,但如果你是一個新手編碼器,這將是不容易的。

iPhone SDK將在Hackintoshes(安裝了OS X的普通PC)上工作。 我知道,因為我有一個,它確實。

所以在你購買OSX許可證後,你可以嘗試使用Boot-132或其他安裝程序(如iDeneb)將其安裝到另一個驅動器的PC上。 這個問題,你將不得不做很多修補和東西仍然不會正常工作。




是的,你不需要學習Objective-C和購買蘋果軟件和硬件。

Adobe已經從ActionScript 3 創建了編譯器來為iOS編程。 後來,蘋果批准了這種應用程序創建的方法。

這是在Windows或Linux / BSD(另一個用於MacOS-X)下創建Apple應用程序的最佳方式,




drim.co.il提供使用任何操作系統的個人電腦在Mac上遠程開發的解決方案。 客戶端PC上無需安裝。




如果你想在Windows環境下開發一個應用程序,那麼有一個選項,你可以在你的windows平台上安裝MAC OS平台名稱是:“Niresh'MAC OS”,你可以在Google上搜索那個文本

那麼你可以下載整個MAC操作系統的源代碼,並輕鬆地安裝在您的Windows PC的MAC操作系統,Niresh是能夠攻克整個操作系統。

希望這會幫助你。




你可以在PC上安裝OSX,但經驗不會太好,需要很多工作。 另一種方法是使用框架/ SDK Codename one :基於JAVA,可用於Windows(eclipse)上的WP8,Android,iOS上的代碼,具有所有廣泛的功能

功能概述:

  1. 完整的Android環境與超級快速的android模擬器
  2. 一個iPhone / iPad模擬器,可以在幾分鐘內輕鬆將iPhone應用程序帶到大屏幕iPad上。
  3. 全面支持標準的Java調試,分析任何平台上的應用程序。
  4. 簡單的主題/造型 - 只需點擊即可

更多在開發使用Java的Android,iOS iPhone,WP8應用程序免責聲明:這是我對產品的評論




正如很多人已經回答的那樣,iPhone SDK僅適用於OS X,我相信蘋果公司絕不會在Windows上發布它。 但有幾個可供選擇的環境/框架允許您開發iOS應用程序,甚至包裝並使用Windows機器以及MAC提交給AppStore。 這裡是最流行和相對更好的選擇。

PhoneGap ,允許使用HTML / CSS / JavaScript創建基於Web的應用程序

Xamarin ,C#中的跨平台應用程序

Adobe AIR ,使用Flash / ActionScript的空中應用程序

Unity3D ,跨平台的遊戲引擎

注意: Unity需要Xcode,因此需要OS X來構建iOS項目。




Oracle VirtualBox允許用戶在虛擬機中安裝Mac OS X. 如果您對此感到滿意,可以使用這種方式來使用Xcode。 這是合法的,如果你“雙啟動”你的Mac進入Windows,然後安裝在Windows(或Linux)的VirtualBox。

其他可能性是交叉編譯器,如Appcelerator Titanium (HTML,CSS和JavaScript)或MonoTouch (.NET)。




如果你有一個Mac的ssh訪問,那麼你可以使用一個VCN(如Vine VCN,它允許一次使用多個用戶 - 瘦瘦的客戶端)來控制XCode。

如果您想從筆記本電腦訪問Mac Mini,或者您的Mac正在佔用您的MacBook,這可能會很有用。