LinuxでiPhoneアプリの開発を始めますか?[閉まっている]


529

iPhoneアプリを開発したいならMacが必要だと聞きました。これは本当ですか?

Linuxを使用してiPhoneアプリを開発することは可能ですか?はいの場合、何が必要で、必要なツールはどこにダウンロードすればよいですか?



2
誰かがこのs / Linux / unixを編集して一般化できますか?
グッドパーソン

5
@GoodPerson次に、OS Xと他のOSの間の境界線を曖昧にすることになります。これがこの質問についてです。
リスター氏、2015

2
私が見つけた最も重要な情報の1つ。完全にトピックで、私は言います...
マルコ・ファウスティネリ

回答:


303

異なる応答を提供するために、Linux上の仮想化(VMware)マシンでOS XとXcodeを実行しています。CPUはCore2Quad(Q8800)であり、完全に高速です。ビルド済みのVMをオンラインで見つけました(見つけるのはお任せします)Xcode / iPhone開発は完全に機能し、USBを介して電話自体にデバッグすることもできます。

本当にびっくりしましたが、全く問題はありませんでした。


11
では、あなたのアプローチを使って、iTunesで署名して配布できますか?
Eldelshell、2010年

43
はい、問題ありません。XCodeを使用していて、署名は正常に機能します。VMから送信された本番環境のアプリがストアにあります。明白な理由で名前を付けません。
Chaos

18
@カオス:セットアップを実行するために使用したものへのリンクを投稿していただけませんか?
グリカン2013年

4
ビルド済みのVMは信頼できますか?埋め込まれた犯人のソフトウェア、バックドアを意味します...
DummyBeginner

2
OK。これについての私の意見。アプリを開発したら、このサービスを使用してmacincloud.com
Fabrizio Bertoglio

75

これに対する答えは、iPhoneストアを通じて配布されるアプリを開発するかどうかによって異なります。そうでない場合、そして「脱獄した」iPhone群衆のために開発することを気にしないなら、Linuxから開発することは可能です。

何をすべきかについての包括的な(少し複雑な場合)ガイドについては、この章のページを確認してください。

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


26

今のところそうです。Appleから入手できる唯一のSDKは、MacOS環境のみを対象としています。私はそのことに腹を立てていますが、今はMacの購入を検討しています。iPhoneの開発を行うためです。私は彼らがやっていることを本当に嫌っています。LinuxやWindowsなどの他の環境でも良いSDKが出てくることを望んでいます。

SDKに関する障害

iPhone SDKとフリーソフトウェア:一致しない

Appleは最近iPhone用のソフトウェア開発キット(SDK)をリリースしましたが、それを使ってオリジナルのオープンソースソフトウェアを移植または開発することを望んでいた場合、そのニュースは良くありません。コード署名と非開示の条件により、フリーソフトウェアは立ち入り禁止になります。

SDK自体は無料でダウンロードでき、プログラムを作成してソフトウェアシミュレータで実行できます。ただし、作成したソフトウェアを実際にリリースするには、iPhone開発者プログラムに登録する必要があります。これは、SDKのダウンロードとは別の手順であり、Appleの承認が必要です。

私は、macosユーザーだけが自分の電話用のプログラムを書くのに十分であると考えるのはむしろエリート主義だと思います。そして、あなたが自分の作品を公開したい場合、100ドルのライセンスを購入する必要があるという事実は、趣味のプログラマにとって本当に困難になります。それがあなたがする必要があることなら、私は彼らのフープを飛び越えるつもりです。iPhoneで何か開発してもらいたいです。


9
前にも言ったように、ここではエリート主義だとは思わない。XCodeおよびその他すべての開発ツール(GCCなどの低レベルのアイテムを除く)は、すべてのiPhoneフレームワークと同様に、Cocoaで記述されています。これらすべてを最初に他のOSに移植する必要があります。それは小さな仕事ではありません。
ブラッドラーソン

24
MicrosoftがVisual Studio for Linux and Macをリリースしたときにお知らせください...
Stephen Darlington

12
MicrosoftがVisual Studio、Access、Frontpage、XNA、DirectX、Office(すべての機能を備えた)、Movie Maker、Visio、IIS、またはExchange for Mac / Linuxをリリースしたときにお知らせください。
Brock Woolf、

97
(Dar)WineでVisual Studio、Access、Frontpage、XNA、DirectX、Office、Movie Maker、Visio、IIS、またはExchangeを実行することをMicrosoftがEULAに違反した場合はお知らせください。
lfaraone 2009

5
@MarceloMasonのようなもの。完全なIDEではなく、Visual Studio Codeです。
スティーブンダーリントン2016年

20

そこにするために使用:この欠点を解決するために専用プロジェクトiphone-devの

iphone-devプロジェクトの目標は、無料のポータブルで高品質のツールチェーンを作成し、ARM / Darwinプラットフォームに基づくApple iPhoneおよびその他の組み込みデバイスの開発を可能にすることです。


4
プロジェクトはサイトから定期的に開発またはメンテナンスされていないようです(たとえば、ツールの構築/移植性に関するWikiエントリは2010年2月のものです)。
2014

4
@氏。F、確かにそれは死んだ。
JohanBoulé2015

13

代替ツールチェーンについては、Saurikのサイトは便利ですが、最新のファームウェア開発では、iPhone自体にビルドすることを示しており、必要なiPhoneファームウェアファイルをLinux環境にコピーする必要があるかもしれないことを明言していません。それは不可能ではありませんが、特にコードに署名するために追加の作業が必要なだけです(オープンな代替ソリューションもそこにあります)。

また、より同じ方法でアプローチする他のガイド(同じツールチェーンについて)もご覧ください。

アプリケーションをAppleに提出するときに問題が発生した場合に備えて、XCodeで最終的なビルドとコード署名およびパッケージ化(つまり、誰かのMacを借りることを意味する)を実行することをお勧めします。代替ツールチェーンを使用すると、(少なくともMacでは)アプリケーションの開発にXCode以外の他のIDEを使用する可能性が開かれ、シミュレーターでの展開とテストにXCodeを再び使用することができます。

もちろん、XCodeの外部のコマンドラインからコード署名/証明書の生成が機能している場合は、実際のiPhoneに証明書をインストールしてテストできます(証明書を使用してiTunes経由でアプリをインストールします)。


7

Linux for iPhoneで開発を行う唯一の方法は、VMwareをインストールして、OS Xを仮想マシンで実行することです。そうは言っても、そうすることにはいくつかの「法的な」懸念があります。OS X Serverは仮想化できると報告されていますが、開発に関する限り、私にはわかりません。

あなたが本当に真剣なら、それは私が調査するものです。

幸運を。


4
私はVMWareオプションを試してみましたが、少なくとも私のハードウェア(T5200 Core2、2M ram)では、非常に遅くなっています。私の友人も同じような経験をしました。
Parand

3
私も。ゆっくり、ゆっくり、ゆっくり。あなたも試したくありません。
Nosredna 2009年

5
@Parandもちろん、2MのRAMの速度が遅くなるので、ブーツでさえ驚いています。
Jeshurun

2
vmwareの代わりにVirtualBoxを試すことをお勧めします。VMWareは私の意見では肥大化しています。
ハリンダカ

5

あなたは使用することができますTersus(オープンソース)、そしてそれはあなたがXcodeプロジェクトとしてアプリケーションをエクスポートできます。


Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.したがって、ネイティブiOSアプリをコンパイルして署名することはできません
MarSoft

5

Linuxボックスでコードを記述して、最終的にはiPhoneまたはiPadで見つけることができるかもしれませんが、最終的には、コードをテストまたはiPhoneにデプロイするか、App Storeに送信するためにMacが必要になります。したがって、最終的にはMacが必要になるため、Appleが提供するすべてのツールを使用して、Macでも作業を行うことができます。XcodeとObjective-Cには、Monotouchなどの代替手段がありますが、これらもAppleツールを利用しています。

LinuxのVMでOS Xを実行することができます。ただし、OSXのコピーを購入した場合でも、これはOSXのライセンス契約に違反することを指摘しておく必要があります。これは、OSXがAppleハードウェアで実行するためにのみライセンスされているためです。

申し訳ありませんが、iPhone / iPadの周りのエコシステムは非常に厳しく管理されています。

編集:これに対する1つの大きな例外は、iPhone用のWebアプリを作成することです。iPhoneには、ネイティブアプリと同じくらいユーザーエクスペリエンスと同等の優れたウェブアプリがいくつかあります。しかし、私はあなたの質問をネイティブアプリ開発についてであると解釈しました。ユーザーはWebアプリを起動するためのアイコンを作成できますが、Webアプリは「2等級」の市民です。


4
MacでLinuxを実行している場合、仮想化でLionを実行することは許容されるかもしれません。
Cajunluke 2011

4

cjackerによるiOS clangツールチェーンを使用してLinuxでiOSアプリを構築することに成功しました。基本的には、Linuxディストリビューションのアップストリームclangツールとllvmツール、AppleのリンカーのLinuxポート、ビルドプロセスの簡略化に役立ついくつかの追加ツール(xcodeプロジェクトからMakefile形式への変換など)で構成されています。

インストールにはいくつかの手順を踏む必要がありますが、あなたはソフトウェア開発者なので、それに慣れています。私はDebian 7(Wheezy)の最新のハウツーをオンラインで投稿しました:

http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7

それ以外の場合は、少し古い一般的な手順を使用する必要があります。

http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en

幸運を。


2

Rhodesと呼ばれるフレームワークがあります。

このコンセプトはRuby on Railsに基づいており、RubyとHTMLでモバイルアプリを開発し、Linux環境でコードを記述できます。次に、Rhohubでアカウントを作成し、GitHubを介しコードを追加します。これにより、iPhone、Blackberry、Android、Windows Mobile、およびSymbian用に、すべて同じコードでコンパイルすることができます。Objective-C for iPhoneやJava for Androidなどでコーディングする必要はありません。変換が行われます。必要なのは、iPhoneアプリケーション(または開発したい電話)を作成するためのルールを守ることだけなので、iTunes(または同等の市場)で受け入れることができます。

これにより、アプリをiTunesに追加することもできます。

エミュレーターは見つかりませんでした。つまり、アプリをテストするには、iPhoneにアプリを置く必要があります。これがミッションです。

私はすべての電話用のアプリを作成したいのでこのオプションを使用しており、すでにRuby on Railsを使用しています。iPhone向けのアプリを作りたいだけなら、Macに投資しましょう。

お役に立てれば。


1

ジェイルブレイクされていない電話はAppleのApp Storeに限定されており、Appleはあらゆるルールを強制する「権利を持っています」。それは完全に非自由な領域です。ただし、開発中は、Appleを扱う必要はまったくありません。たとえばrsyncを使用して、デバイスにコードをアップロードし、テストすることができます。


このプロジェクトは、Stephen Coxが提示した問題を克服しますか?「Xcodeを使用して開発されていないアプリは、Appleによって承認されることは決してありません。また、SDKをハックしてLinuxで開発した場合、Appleはそれを発見します」おかげで
ながら、真の

libmobiledeviceは実際には、iDeviceにrsync / sshを必要とせずにアプリケーションをインストールするための適切なインターフェイスを備えています。
ドワイトスペンサー

1

はい、ある程度は可能です。Objective-Cコードを入力してプロジェクトを設定できます。コードのCおよびC ++の部分をgccでテストすることもできます。

できないこと:

  • インターフェイスビルダーは、Mac専用であるため、インターフェイスを設定するために使用します。(必須ではありませんが、推奨されます。)
  • AppleのCocoaクラスを使用するコードをコンパイルします。これらはLinuxには存在しません。
  • シミュレーターでコードをテストします-Linux用のコードはありません。
  • 実際のデバイスまたはApp Storeのコードをコンパイルします。これにはすべて、AppleがOS Xにのみ提供するツールが必要です。

クラスが存在しないと言うとき、どういう意味ですか?ヘッダーだけが必要です。Appleがヘッダーをリンクします。これがアプリの提出の仕組みです、AFAIK。
Janus Troelsen、2015

1

Macを入手する必要があります。Windowsでi Phoneアプリケーションを実際に作成および構築できる(win-chainなどの)利用可能なツールチェーンがいくつかあります。WindowsでObjective Cコードをビルドするための関連チュートリアルがいくつかあります。しかし、問題があります。開発されたアプリは、jail broken i Phonesでのみ動作します。

それを乗り越えてApp Storeに到達するためのハックはほとんどありませんでしたが、AppleがSDKの更新を続けているため、ツールチェーンには定期的な更新が必要です。それをいつも作り上げるのは面倒です。もしあなたが準備ができたアプリを手に入れたいのであれば、あなたはまた、arcappsからその手頃な価格でそのアプリを起動することの助けを借りることができます。 iPhoneアプリ開発


1

cocos2dに基づいてゲームを開発できるように、cocos2d-iphoneをGNUstepに移植しようとしました。ただし、公開にはMacが必要です。cocos2d-GNUstep


0

iOSシミュレーターはアプリの初期段階でのテストに優れているため、Macを入手することをお勧めします。しかし、Unityを使用して開発しているため、Macの負荷を必要としない小さな会社を知っています。そうすれば、オフィスに必要なMacは1つだけで済み、最終ビルドをコンパイルするだけです。これは、Androidでも機能することを意味しますが、ゲームエンジンであるため、実際には建物によって異なります。Sencha Touch Mobileなどのフレームワークを使用してWebアプリを調べたい場合があります

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


-5

時間を重視するなら、Macを購入しましょう!実行可能なソリューションを提供するためのLinux開発オプションについては十分に知りませんが、提案された方法にはかなり回り込みの作業が含まれているようです。iPhoneアプリを真剣に書いて販売するつもりなら、Mac MiniやMacbookのコストを簡単に取り戻すことができると思います。:-)


4
現在、50,000個のアプリがあるので、多くを作るのは必ずしも簡単ではありません。サラダの日はおそらくなくなっています。
Nosredna 2009

@Nosredna私はサラダの日がまたここにあると信じたいです。しかし真剣に、あなたは正しいです。
Wyatt8740 16

おい、私たちがそれの代わりを探しているなら、それを購入することは利用可能なオプションではないからです。
ロジャーラッセル

-5

Xcodeを使用して開発されていないアプリは、Appleによって承認されることはありません。決して。Linuxで開発するためにSDKをハックして、Appleがそれを見つけたとしても、サービスが提供されても驚かないでください。私はADCとiPhone開発者プログラムのメンバーです。信頼、アップルはこれについて非常に真剣です。

リスクを冒さないでください。MacbookまたはMac miniを購入してください(はい、miniはXcodeを実行できます-ゆっくりですが、miniを使用する場合はRAMをブーストします)。また、OS XがハッキングされてVMware上で実行されるのを見たことがありますが、VM上でXcodeを実行している人を見たことはありません。とても幸運。そして、問題が発生する前に、EULAを確認します。

PS:上記を読んだ後、はい、同意します。SDKをハックしてLinuxで開発する場合は、少なくともMacで最終的なパッケージングを行ってください。Mac経由で送信します。Appleはコードを1行ずつ実行するわけではないので、コードが理解できないと思います。しかし、男、それは多くのifと作業です。でも楽しくて。:)


1
新しいミニはタスクに適しています。私はそれらが約600ドルであり、マウス、キーボード、モニターのほぼすべてを使用できると思います。必ずモニターを調整してください!XCodeは、拡張されていない私のminiでかなりうまく動作するようです。
Nosredna 2009年

7
XcodeはMac OS X仮想マシンで正常に動作します。
dave1010

2
Appleは常にAir SDKアプリを承認しており、XCodeとのやり取りはありません。ビルド全体をLinux / Windowsで実行できます。
j_mcnally 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.