Bangun aplikasi iOS tanpa memiliki mac? [Tutup]

99

Harap perbaiki saya jika saya salah.

Saya baru dalam pengembangan seluler dan saya ingin mengembangkan aplikasi untuk dikirim ke toko apel.

Tapi saya sangat kecewa dengan harga Mac yang saya kembangkan aplikasinya.

Katakanlah saya tahu persis apa yang saya inginkan dan cara mengkodekannya.

Jika saya harus membuat akun pengembang dan membayar biayanya - lalu pinjam mac teman saya, tulis kode dan kirimkan kode saya ke apple. Apakah hanya itu yang saya butuhkan untuk mac? Dan kemudian saya akan dapat mengakses semua statistik dll melalui iTunes di komputer windows saya?

Bisakah seseorang memberi tahu saya bahwa saya delusi?

Cescy
sumber
2
itu mungkin tercapai seperti yang Anda bicarakan tetapi pikirkan tentang hal ini bahwa jika aplikasi Anda memerlukan pembaruan atau bug kecil atau perubahan apa pun? setiap kali Anda akan meminta bantuan teman Anda?
D-eptdeveloper
5
Anda membutuhkan Mac untuk pengembangan iOS yang serius. Titik. Dan mereka tidak semahal itu. Dan jangan lupa beberapa perangkat iOS untuk diuji - aplikasi yang tidak diuji pada perangkat keras yang tersedia biasanya menunjukkan kekurangan.
Eiko
1
Bagian delusi dimulai dengan "Saya tahu cara mengkodekannya" ... jika Anda mengkodekan diri Anda sendiri (yaitu tidak ada kontrak kerja oleh orang lain), Anda akan membutuhkan banyak pengujian dan debugging. Pikirkan beberapa minggu untuk menjalankan proyek yang layak diperlihatkan kepada seseorang. Memolesnya dan membuatnya "layak berbelanja" akan menjadi pekerjaan yang sulit. Saya benar-benar hanya dapat memikirkan aplikasi yang paling tidak berguna (yaitu "pembungkus situs web") yang dibuat dalam satu hari di Mac jika Anda sudah menjadi pengembang iOS yang berpengalaman.
Eiko
Anda dapat membuat toolchain iOS berbasis GCC di Linux. Xcode bukanlah kompiler - ini hanya diperlukan untuk menghasilkan sertifikat untuk mengirimkan aplikasi Anda ke AppStore.
The Paramagnetic Croissant
2
Anda dapat mencari Hackintosh, yang memungkinkan untuk menjalankan Mac OS pada prosesor Intel, tapi menurut saya ini ilegal.
Borzh

Jawaban:

32

Izinkan saya memberi tahu Anda langkah demi langkah beberapa tahun yang lalu, saya berada dalam situasi yang sama.

Jadi Kami memiliki dua Fase

  1. Pengembangan aplikasi iPhone / iPad (iOS)
  2. Pengembangan aplikasi iPhone / iPad (iOS) dan Publikasikan ke iTunes Store

1. Pengembangan aplikasi iPhone / iPad (iOS)

Jadi, jika Anda hanya ingin mengembangkan aplikasi iOS, Anda tidak ingin membayar apa pun,

Anda hanya perlu Mac + XCode IDE

  1. Dapatkan Mac Mini atau Mac Machine
  2. Buat Akun Pengembang di Apple gratis
  3. Setelah masuk akun pengembang, Anda dapat mengunduh file .dmg Xcode IDE
  4. Itu saja.

Sekarang Anda cukup menginstal Xcode dan mulai mengembangkan aplikasi iOS dan uji / debug dengan Simulator ..

2. Pengembangan aplikasi iPhone / iPad (iOS) dan Publikasikan ke iTunes Store

untuk menerbitkan aplikasi Anda di toko iTunes, Anda perlu membayar (contoh $ 99 / tahun).

Jadi Untuk Setup Pengembangan iOS lengkap yang Anda butuhkan

  1. Dapatkan Mac Mini atau Mac Machine
  2. Buat Akun Pengembang di Apple gratis
  3. Setelah masuk akun pengembang, Anda dapat mengunduh file .dmg Xcode IDE
  4. membayar $ 99 untuk mempublikasikan aplikasi di iTunes
  5. buat sertifikat Anda untuk pengembangan / distribusi di akun apple Anda
  6. unduh semua sertifikat di mesin mac dan instal ke XCode menggunakan alat Keychain
  7. Dapatkan setidaknya satu Perangkat iOS
  8. Daftarkan perangkat Anda di akun apple Anda
  9. Sekarang Anda dapat mengembangkan aplikasi iOS, menguji di Perangkat Nyata dan juga menerbitkan di iTunes Store
swiftBoy
sumber
Periksa persyaratan iOS ini untuk pengembang
Xamarin.xamarin.com/guides/cross-platform/getting_started/…
Tetapi pertanyaannya menyatakan secara spesifik "tanpa memiliki mac?"…
PF4Public
28

Di Windows, Anda dapat menggunakan Mac di mesin virtual (ini mungkin juga berfungsi di Linux tetapi saya belum menguji). Mesin virtual pada dasarnya adalah program yang Anda jalankan di komputer yang memungkinkan Anda menjalankan satu OS di jendela di dalam yang lain. Pastikan Anda memiliki setidaknya 60GB ruang kosong di hard drive Anda. Hard drive virtual yang akan Anda unduh pada awalnya membutuhkan 10GB tetapi ketika Anda telah menginstal semua program yang diperlukan untuk mengembangkan aplikasi iOS, ukurannya dapat dengan mudah meningkat menjadi 50GB (saya sarankan untuk menyisakan beberapa GB margin untuk berjaga-jaga).

Berikut adalah beberapa langkah mendetail tentang cara memasang mesin virtual Mac di Windows:

  1. Pasang VirtualBox .

  2. Anda harus mengaktifkan virtualisasi di BIOS. Untuk membuka BIOS pada Windows 10, Anda harus memulai dengan menahan Shifttombol sambil menekan tombol Restart di menu mulai. Kemudian Anda akan mendapatkan layar biru dengan beberapa opsi. Pilih "Troubleshoot", lalu "Advanced options", lalu "UEFI Firmware Settings", lalu "Restart". Kemudian komputer Anda akan restart dan membuka BIOS secara langsung. Pada versi Windows yang lebih lama, matikan komputer secara normal, tahan F2tombolnya, mulai lagi komputer Anda dan jangan lepaskan F2sampai Anda berada di BIOS. Pada beberapa komputer, Anda mungkin harus menekan tombol lain selain F2.

  3. Sekarang setelah Anda berada di BIOS, Anda perlu mengaktifkan virtualisasi. Pengaturan mana yang seharusnya Anda ubah tergantung pada komputer mana yang Anda gunakan. Ini mungkin berbeda bahkan antara dua komputer dengan versi Windows yang sama. Di komputer saya, Anda perlu menyetel Intel Virtual Technologydi Configurationtab ke Enabled. Di komputer lain mungkin dalam misalnya Security -> Virtualizationatau dalam Advanced -> CPU Setup. Jika Anda tidak dapat menemukan salah satu opsi ini, cari di Google . Jangan mengubah apapun di BIOS begitu saja karena jika tidak maka dapat menyebabkan masalah pada komputer Anda. Saat Anda mengaktifkan virtualisasi, simpan perubahan dan keluar dari BIOS. Ini biasanya dilakukan di tab.enable virtualization (the kind of computer you have)Exit

  4. Unduh file ini (Saya tidak memiliki hubungan dengan orang yang mengunggahnya, tetapi saya telah menggunakannya sendiri, jadi saya yakin tidak ada virus). Jika tautan rusak, kirim komentar untuk memberi tahu saya dan saya akan mencoba mengunggah file di tempat lain. Kata sandi untuk membuka file 7Z adalah stackoverflow.com. File 7Z ini berisi file VMDK yang akan bertindak sebagai hard drive untuk mesin virtual Mac. Ekstrak file VMDK itu. Jika ruang disk menjadi masalah bagi Anda, setelah Anda mengekstrak file VMDK, Anda dapat menghapus file 7Z dan menghemat 7GB.

  5. Buka VirtualBox yang Anda instal pada langkah 1. Pada bilah alat, tekan tombol Baru. Kemudian pilih nama untuk mesin virtual Anda (namanya tidak penting, saya menyebutnya "Mac"). Di "Type", pilih "Mac OS X" dan di "Version" pilih "macOS 10.13 High Sierra (64 bit)" (versi Mac yang akan Anda instal di mesin virtual sebenarnya adalah Catalina, tetapi VirtualBox tidak memiliki opsi itu namun dan berfungsi dengan baik jika VirtualBox menganggapnya High Sierra).

    Ini juga merupakan ide yang baik (meskipun tidak diharuskan) untuk memindahkan file VMDK yang Anda ekstrak pada langkah 4 ke folder yang terdaftar di bawah "Folder Mesin" (pada gambar di atas itu akan C:\Users\myname\VirtualBox VMs).

  6. Pilih jumlah memori yang dapat digunakan mesin virtual Anda. Cobalah untuk menyeimbangkan jumlahnya karena terlalu sedikit memori akan mengakibatkan mesin virtual memiliki kinerja yang rendah dan terlalu banyak memori akan mengakibatkan sistem host Anda (Windows) kehabisan memori yang akan menyebabkan mesin virtual dan / atau program lain yang Anda ' sedang berjalan di Windows untuk crash. Di komputer dengan memori 4GB yang tersedia, 2GB adalah jumlah yang bagus. Jangan khawatir jika Anda memilih jumlah yang buruk, Anda akan dapat mengubahnya kapan pun Anda mau (kecuali saat mesin virtual sedang berjalan).

  7. Pada langkah Hard disk, pilih "Gunakan file hard disk virtual yang ada" dan klik ikon folder kecil di sebelah kanan daftar drop. Itu akan membuka jendela baru. Di jendela baru itu, klik tombol "Tambah" di kiri atas, yang akan membuka jendela jelajah. Pilih file VMDK yang Anda unduh dan ekstrak pada langkah 4, lalu klik "Pilih".

    Setelah Anda selesai dengan ini, klik "Buat".

  8. Pilih mesin virtual dalam daftar di sebelah kiri jendela dan klik tombol Pengaturan di toolbar. Di Sistem -> Prosesor, pilih 2 CPU; dan di Network -> Attached to, pilih Bridged Adapter. Jika Anda kemudian menyadari bahwa Anda memilih sejumlah memori pada langkah 6 yang menyebabkan masalah, Anda dapat mengubahnya di System -> Motherboard. Setelah selesai mengubah pengaturan, klik OK.

  9. Buka prompt perintah ( C:\Windows\System32\cmd.exe). Jalankan perintah berikut di sana, ganti "Your VM Name"dengan apa pun yang Anda sebut mesin virtual Anda di langkah 5 (misalnya "Mac") (pertahankan tanda kutip):

    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" C02L280HFMR7
    
  10. Sekarang semuanya siap untuk Anda gunakan mesin virtual. Di VirtualBox, klik tombol Start dan ikuti petunjuk instalasi untuk Mac. Setelah Anda menginstal Mac di mesin virtual, Anda dapat mengembangkan aplikasi iOS Anda seperti jika Anda memiliki Mac asli.

Catatan: Jika Anda ingin menghemat ruang pada hard disk Anda, Anda dapat memampatkan file VMDK yang Anda ekstrak pada langkah 4 dan digunakan pada langkah 7. Untuk melakukan ini, klik kanan padanya, pilih Properties, klik Advanced ... di kanan bawah, dan centang kotak "Kompres konten untuk menghemat ruang disk". Ini akan membuat file yang sangat besar ini memakan lebih sedikit ruang disk tanpa membuat apa pun bekerja kurang baik. Saya melakukannya dan itu mengurangi ukuran disk file VMDK dari 50GB menjadi 40GB tanpa kehilangan data apa pun.

Donald Bebek
sumber
2
Vm bekerja dengan baik. Tapi sangat lambat di mesin saya, yang merupakan mesin game.
Reuel Ribeiro
@ReuelRibeiro Anda mungkin ingin memeriksa konfigurasi mesin virtual Anda untuk memastikannya dioptimalkan untuk komputer Anda. Berikut adalah artikel bermanfaat tentang topik tersebut: hanselman.com/blog/…
Technoguyfication
2
Pada langkah 9 saya harus menambahkan VBoxManage setextradata "Nama VM Anda" "VBoxInternal / Devices / efi / 0 / Config / DmiSystemSerial" W1234567980 agar dapat masuk menggunakan ID Apple saya
ikleiman
1
Meskipun ini mungkin berhasil, versi xcode terbaru tidak kompatibel dengan IOS 10.11 (El Captain) yang saat ini ada di Google Drive. Apakah Anda memiliki versi MacOS yang lebih baru?
CularBytes
1
@RahulShah Anda dapat melakukan apa pun yang dapat Anda lakukan di Mac nyata.
Donald Duck
26

Perbarui dari 09/2017

Dimungkinkan untuk mengembangkan aplikasi iOS (dan Android pada saat yang sama) menggunakan React Native + Expo tanpa memiliki mac. Anda juga akan dapat menjalankan aplikasi iOS Anda dalam aplikasi iOS Expo saat mengembangkannya. (Anda bahkan dapat mempublikasikannya untuk diakses orang lain, tetapi itu hanya akan berjalan dalam aplikasi Expo). Ini adalah halaman dari Expo tentang cara menghasilkan aplikasi mandiri.

Langkah-langkah dari halaman itu:

Satu : Instal expdengan menjalankannpm install -g exp

Dua : Konfigurasi app.json (di suatu tempat di sepanjang garis ini):

{
   "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"
    }
   }
 }

Tiga : Mulai exppengemas denganexp start

Empat : lari exp build:androidatau exp build:ios.

Anda akan dimintai beberapa masukan. Untuk android Anda dapat memilih 1) Let Expo handle the process!jika Anda tidak memiliki keystore (atau jika Anda tidak tahu apa itu). Untuk iOS, Anda harus memasukkan kredensial pengembang Apple Anda. Kemudian Anda dapat memberikan sertifikat distribusi atau membiarkan expo menanganinya.

Lima : Sesekali Anda harus kembali dan menjalankan exp build:statusperintah untuk memeriksa apakah build Anda sudah selesai. Jika sudah lengkap Anda akan diberikan link .apkatau .ipafile langsung.

Satu-satunya kelemahan dari pendekatan ini adalah bahwa itu tidak akan se-native menulis aplikasi iOS di Swift, dan Anda harus tahan dengan parade masalah yang mungkin Anda hadapi saat mengembangkan dengan tipe js, npm, dan ketergantungannya- on-specific-version-of-some-other-library issues, dan hal-hal lainnya.

wha7ever
sumber
Apakah ini juga dimungkinkan dengan kerangka kerja lain, misalnya Qt dan JavaFXPorts?
Daniel Ziltener
@DanielZiltener Saya tidak akrab dengan keduanya, tapi menurut saya jawabannya tidak.
Wha7ever
13

Anda dapat menggunakan Phonegap (Cordova) untuk mengembangkan Aplikasi iOS tanpa Mac, tetapi Anda masih memerlukan Mac untuk mengirimkan aplikasi Anda ke App Store. Kami mengembangkan aplikasi awan yang juga dapat memublikasikan aplikasi Anda tanpa Mac https://www.wenz.io/ApplicationLoader . Saat ini kami dalam versi beta dan Anda dapat menggunakan layanan ini secara gratis.

Hormat kami, Steffen Wenz

(Saya pembuat situs)

Steffen Wenz
sumber
1
Saya menggunakan pemuat aplikasi Wenz. Untuk itu saya membuat ID Apple khusus hanya dengan izin unggah. Karena IPA Anda harus ditandatangani, itu masih aman meskipun kata sandi Anda bocor.
pengguna1219721
apakah ada cara untuk menghasilkan file IPA tanpa mac untuk dikirim ke layanan Anda?
12 belah ketupat dalam kisi tanpa sudut
12

Jawaban singkat: secara teoritis YA, tetapi ini harus menjadi teman Anda yang SANGAT BAIK, tetapi sekali lagi, Anda mungkin lebih suka membeli mac-mini bekas

TLDR: Anda akan membutuhkan Mac ini untuk waktu yang sangat lama, bergantung pada persyaratan aplikasi Anda, keterampilan pengembangan Anda, dan keberuntungan Anda dengan Apple. Sebagai contoh:

  1. Anda mungkin perlu beberapa hari untuk menyiapkan Xcode serta SDK dan Library yang diperlukan.
  2. Mungkin perlu beberapa saat untuk mendapatkan Akun Pengembang itu, terkadang Anda bisa menunggu terlalu lama bahkan untuk mendapatkan permintaan Anda ditinjau.
  3. Saat Anda mengirimkan aplikasi untuk pertama kali, Anda harus menunggu beberapa saat, mungkin hingga beberapa minggu, atau bahkan berbulan-bulan, agar aplikasi Anda ditinjau.
  4. Setiap kali aplikasi Anda ditolak, Anda perlu menemukan dan memperbaiki masalah Anda (tanpa banyak bantuan dari Apple, selain yang menunjukkan aturan pedoman yang Anda langgar), lalu kirimkan kembali aplikasi Anda untuk ditinjau, dan tunggu lagi.
  5. Setiap kali Anda mencoba menerapkan tambalan untuk aplikasi yang sudah Anda terapkan, aplikasi Anda harus ditinjau dan ada kemungkinan bahwa aplikasi Anda yang sebelumnya resmi, sekarang melanggar pedoman baru, jadi Anda mengirim ulang dan menunggu

Jadi, dari pengalaman saya, pengembangan aplikasi iOS adalah prosedur yang sangat panjang, bahkan tanpa mempertimbangkan waktu pengembangan kode yang sebenarnya. Bisakah Anda meminjam Mac selama itu?

yannicuLar
sumber
Baik Anda dan orang lain telah mengklarifikasi banyak hal untuk saya, jadi saya berterima kasih
Cescy
1
Sama-sama. Menurut saya, aplikasi iOS untuk pengembang yang tidak berpengalaman, sangat jauh dan komitmen yang besar. Anda dapat memulai dengan aplikasi android yang akan dikenakan biaya $ 25 (lisensi pengembang seumur hidup) terlebih dahulu.
yannicuLar
11

Perbarui Intel XDK tidak lagi tersedia.

Anda dapat menggunakan Intel XDK dengan itu Anda dapat mengembangkan dan menerbitkan aplikasi untuk iOS tanpa mac.

Klik di sini untuk detailnya.

Hemant Singh Rathore
sumber
10
Intel XDK telah meninggal ... RIP
Nowdeen
4

Juga jika Anda ingin menghemat uang, Anda tidak harus membeli Mac. Ada cara lain untuk melakukannya:

1.) Anda dapat menggunakan hampir semua OS untuk menjalankan MacOS terbaru di mesin virtual (lihat YouTube). Saya menggunakan metode ini sangat lama tanpa masalah pada windows dengan VMWare.

2.) Hackintosh. Instal MacOS ke PC Anda. Anda harus memiliki komponen yang kompatibel, tetapi jika Anda punya, ini adalah cara terbaik, karena Anda menghilangkan kelambatan di VM ... Saya menggunakan ini saat ini. Sempurna. Di laptop saya, tapi tolong jangan beri tahu ini ke Apple, karena secara praktis ini ilegal

3.) Jika Anda membuat aplikasi sederhana dengan UI minimum, Anda dapat menggunakan Theos . Juga dengan Theos Anda dapat membuat tweak cydia. Hanya satu masalah: kode tanda. Jika Anda ingin mempublikasikan aplikasi di App Store Anda tetap harus memiliki MacOS, tetapi jika Anda ingin membuat aplikasi di rumah Anda dapat menggunakan CydiaImpactor untuk menandatangani aplikasi dengan ID Apple.

Saya menggunakan semua cara ini dan semuanya bekerja. Dengan VM saya adalah solusi terbaik jika Anda tidak ingin menghabiskan banyak waktu dengan menginstal Hackintosh.

Samuel Tulach
sumber
3

Sebagian besar kerangka kerja seperti React Native dan Ionic memungkinkan Anda membangun di server mereka. Artinya mereka dapat membantu Anda mengkompilasi dan memberi Anda dan file .ipa.

Masalahnya adalah Anda memerlukan Xcode atau Application loader untuk mengirimkan aplikasi Anda ke Apple App Store Connect. Keduanya hanya tersedia di OSX. Untuk mengatasi solusi ini Anda memiliki 2 opsi yang saya ketahui

  1. Sewa mac secara virtual. http://www.macincloud.com
  2. Gunakan situs web yang membantu Anda mengunggah aplikasi (Anda harus memiliki file .ipa). http://www.connectuploader.com
Valehelle
sumber
2

Anda dapat menggunakan Smartface untuk mengembangkan aplikasi Anda dengan javascript dan menerapkannya ke penyimpanan secara langsung tanpa Mac. Apa yang mereka katakan ada di bawah.

Dengan modul Cloud Build, Smartface menghilangkan semua kerumitan penerapan aplikasi. Anda tidak perlu khawatir tentang mengelola sertifikat penandatanganan kode dan memiliki Mac untuk menandatangani aplikasi Anda. Smartface Cloud dapat menyimpan semua sertifikat iOS dan keystore Android Anda di satu tempat dan penandatanganan serta pembangunan sepenuhnya di cloud. Apa pun sistem operasi yang Anda gunakan, Anda bisa mendapatkan biner yang siap untuk disimpan di toko (atau distribusi perusahaan). Smartface membebaskan Anda dari penguncian ke Mac dan memungkinkan Anda menggunakan sistem operasi favorit Anda untuk pengembangan.

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

Tempeck
sumber
1

Pengalaman saya adalah Ionic Pro ( https://ionicframework.com/pro ) dapat melakukan sebagian besar pekerjaan Pengembangan dan Publikasi tetapi Anda masih memerlukan Mac atau Mac di cloud dengan langkah-langkah berikut:

  • buat file Sertifikasi .p12
  • unggah file .ipa ke App Store

Setelah Anda membuat file Sertifikasi, Anda dapat mengunggahnya ke Ionic Pro. Anda dapat membuat file .ipa dengan kredensial yang tepat di cloud. Namun sayangnya saya tidak menemukan cara lain untuk mengupload file .ipa ke App Store, hanya dengan Application Loader dari Mac.

Jadi saya memutuskan untuk menggunakan Mac pay-as-you-go di akun cloud (Anda hanya membayar untuk menit Anda masuk) karena waktu yang saya habiskan di Mac sangat terbatas (beberapa menit per publikasi Aplikasi).

gaborp
sumber
-7

Platform XAMARIN CROSS

Anda dapat menggunakan Xamarin, yang merupakan platform silang dengan IDE Visual studio dan mengintegrasikan xamarin ke dalamnya. Sangat mudah untuk membuat kode ke xamarin dan membuat aplikasi iOS Anda dengan menggunakan kode C #.

Abhishek Pathak
sumber
11
Ya, tetapi kompilasi membutuhkan mac.
Maarten Peels