我正在使用非官方的Open SDK爲iDevice市場編程一些應用程序,但在Windows上而不是在Linux上安裝開放工具鏈時有困難(我會使用Linux,但我不能在我的工作計算機上),所以我正在編程它在GNU彙編程序(GAS)中。GAS(GNU彙編程序)能編譯到iPhone/iTouch嗎?
GAS是否有可能將iDevice作爲輸出文件的格式?如果沒有,是否有任何基於Windows或Linux的彙編程序(最好是開放源代碼)可以組裝到iPod touch?
我正在使用非官方的Open SDK爲iDevice市場編程一些應用程序,但在Windows上而不是在Linux上安裝開放工具鏈時有困難(我會使用Linux,但我不能在我的工作計算機上),所以我正在編程它在GNU彙編程序(GAS)中。GAS(GNU彙編程序)能編譯到iPhone/iTouch嗎?
GAS是否有可能將iDevice作爲輸出文件的格式?如果沒有,是否有任何基於Windows或Linux的彙編程序(最好是開放源代碼)可以組裝到iPod touch?
請注意,gcc或gas不是生成iOS應用程序包的最後一步。在官方的Xcode構建序列中,有鏈接,UniversalBinary合併,打包和代碼設置。因此,您可能需要工具才能在選定的開發平臺上運行這些步驟中的至少幾個步驟。
即使技術上可行,我寧可不開始這樣的企業。您可能會面臨嚴重的問題,不僅涉及密碼設置,還涉及應用程序商店的審批。蘋果非常熱衷於只使用官方工具的人,並禁止使用交叉編譯器等。如果他們發現你的應用程序是按照你提出的方式創建的,那麼他們可能會拒絕它。
即使他們可能不會 - 這是我不會承擔的風險。想象一下開發工作流程,完成所有工作,解決所有的代碼簽名和其他問題,然後蘋果拒絕你的應用程序。
習慣與Mac一起工作並不難。至少在冒險之前嘗試一下。
意見不多,你沒有回答這個問題。 – Hawken 2012-04-23 04:03:52
謹慎解釋爲什麼在一個棘手的問題的答案中沒有意見的空間?此外,我的答案與我認爲正確的答案几乎相同,只是我的措詞不同。而且稍微不那麼樂觀 - 考慮到OPs方法固有的困難,我認爲這是足夠的。哦,我花了一點時間提供不會改變這些困難的細節。即使你發現另一個更有用的答案,這完全沒問題,我認爲你反應過度了。 Downvoting只是明顯的錯誤答案。但當然,這只是我的看法。 – Toastor 2012-05-04 09:55:19
問題是幾乎沒有答案,除了這一行,''如果它在技術上是可行的'''這是對問題的重述。從本質上來說,答案是可以接受的,你只需回答「是」或「否」,即使這樣,你也不會這麼做,因此我的評論。 – Hawken 2012-05-04 10:45:39
從技術上來說,是的,你可以用GNU工具鏈製作一個交叉彙編器,甚至是一個交叉編譯器來定位iPhone。魔術將正確的拱串傳遞給binutils的「配置」。它應該是--target=arm-apple-darwin
加上一個論點,我不記得告訴binutils默認使用哪個ARM comandset。因此,製作交叉彙編程序是可能的,甚至可能很難。
但這只是一小步。你還需要一個可以處理Mach-O文件的鏈接器,但我不知道如何設置它。我知道有一個完整的工具鏈可以在Linux上用iPhone交叉編譯,使用原始的Apple SDK,但是使用自定義的cross-gcc。但是,Apple明確禁止使用交叉編譯器,主要是禁止Flash-to-iPhone交叉編譯器。此外,您需要對應用程序進行代碼簽名,並且我不知道是否有OSS工具可以實現這一功能。
正如其他人已經說過,得到一個Mac Mini,也許是從eBay使用的一個。沒有Mac,你不會走得太遠,即使你仍然想要你,首先需要關於編譯iPhone的知識,而你只能在Mac上獲得這些知識。
此外,您肯定不希望沒有良好的調試器,儀器和界面生成器,以便於調試,內存泄漏查找和GUI構建。如果沒有Interface Builder,你需要完全手動編寫GUI,這將使你花費更多的時間,而且時間就是金錢。很多書和howtos在很大程度上對你毫無用處。總而言之,如果您嘗試使用交叉編譯來破解應用程序,那麼它會讓您的公司花費更多的錢,而不是讓它們給您帶來不錯的閃亮iMac和開發時間。
如果這是在您的工作電腦上,我認爲這是爲您的僱主。鑑於此,爲什麼你的僱主不能爲你購買一臺漂亮的新款Mac Mini?爲工作獲得正確的工具。 – 2010-08-25 20:48:04
我比Mac更習慣於Windows/Linux,並且GAS可以更靈活地移植現有的應用程序。 – Hawkcannon 2010-08-29 05:22:43
您可以在工作計算機上的Windows下運行的虛擬機中安裝Linux嗎? 如果您使用的應用程序的iDevice市場全部包含iTunes應用商店分佈(超過美國90%以上的iDevice市場),那麼您需要在Mac上構建(其構建於BSD Unix,與在Linux下工作並沒有太大區別)。 – hotpaw2 2010-08-29 10:01:55