Windows開発マシンを使用してiPhone用に開発するにはどうすればよいですか?

2008年08月22日に質問されました。  ·  閲覧回数 1.1M回  ·  ソース

ryan picture
2008年08月22日

WindowsマシンでiPhoneSDKをいじくり回す方法はありますか? Windows用のiPhoneSDKバージョンの計画はありますか?

これを行うために私が考えることができる他の唯一の方法は、Windowsで実行されているVMWareサーバーでMac VMイメージを実行することですが、これがどれほど合法であるかはよくわかりません。

回答

Andrew Grant picture
2008年08月27日
512

Windowsマシンで開発することは確かに可能です。実際、私の最初のアプリケーションは、当時持っていた古いDellPrecisionでのみ開発されました:)

3つのルートがあります。

  1. OSx86 (別名iATKOS / Kalyway)を2番目のパーティション/ディスクにインストールし、デュアルブートします。
  2. VMWareでMacOS X Serverを実行します(Mac OS X 10.7(Lion)以降、以下のアップデートをお読みください)。
  3. DelphiXE4とmacincloudサービスを使用します。 これは商用ツールセットですが、コンポーネントとライブラリのサポートが増えています。

最初のルートでは、通常のPCにインストールできるLeopardのイメージを変更(または事前に変更されたものを使用)する必要があります。 これはあなたが思うほど難しくはありませんが、成功/努力の比率は、PCのハードウェアがMacハードウェアのハードウェアとどれだけ一致しているかによって異なります-たとえば、NVidiaを搭載したIntelマザーボードでCore 2Duoを実行している場合あなたが笑っているグラフィックカード。 AMDマシンまたはSSE3のないものを実行している場合は、もう少し複雑になります。

Leopardのバージョンを購入した(またはすでに所有している)場合、Leopard EULAは「AppleLabeled」マシンでのみ実行できると述べているため、これは灰色の領域です。 多くの人が、AppleステッカーをPCに貼り付けると、おそらくカバーされていると指摘しています。

2番目のオプションはよりコストがかかります。 ワークステーションバージョンのLeopardのEULAは、エミュレーションでの実行を防止しているため、VMWareではこれをサポートしていません。 ただし、Leopardサーバーはエミュレーションで実行でき、デスクトップの目的で使用できます。 ただし、LeopardサーバーとVMWareは高価です。

オプション1)に興味がある場合は、 Insanelymacから始めて、OSx86のセクションを読むことをお勧めします。

私はあなたが投資する時間はあなたが節約するお金の価値があるかどうかを考慮すべきだと思います。 私はこの種のものをいじくり回すのが好きで、App Storeが利用可能になる数か月前の初期のiPhoneベータ版から始めたので、それは私のためでした。

または、eBayから低スペックのMacMiniを購入することもできます。 SDKを実行するのにそれほど馬力は必要ありません。開発を中止したり、より優れたMacを購入したりする場合は、後でいつでもSDKを販売できます。

更新:OS X10.6以前のMacOSXクライアント仮想マシンを作成することはできません。 Appleは、これらのクライアントOSの仮想化を許可していません。 Mac OS X 10.7(Lion)以降、Appleは仮想化に関するライセンス契約を変更しました。 出典: VMWareナレッジベース

jjxtra picture
2009年11月12日
186

Xamarinは確かな選択です。 これはMicrosoftによって購入され、現在はVisualStudioに直接組み込まれています。 C#でコーディングします。 彼らが追加しているすべてのアップデートと機能を使用すると、WindowsからApp Storeに送信する以外はすべて実行でき、コンパイル、ビルド、iOSデバイスへの展開も可能です。

ゲームの場合、 Unity3Dは優れたオプションです。 このエディターは、開発、さらには配布にも自由に使用できます(年間収益が10万米ドル未満の場合)。 Unityは、iOS、Android、およびその他のほとんどのプラットフォームをサポートしています。 Unityの「クラウドビルド」機能を使用して、展開にMacを使用する必要をなくすことができる場合がありますが、デフォルトでは、UnityはiOS用にビルドするときにXcodeプロジェクトを実際に吐き出します。

その他のオプション:

PhoneGap (html / javascript)も機能します。 ゲームにはそれほど適していませんが、通常のGUIアプリケーションにはかなり適しています。

Flutter (dart)は、Googleが提供する無料のクロスプラットフォームモバイルアプリ開発フレームワークです。 Dartでコードを記述します。

React Native (javascript)は、Facebookによって作成されたもう1つの人気のあるクロスプラットフォームフレームワークです。

注:これらすべてのオプションについて、開発のすべてまたはほとんどをWindowsで実行できますが、AppStoreに送信するためのバイナリをビルドするにはMacOSデバイスが必要です。 1つのオプションは、最終的なビルドを行うために安価なMACMiniを入手することです。

Josh Hunt picture
2008年09月22日
152

ジェイルブレイクされたiPhoneをお持ちの場合は、Cydiaを介してiphone-gccツールチェーンをiPhoneにインストールできます。そうすれば、iPhone上のアプリをコンパイルすることができます。 この方法で開発されたアプリは、引き続きAppStoreに送信できます。

バルデス氏はそれが灰色の領域であると言いましたが(それはそうです)、脱獄は信じられないほど簡単で、ほとんどリスクがありません。 はい、それはあなたの保証を無効にします、しかしあなたはただ回復をすることができて、彼らは決して知りません。

Rachel Henderson picture
2012年10月28日
82

「Macを使用しないiOS開発用のいわゆるWindowsソリューション」のほとんどは、署名してアプリストアに送信するためだけに最後にMacを必要とします。 私はいくつかをチェックしましたが、すべてではありません(誰が時間がありますか?)

結局のところ、「Objective-CなしでiOSをプログラムするための非常に特別で簡単な方法」を学ぶのは非常に面倒で、多くのバグがあります。 彼らが設定している目標は、私の見解では実際には達成できません。

また、多くの場合、Objective-Cと同等のステートメントを単に別の言語で使用するようになります。 それらは同じように見えますが、obj-cの上で学ばなければならない微妙な違いが常にあります。 これもあまり意味がありません。なぜなら、今では学習を減らす代わりに、もっと学ぶ必要があるからです。 では、利益はどこにあるのでしょうか。 また、開発が非常に難しいため、コストもかかります。

多くの場合、デバッグ機能がまったくありません。

私の正直な意見では、あなたがハードコアのiOS開発者なら、確かに最高のMacを購入し、Objective-cを学びましょう。 それは高価で時間がかかりますが、それがあなたの道なら、それだけの価値があります。

たまに使用する場合は、 XCodeClub.comなどのリモートMacサービスをレンタルする方が簡単

Parand picture
2008年09月17日
56

SDKはOSXでのみ使用できるため、Macを使用する必要があります。 Macを購入したくない場合は、Windowsボックスの仮想マシンでOS Xを実行するか、PCにOSXをインストールすることができます。

私の経験では、仮想マシンソリューションは非常に低速です(2G RAMを搭載したCore2デュオラップトップ上)。 試してみたい場合は、急流を検索してください。 それはおそらく価値がありません。

もう1つのオプションは、PCにOS Xをインストールすることです。これは、一般にhackintoshと呼ばれます。 Hackintoshesは非常にうまく機能します-私の友人は、彼のDellクアッドコアhackintoshが実際にはAppleハードウェアよりもはるかに高速だったので(そして約1/3のコストで)彼のMacを売りました。 これを行う方法に関する記事はたくさんあります。 これは、Dell Inspirion 1525ラップトップにインストールする方法に関するものです: hackbookproチュートリアル

もちろん、これらのオプションはどちらも一部のライセンススキームに反する可能性が高いため、自己責任で進めてください。

dawnerd picture
2008年09月16日
54

WinChainを使用できます

プロジェクトページの引用:

これは、Windows XP / VistaコンピューターでiPhoneツールチェーンを構築する最も簡単な方法です。これにより、UIKitヘッダー(winChainに含まれています)を使用して記述したObjective-Cソースコードを取得し、使用可能なアプリケーションにコンパイルできます。あなたのiPhoneで。

Maurice picture
2010年11月25日
28

Macを所有している必要も、Objective-Cを学ぶ必要もありません。 さまざまな環境で開発し、後でObjective-Cにコンパイルできます。

osx 10.6(snow leopard)を実行してiphoneとipad用に開発

私たちの開発者の1人が書いたこの記事では、iBootを使用してWindowsにOS X Snow Leopardをインストールし、次にVmwareを(手順とともに)インストールし、iPhone開発環境を稼働させる...そしていくつかの追加のジューシーなことについてかなり包括的なウォークスルーを提供します。 私にとって非常に役に立ちました。

お役に立てば幸いです。 Phonegapを使用しているため、一度に複数のスマートフォンプラットフォームで開発できます。

Ofer Brandes picture
2010年02月21日
21

Tersus (無料のオープンソース)を使用できます。

priamos picture
2011年05月17日
21

iPhoneアプリをObjective-C, C++またはVisual Studioを使用したプレーンCで開発できるようにするdevkit:

iOSビルド環境でチェックしてください

Visual Studio(2008、2010、Express)内でiPhoneアプリを直接構築できます。

かなりきちんとしていて、コンパイルが成功した後、アプリ用にIPAファイルを作成することもできます。 コードはジェイルブレイクされたデバイス上でそのまま機能します。地球の残りの部分では、最終的なコンパイルとAppStoreへの送信はMacで行う必要があると思います。 それでも、よく知られているIDEを使用して開発することができます。

Mehrdad Afshari picture
2008年12月18日
19

もちろん、メモ帳やその他のプログラムでObjective-Cコードを記述し、それをMacに移動してコンパイルすることもできます。

しかし、真剣に、それはあなたがApp Storeに置くための公式アプリケーションを開発しているのか、それともジェイルブレイクされたiPhone用のアプリケーションを開発しているのかによって異なります。 公式アプリケーションを作成するには、IntelMacを必要とするAppleiPhoneSDKが唯一の実用的な方法のようです。 ただし、ジェイルブレイクされたiPhone用のアプリケーションを作成するための非公式のツールチェーンがあります。 LinuxとWindowsで実行できます(Cygwinを使用)。