Macを所有せずにiOSアプリをビルドしますか?[閉まっている]


96

私が間違っていたら訂正してください。

私はモバイル開発に不慣れです。アップルストアに提出するアプリを開発したいと思います。

しかし、私はこのアプリを念頭に置いて開発しているMacの価格に非常に落胆しています。

私が何が欲しいのか、それをどのようにコーディングするのかを正確に知っているとしましょう。

私が開発者アカウントを作成して料金を支払うことになっていたら、友達のMacを借りて、コードを書いてAppleにコードを提出します。Macに必要なのはそれだけですか?そして、私は私のWindowsコンピュータ上のiTunesを介してすべての統計などにアクセスできるでしょうか?

誰かが私が妄想的だと言ってもらえますか?


2
それはあなたが話している方法で達成されるかもしれませんが、このビットであなたのアプリが更新またはマイナーなバグまたは変更を必要とするならばそれからその時考えますか?友達に頼むたびに?
D-eptdeveloper 2013

5
本格的なiOS開発にはMacが必要です。限目。そして、それらは結局それほど高価ではありません。また、少数のiOSデバイスでテストすることを忘れないでください。利用可能なハードウェアでテストされなかったアプリは、一般的に欠陥を示しています。
Eiko

1
妄想の部分は「私はそれをコーディングする方法を知っています」から始まります...自分をコーディングする場合(つまり、他者による契約作業がない場合)、多くのテストとデバッグが必要になります。誰かを紹介する価値のあるプロジェクトを実行するのに数週間かかると考えてください。それを磨いて「店にふさわしい」ものにすることは、大変な仕事です。私が本当に思うことができるのは、Mac 開発者が1日以内にビルドする最も役に立たないアプリ(つまり「ウェブサイトラッパー」)だけです。これは、すでにiOS開発者の経験がある場合に限ります。
Eiko

LinuxでGCCベースのiOSツールチェーンを構築することが可能です。Xcodeはコンパイラではありません-アプリをAppStoreに送信するための証明書を生成するためにのみ必要です。
常磁性クロワッサン2015

2
IntelプロセッサでMac OSを実行できるHackintoshを検索できますが、これは違法だと思います。
ボルジ

回答:


31

数年前に私が同じ状況にあったことを少しずつお話ししましょう。

2つのフェーズがあります

  1. iPhone / iPad(iOS)アプリ開発
  2. iPhone / iPad(iOS)アプリの開発とiTunes Storeへの公開

1. iPhone / iPad(iOS)アプリ開発

ですから、iOSアプリを開発したいだけなら、何も支払いたくありません。

Mac + XCode IDEが必要です

  1. Mac MiniまたはMac Machineを入手する
  2. 無料でアップルに開発者アカウントを作成
  3. 開発者アカウントにログインした後、Xcode IDEの.dmgファイルをダウンロードできます
  4. それで全部です。

Xcodeをインストールして、iOSアプリの開発を開始し、シミュレーターでテスト/デバッグします。

2. iPhone / iPad(iOS)アプリの開発とiTunes Storeへの公開

iTunesストアでアプリを公開するには、支払う必要があります(例:年間$ 99)。

したがって、完全なiOS開発セットアップには、

  1. Mac MiniまたはMac Machineを入手する
  2. 無料でアップルに開発者アカウントを作成
  3. 開発者アカウントにログインした後、Xcode IDEの.dmgファイルをダウンロードできます
  4. iTunesでアプリを公開するために$ 99を支払う
  5. Appleアカウントで開発/配布用の証明書を作成する
  6. Macマシンにすべての証明書をダウンロードし、キーチェーンツールを使用してXCodeにインストールする
  7. 少なくとも1つのiOSデバイスを入手する
  8. Appleアカウントにデバイスを登録する
  9. iOSアプリの開発、リアルデバイスでのテスト、iTunes Storeでの公開が可能になりました

Xamarinのため、このiOSの要件をチェックdeveloper.xamarin.com/guides/cross-platform/getting_started/...
Jaider

しかし、問題は、「MACを所有せずに?」は、具体的に述べて...
PF4Public

27

2017年9月からの更新

Macを所有していなくても、React Native + Expoを使用してiOS(および同時にAndroid)アプリケーションを開発できます。開発中に、iOS Expoアプリ内でiOSアプリケーションを実行することもできます。(他の人がアクセスできるように公開することもできますが、Expoアプリ内でのみ実行されます)。これは、スタンドアロンアプリの生成方法に関するExpoのページです。

そのページからの手順:

1つ:実行expしてインストールnpm install -g exp

2:app.jsonを構成します(これらの行のどこか):

{
   "expo": {
    "name": "Your App Name",
    "icon": "./path/to/your/app-icon.png",
    "version": "1.0.0",
    "slug": "your-app-slug",
    "sdkVersion": "17.0.0",
    "ios": {
      "bundleIdentifier": "com.yourcompany.yourappname"
    },
    "android": {
      "package": "com.yourcompany.yourappname"
    }
   }
 }

3:でexppackegerを起動するexp start

4:実行exp build:androidまたはexp build:ios

いくつかの入力を求められます。Androidの場合、1) Let Expo handle the process!キーストアがない場合(またはそれが何であるかわからない場合)を選択できます。iOSの場合、Apple開発者の資格情報を入力する必要があります。次に、配布証明書を提供するか、expoにそれを処理させます。

5:たまに戻ってexp build:statusコマンドを実行し、ビルドが完了したかどうかを確認する必要があります。完了すると.apk.ipaファイルまたはファイルへの直接リンクが提供されます。

このアプローチの唯一の欠点は、SwiftでiOSアプリを書くほどネイティブではないことであり、弱く型付けされたjs、npmで開発中に遭遇する可能性のある問題のパレードに我慢しなければならず、それは依存関係です。特定のバージョンのライブラリの問題やその他の問題。


これはQtやJavaFXPortsなどの他のフレームワークでも可能ですか?
Daniel Ziltener

@DanielZiltenerどちらもよく知らないが、答えはノーだと思う。
wha7ever

26

Windowsでは、仮想マシンでMacを使用できます(これはおそらくLinuxでも機能しますが、私はテストしていません)。仮想マシンは基本的に、コンピューター上で実行するプログラムであり、あるOSを別のOS内のウィンドウで実行できます。ハードドライブに少なくとも60GBの空き容量があることを確認してください。ダウンロードする仮想ハードドライブの初期容量は10 GBですが、iOSアプリの開発に必要なすべてのプログラムをインストールすると、サイズが簡単に50 GBに増える可能性があります(念のため、数GBのマージンを残すことをお勧めします)。

以下は、WindowsにMac仮想マシンをインストールする方法の詳細な手順です。

  1. VirtualBoxをインストールします。

  2. BIOSで仮想化を有効にする必要があります。Windows 10でBIOSを開くにはShift、スタートメニューの[再起動]ボタンを押しながらキーを押したままにする必要があります。次に、いくつかのオプションを含むブルースクリーンが表示されます。「トラブルシューティング」、「詳細オプション」、「UEFIファームウェア設定」、「再起動」の順に選択します。次に、コンピュータが再起動し、BIOSを直接開きます。古いバージョンのWindowsでは、コンピューターを通常の方法でシャットダウンし、F2キーを押したままコンピューターを再起動しますF2。BIOSに入るまでリリースしないでください。一部のコンピュータでは、以外のキーを押す必要がある場合がありますF2

  3. BIOSに入ったので、仮想化を有効にする必要があります。どの設定を変更するかは、使用しているコンピューターによって異なります。これは、同じバージョンのWindowsを搭載した2台のコンピューター間でも異なる場合があります。私のコンピュータでIntel Virtual Technologyは、Configurationタブでをに設定する必要がありますEnabled。他のコンピュータでは、たとえば、Security -> VirtualizationまたはにありAdvanced -> CPU Setupます。これらのオプションが見つからない場合は、Googleでを検索してください。BIOSでランダムに変更しないでください。変更すると、コンピューターに問題が発生する可能性があります。仮想化を有効にしたら、変更を保存してBIOSを終了します。これは通常、タブで行われます。enable virtualization (the kind of computer you have)Exit

  4. このファイルをダウンロードします(以前にダウンロードしたファイルを、現在リンクが壊れているリンクからアップロードしました)。リンクが壊れた場合は、コメントを投稿してお知らせください。別の場所にファイルをアップロードします。7Zファイルを開くためのパスワードはstackoverflow.comです。この7Zファイルには、Mac仮想マシンのハードドライブとして機能するVMDKファイルが含まれています。そのVMDKファイルを抽出します。ディスクスペースに問題がある場合は、VMDKファイルを抽出したら、RARファイルを削除して7GBを節約できます。

  5. 手順1でインストールしたVirtualBoxを開きます。ツールバーで、[新規]ボタンを押します。次に、仮想マシンの名前を選択します(名前は重要ではないので、「Mac」と呼びました)。「タイプ」で「Mac OS X」を選択し、「バージョン」で「Mac OS X 10.11 El Capitan(64ビット)」を選択します。

  6. 仮想マシンが使用できるメモリの量を選択します。メモリが少なすぎると仮想マシンのパフォーマンスが低下し、メモリが多すぎるとホストシステム(Windows)のメモリが不足し、仮想マシンやその他のプログラムが実行されるため、量のバランスを取ってください。 Windowsで再実行するとクラッシュします。4GBの利用可能なメモリを搭載したコンピュータでは、2GBで十分です。不正な量を選択しても心配する必要はありません。いつでも(仮想マシンの実行中を除いて)変更できます。

  7. ハードディスクの手順で、[既存の仮想ハードディスクファイルを使用する]を選択し、ドロップリストの右側にある小さなフォルダーアイコンをクリックします。参照ウィンドウが開きます。手順4でダウンロードして抽出したVMDKファイルを選択します。

    ここに画像の説明を入力してください

    これが終わったら、「作成」をクリックします。

  8. ウィンドウの左側のリストで仮想マシンを選択し、ツールバーの[設定]ボタンをクリックします。[システム]-> [プロセッサ]で、2つのCPUを選択します。手順6で問題の原因となるメモリ容量を選択したことが後でわかった場合は、[システム]-> [マザーボード]で変更できます。設定の変更が完了したら、[OK]をクリックします。

  9. コマンドプロンプト(C:\Windows\System32\cmd.exe)を開きます。そこで次のコマンドを実行し、"Your VM Name"ステップ5で仮想マシンを呼び出したもの(たとえば"Mac")に置き換えます(引用符はそのままにします)。

    cd "C:\Program Files\Oracle\VirtualBox\"
    VBoxManage.exe modifyvm "Your VM Name" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" W1234567980
  10. これで、仮想マシンを使用するためのすべての準備が整いました。VirtualBoxで、[スタート]ボタンをクリックし、Macのインストール手順に従います。仮想マシンにMacをインストールしたら、実際のMacがあるかのようにiOSアプリを開発できます。

備考:ハードディスクのスペースを節約したい場合は、手順4で抽出して手順7で使用したVMDKファイルを圧縮できます。これを行うには、ファイルを右クリックして[プロパティ]を選択し、[詳細設定]をクリックします。右下のボタンをクリックし、「内容を圧縮してディスク容量を節約する」チェックボックスをオンにします。これにより、この非常に大きなファイルは、何もうまく機能せずに、必要なディスク容量が少なくなります。データを失うことなく、VMDKファイルのディスクサイズを50 GBから40 GBに削減しました。


1
VMは正常に動作します。しかし、ゲーム機である私のマシンでは非常に遅いです。
Reuel Ribeiro、2018

@ReuelRibeiro仮想マシンの構成を確認して、コンピューターに最適化されていることを確認してください。トピックに関する役立つ記事は次のとおり
blog

2
ステップ9で、Apple IDを使用してログインできるようにするために、VBoxManage setextradata "Your VM Name" "VBoxInternal / Devices / efi / 0 / Config / DmiSystemSerial" W1234567980を追加する必要がありました
ikleiman

1
これは機能するかもしれませんが、最新のxcodeバージョンは、現在GoogleドライブにあるIOS 10.11(El Captain)と互換性がありません。MacOSの新しいバージョンはありますか?
CularBytes

1
@RahulShah実際のMacでできることなら何でもできます。
ドナルドダック


13

Phonegap(Cordova)を使用してMacなしでiOSアプリを開発できますが、アプリをApp Storeに送信するのにMacは必要ありません。Mac https://www.wenz.io/ApplicationLoaderがなくてもアプリを公開できるクラウドアプリケーションを開発しました。現在、ベータ版であり、サービスを無料で使用できます。

宜しくお願いします、Steffen Wenz

(私はサイトの作成者です)


1
ウェンツのアプリケーションローダーを使用しています。そのために、アップロード許可のみを持つ特別なApple IDを作成しました。IPAは署名する必要があるため、パスワードが漏洩しても安全です。
user1219721

サービスに提出するためにMacなしでIPAファイルを生成する方法はありますか?
グリッドに12の菱形、コーナーなし

11

短い答え:理論的にはYESですが、これはあなたの非常に良い友達である必要がありますが、繰り返しになりますが、中古のMac-miniを購入することをお勧めします

長い答え:このMacは、アプリの要件、開発スキル、およびAppleとの運命に応じて、非常に長い間必要になります。例えば:

  1. Xcodeと必要なSDKとライブラリを設定するには、数日かかる場合があります。
  2. その開発者アカウントの取得には時間がかかる場合があります。場合によっては、リクエストの審査を待つこともできます。
  3. 初めてアプリケーションを送信するときは、アプリケーションがレビューされるまでに、場合によっては数週間、場合によっては数か月かかることがあります。
  4. アプリが拒否されるたびに、問題を見つけて修正する必要があります(違反したガイドラインルールを指摘するAppleからの多大な支援なしで)。次に、アプリを再適用して確認し、もう一度待つ必要があります。
  5. すでにデプロイされているアプリにパッチを適用しようとするたびに、アプリをレビューする必要があり、以前は合法だったアプリが新しいガイドラインに違反する可能性があるため、再適用して待機する

したがって、私の経験から、iOSアプリの開発は、実際のコード開発時間を考慮しなくても、非常に長い手順です。その長い間Macを借りることができますか?


あなたと他の男の両方が私に多くのことを明確にしてくれたので、ありがとう
Cescy

1
どういたしまして。私の見たところ、経験の浅い開発者向けのiOSアプリは、ロングショットであり、大きなコミットメントです。最初に25ドル(無期限の開発ライセンス)が必要なAndroidアプリから始めることができます。
yannicuLar 2013


4

また、お金を節約したい場合は、Macを購入する必要はありません。それを行う方法は他にもあります:

1.)ほとんどすべてのOSを使用して、仮想マシンで最新のMacOSを実行できます(YouTubeをご覧ください)。私はこの方法を、VMWareを使用するWindowsで問題なく長時間使用しています。

2.) Hackintosh。MacOSをPCにインストールします。互換性のあるコンポーネントが必要ですが、ある場合は、VMのラグをなくすため、これが最善の方法です...今回はこれを使用しています。完璧です。私のラップトップでは、これをAppleに教えないでください。これは実際には違法です。

3.)最小限のUIでシンプルなアプリを作成している場合は、Theosを使用できます。また、Theosを使用すると、Cydiaの微調整を作成できます。唯一の問題:コードサイン。App Storeでアプリを公開する場合でもMacOSが必要ですが、自宅でアプリを作成する場合はCydiaImpactorを使用してApple IDでアプリに署名できます。

私はこの方法をすべて使用し、すべてが機能しています。私のVMは、Hackintoshをインストールして多くの時間を費やしたくない場合に最適なソリューションです。


2

Smartfaceを使用して、JavaScriptでアプリを開発し、Macを使用せずにストアに直接デプロイできます。彼らが言うことは以下のとおりです。

Cloud Buildモジュールを使用すると、Smartfaceはアプリケーションのデプロイメントの手間をすべて取り除きます。コード署名証明書の管理や、アプリに署名するためのMacの使用について心配する必要はありません。Smartface CloudはすべてのiOS証明書とAndroidキーストアを1か所に保存でき、署名と構築は完全にクラウドで行われます。使用するオペレーティングシステムに関係なく、ストア対応(またはエンタープライズディストリビューション)のバイナリを取得できます。Smartfaceは、Macへのロックインから解放され、開発にお気に入りのオペレーティングシステムを使用できるようにします。

https://www.smartface.io/smartface/


2

React NativeやIonicなどのほとんどのフレームワークでは、サーバー上に構築できます。つまり、.ipaファイルをコンパイルして提供するのに役立ちます。

問題は、アプリをApple App Store Connectに送信するためにXcodeまたはApplication Loaderが必要なことです。これらは両方ともOSXでのみ使用できます。この解決策を克服するには、私が知っている2つのオプションがあります

  1. Macを実質的にレンタルします。http://www.macincloud.com
  2. アプリのアップロードに役立つWebサイトを使用します(.ipaファイルが必要です)。http://www.connectuploader.com

1

私の経験はIonic Pro( https://ionicframework.com/pro)は開発および公開ジョブのほとんどを実行できますが、次の手順でMacまたはクラウド内のMacが必要です。

  • .p12証明書ファイルを作成する
  • .ipaファイルをApp Storeにアップロードします

証明書ファイルを作成したら、それをIonic Proにアップロードできます。クラウドで適切な認証情報を使用して.ipaファイルを構築できます。しかし残念ながら、.ipaファイルをApp Storeにアップロードする別の方法は見つかりませんでした。MacのApplication Loaderを使用した場合のみです。

そこで、Macに費やす時間は非常に限られているため(Appのパブリケーションごとに数分)、クラウドアカウントで従量制のMacを使用することに決めました(ログインした分に対してのみ支払います)。


-7

XAMARIN CROSSプラットフォーム

IDE Visual StudioとのクロスプラットフォームであるXamarinを使用して、xamarinを統合できます。xamarinにコーディングし、C#コードを使用してiOSアプリを作成するのは非常に簡単です。


11
はい。ただし、コンパイルにはMacが必要です。
Maarten Peels 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.