ios中文 - unix linux




在Linux中啟動iPhone應用程序開發? (12)

我聽說如果你想開發iPhone應用程序,你需要購買一台Mac。 這是真的?

是否有可能使用Linux開發iPhone應用程序? 如果是,我需要什麼以及在哪裡下載必要的工具?


你是對的非越獄手機僅限於蘋果App Store,蘋果“有權”執行任何規則,這是完全非自由的領土。 然而,在開發過程中,根本不需要與蘋果打交道。 您可以使用例如rsync將代碼上傳到設備並對其進行測試。


你需要得到它的Mac。 有幾個可用的工具鏈(如win-chain),實際上可以讓你在windows上編寫和創建我的Phone應用程序。 在Windows上有幾個相關的教程來構建Objective C代碼。 但是有一個問題,因此開發的應用程序只能在Jail破壞的i Phones上運行。

我們已經看到很少的黑客可以克服這一點,並將其交給App Store,但隨著Apple不斷更新SDK,工具鏈需要定期更新。 如果你想要準備好應用程序,你也可以從arcapps獲得幫助,以合理的價格推出應用程序。 iPhone應用程序開發


在一定程度上,是的,這是可能的。 您可以輸入Objective-C代碼並設置您的項目。 你甚至可以用gcc測試代碼的C和C ++部分。

你不能做什麼:

  • 使用Interface Builder來設置你的界面,因為它只有Mac。 (不需要,但建議。)
  • 編譯使用Apple Cocoa類的代碼 - 它們在Linux上不存在。
  • 在模擬器中測試代碼 - Linux中沒有一個代碼。
  • 編譯真實設備或App Store的代碼 - 所有這些都需要Apple僅為OS X提供的工具。

如果不是使用Xcode開發的,您將永遠無法獲得Apple批准的應用程序。 決不。 如果你確實在Linux上開發SDK並且Apple發現了這些,那麼當你服務的時候不要感到驚訝。 我是ADC和iPhone開發人員計劃的成員。 信任,蘋果對此非常認真。

不要冒險,買一台Macbook或Mac mini(是的,迷你可以運行Xcode - 儘管緩慢 - 如果你使用mini,可以提升內存)。 另外,雖然我看到OS X被黑客攻擊在VMware上運行,但我從來沒有見過任何人在虛擬機上運行Xcode。 祝你好運。 在經歷麻煩之前,我會檢查EULA。

PS:在閱讀上述內容之後,是的,我同意如果你真的破解了SDK並在Linux上開發,至少要在Mac上進行最終的打包。 並通過Mac提交。 蘋果公司不會逐行運行代碼,所以我懷疑他們會接受。 但是,男人,這是很多如果和工作。 儘管這樣做很有趣。 :)


對此的回答實際上取決於您是否想要開發通過iPhone商店分發的應用程序。 如果你不這樣做,也不介意為“越獄”的iPhone人群開發 - 那麼可以從Linux開發。

查看本章的頁面以獲得全面的(如果有點複雜)指南:

http://www.saurik.com/id/4


您可以使用Tersus (開源),它可以讓您將應用導出為Xcode項目。


我建議獲得一個mac,因為ios模擬器在應用程序的早期階段對於測試來說非常棒。 但我知道我們使用Unity開發的一家小公司,因此他們不需要大量的Mac。 這樣他們只需要一個辦公室的mac就可以編譯最終版本。 這也意味著它可以在Android上運行,但它確實取決於你的建築,因為它是一款遊戲引擎。 您可能想使用Sencha Touch Mobile等框架查看網絡應用程序

Unity: http://unity3d.com/ : http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/ : http://www.sencha.com/products/touch/


我曾試圖將cocos2d-iphone移植到GNUstep,以便您可以開發基於cocos2d的遊戲。 但是對於發布你需要一個mac。 cocos2d-GNUstep


曾經有一個專門解決這個缺陷的項目: iphone-dev

iphone-dev項目的目標是創建一個免費的,便攜的,高質量的工具鏈,以支持基於ARM / Darwin平台的Apple iPhone和其他嵌入式設備的開發。


有一個叫Rhodes的框架。

這個概念基於Ruby on Rails,您可以使用Ruby和HTML開發移動應用程序,並且可以在Linux環境中編寫代碼。 然後,您可以在Rhohub創建一個帳戶,在該帳戶中添加代碼(通過GitHub ),並允許您為iPhone,Blackberry,Android,Windows Mobile和Symbian編譯所有代碼。 您不必在Objective-C for iPhone中編寫代碼,也不需要在Android中編寫Java代碼等。它為您完成轉換。 您只需遵守創建iPhone應用程序的規則(或您想開發的手機),以便在iTunes(或同等市場)上接受它。

這將允許您將應用程序添加到iTunes。

但是,我還沒有找到任何模擬器,這意味著要測試您的應用程序,您需要將它放在iPhone上,這是一項使命。

我正在使用這個選項,因為我想為所有手機創建應用程序,並且我已經使用了Ruby on Rails。 如果你只是想為iPhone製作應用程序,那麼就投資Mac。

希望這可以幫助。


關於替代工具鏈,Saurik的網站很有用,但是對於最新的固件開發,他表示建立在iPhone本身上,並且清楚地表明您可能需要將必要的iPhone固件文件複製到您的Linux環境。 這不是不可能的,但只需要額外的工作,特別是對代碼進行簽名(也有開放的替代解決方案)。

另外,請看看其他指南(對於相同的工具鏈),以更有條理的方式處理它。

如果您在向Apple提交應用程序時遇到問題,我建議仍然在XCode中完成最終構建和代碼簽名和打包(這可能意味著借用某人的Mac)。 使用替代工具鏈打開(至少在Mac上)使用XCode以外的其他IDE開發應用程序的可能性,並再次使用XCode進行模擬器部署和測試。

當然,如果您確實從XCode之外的命令行獲得代碼簽名/證書生成,那麼您可以在您的實際iPhone上安裝證書並在那裡進行測試(通過iTunes安裝該應用程序並獲得證書)。


您可以在Linux機器上編寫代碼,最終在iPhone或iPad上找到自己的代碼,但最終您需要使用Mac來測試代碼或將代碼部署到iPhone或將代碼提交給App Store。 所以最終你需要一台Mac,所以你也可以用蘋果提供的所有工具來完成Mac上的工作。 有Xcode和Objective-C的替代品,例如Monotouch,但它們也使用Apple工具。

您可以通過一些工作在Linux上的VM上運行OS X。 但是我應該指出,即使您購買OSX副本,這也會打破OSX許可協議,因為它只能在Apple硬件上運行。

很抱歉給你這個消息 - 圍繞iPhone / iPad的生態系統受到了非常嚴格的控制。

編輯:這是一個主要的例外是為iPhone編寫一個Web應用程序。 iPhone有一些優秀的網絡應用程序,與原生應用程序的用戶體驗差不多。 不過,我的確將您的問題解釋為關於本地應用程序開發。 儘管用戶可以創建一個圖標來啟動它們,但Web應用程序仍然是“二等”公民。





linux