iPhoneアプリを開発したいならMacが必要だと聞きました。これは本当ですか?
Linuxを使用してiPhoneアプリを開発することは可能ですか?はいの場合、何が必要で、必要なツールはどこにダウンロードすればよいですか?
iPhoneアプリを開発したいならMacが必要だと聞きました。これは本当ですか?
Linuxを使用してiPhoneアプリを開発することは可能ですか?はいの場合、何が必要で、必要なツールはどこにダウンロードすればよいですか?
回答:
異なる応答を提供するために、Linux上の仮想化(VMware)マシンでOS XとXcodeを実行しています。CPUはCore2Quad(Q8800)であり、完全に高速です。ビルド済みのVMをオンラインで見つけました(見つけるのはお任せします)Xcode / iPhone開発は完全に機能し、USBを介して電話自体にデバッグすることもできます。
本当にびっくりしましたが、全く問題はありませんでした。
これに対する答えは、iPhoneストアを通じて配布されるアプリを開発するかどうかによって異なります。そうでない場合、そして「脱獄した」iPhone群衆のために開発することを気にしないなら、Linuxから開発することは可能です。
何をすべきかについての包括的な(少し複雑な場合)ガイドについては、この章のページを確認してください。
今のところそうです。Appleから入手できる唯一のSDKは、MacOS環境のみを対象としています。私はそのことに腹を立てていますが、今はMacの購入を検討しています。iPhoneの開発を行うためです。私は彼らがやっていることを本当に嫌っています。LinuxやWindowsなどの他の環境でも良いSDKが出てくることを望んでいます。
SDKに関する障害:
iPhone SDKとフリーソフトウェア:一致しない
Appleは最近iPhone用のソフトウェア開発キット(SDK)をリリースしましたが、それを使ってオリジナルのオープンソースソフトウェアを移植または開発することを望んでいた場合、そのニュースは良くありません。コード署名と非開示の条件により、フリーソフトウェアは立ち入り禁止になります。
SDK自体は無料でダウンロードでき、プログラムを作成してソフトウェアシミュレータで実行できます。ただし、作成したソフトウェアを実際にリリースするには、iPhone開発者プログラムに登録する必要があります。これは、SDKのダウンロードとは別の手順であり、Appleの承認が必要です。
私は、macosユーザーだけが自分の電話用のプログラムを書くのに十分であると考えるのはむしろエリート主義だと思います。そして、あなたが自分の作品を公開したい場合、100ドルのライセンスを購入する必要があるという事実は、趣味のプログラマにとって本当に困難になります。それがあなたがする必要があることなら、私は彼らのフープを飛び越えるつもりです。iPhoneで何か開発してもらいたいです。
そこにするために使用:この欠点を解決するために専用プロジェクトiphone-devの
iphone-devプロジェクトの目標は、無料のポータブルで高品質のツールチェーンを作成し、ARM / Darwinプラットフォームに基づくApple iPhoneおよびその他の組み込みデバイスの開発を可能にすることです。
代替ツールチェーンについては、Saurikのサイトは便利ですが、最新のファームウェア開発では、iPhone自体にビルドすることを示しており、必要なiPhoneファームウェアファイルをLinux環境にコピーする必要があるかもしれないことを明言していません。それは不可能ではありませんが、特にコードに署名するために追加の作業が必要なだけです(オープンな代替ソリューションもそこにあります)。
また、より同じ方法でアプローチする他のガイド(同じツールチェーンについて)もご覧ください。
アプリケーションをAppleに提出するときに問題が発生した場合に備えて、XCodeで最終的なビルドとコード署名およびパッケージ化(つまり、誰かのMacを借りることを意味する)を実行することをお勧めします。代替ツールチェーンを使用すると、(少なくともMacでは)アプリケーションの開発にXCode以外の他のIDEを使用する可能性が開かれ、シミュレーターでの展開とテストにXCodeを再び使用することができます。
もちろん、XCodeの外部のコマンドラインからコード署名/証明書の生成が機能している場合は、実際のiPhoneに証明書をインストールしてテストできます(証明書を使用してiTunes経由でアプリをインストールします)。
Linux for iPhoneで開発を行う唯一の方法は、VMwareをインストールして、OS Xを仮想マシンで実行することです。そうは言っても、そうすることにはいくつかの「法的な」懸念があります。OS X Serverは仮想化できると報告されていますが、開発に関する限り、私にはわかりません。
あなたが本当に真剣なら、それは私が調査するものです。
幸運を。
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等級」の市民です。
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
幸運を。
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に投資しましょう。
お役に立てれば。
ジェイルブレイクされていない電話はAppleのApp Storeに限定されており、Appleはあらゆるルールを強制する「権利を持っています」。それは完全に非自由な領域です。ただし、開発中は、Appleを扱う必要はまったくありません。たとえばrsyncを使用して、デバイスにコードをアップロードし、テストすることができます。
はい、ある程度は可能です。Objective-Cコードを入力してプロジェクトを設定できます。コードのCおよびC ++の部分をgccでテストすることもできます。
できないこと:
Macを入手する必要があります。Windowsでi Phoneアプリケーションを実際に作成および構築できる(win-chainなどの)利用可能なツールチェーンがいくつかあります。WindowsでObjective Cコードをビルドするための関連チュートリアルがいくつかあります。しかし、問題があります。開発されたアプリは、jail broken i Phonesでのみ動作します。
それを乗り越えてApp Storeに到達するためのハックはほとんどありませんでしたが、AppleがSDKの更新を続けているため、ツールチェーンには定期的な更新が必要です。それをいつも作り上げるのは面倒です。もしあなたが準備ができたアプリを手に入れたいのであれば、あなたはまた、arcappsからその手頃な価格でそのアプリを起動することの助けを借りることができます。 iPhoneアプリ開発
cocos2dに基づいてゲームを開発できるように、cocos2d-iphoneをGNUstepに移植しようとしました。ただし、公開にはMacが必要です。cocos2d-GNUstep。
iOSシミュレーターはアプリの初期段階でのテストに優れているため、Macを入手することをお勧めします。しかし、Unityを使用して開発しているため、Macの負荷を必要としない小さな会社を知っています。そうすれば、オフィスに必要なMacは1つだけで済み、最終ビルドをコンパイルするだけです。これは、Androidでも機能することを意味しますが、ゲームエンジンであるため、実際には建物によって異なります。Sencha Touch Mobileなどのフレームワークを使用してWebアプリを調べたい場合があります
Unity:http : //unity3d.com/ Sencha Touch:http : //www.sencha.com/products/touch/
時間を重視するなら、Macを購入しましょう!実行可能なソリューションを提供するためのLinux開発オプションについては十分に知りませんが、提案された方法にはかなり回り込みの作業が含まれているようです。iPhoneアプリを真剣に書いて販売するつもりなら、Mac MiniやMacbookのコストを簡単に取り戻すことができると思います。:-)
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と作業です。でも楽しくて。:)