Створити додаток для iOS, не маючи Mac? [зачинено]


98

Будь ласка, виправте мене, якщо я помиляюся.

Я новачок у розробці мобільних пристроїв, і я хотів би розробити програму для подання в магазин яблук.

Але мене сильно знеохочують ціни на Mac, про які я розробляю додаток.

Скажімо, я точно знаю, що я хочу, і як це кодувати.

Якщо я повинен був створити обліковий запис розробника і сплатити плату - тоді позичте своїм друзям mac, напишіть код і надішліть мій код до apple. Це все, що мені потрібно для Mac? І тоді я зможу отримати доступ до всіх статистичних даних тощо через iTunes на своєму комп’ютері з Windows?

Хтось може сказати мені, що я марю?


2
це може бути досягнуто так, як ви говорите, але подумайте над цим, що якщо ваша програма потребує будь-якого оновлення чи незначної помилки чи змін? щоразу, коли ти будеш просити свого друга про послугу?
D-eptdeveloper

5
Вам потрібен Mac для серйозної розробки iOS. Період. І вони зрештою не такі вже й дорогі. І не забувайте про кілька пристроїв iOS для тестування - програми, які не пройшли тестування на доступному обладнанні, як правило, мають недоліки.
Eiko

1
Делізійна частина починається з "Я знаю, як це кодувати" ... якщо ви кодуєте себе (тобто жодна робота не працює за контрактом), вам знадобиться багато тестування та налагодження. Подумайте про кілька тижнів, щоб запустити проект, який варто комусь показати. Полірувати його та зробити його "привабливим до продажу" буде важкою роботою. Я дійсно можу думати про найбільш марні програми (тобто "обгортки веб-сайтів"), які створюються протягом дня на Mac, якщо ви вже досвідчений розробник iOS.
Eiko

На Linux можна створити інструментарій iOS на основі GCC. Xcode не є компілятором - це потрібно лише для генерації сертифікатів, щоб надіслати свій додаток до AppStore.
Парамагнітний круасан

2
Ви можете шукати Hackintosh, який дозволяє запускати Mac OS на процесорах Intel, але це, на мою думку, незаконно.
Борж

Відповіді:


32

Дозвольте сказати вам крок за кроком кілька років тому, я опинився в такій самій ситуації.

Отже, ми маємо дві фази

  1. Розробка додатків для iPhone / iPad (iOS)
  2. Розробка додатків для iPhone / iPad (iOS) та публікація в iTunes Store

1. Розробка програми для iPhone / iPad (iOS)

Тож якщо ви просто хочете розробляти додатки для iOS, ви не хочете нічого платити,

Вам просто потрібен Mac + XCode IDE

  1. Отримайте Mac Mini або Mac Machine
  2. Створіть обліковий запис розробника в Apple безкоштовно
  3. Після входу в обліковий запис розробника ви можете завантажити .dmg-файл Xcode IDE
  4. Це все.

Тепер ви просто встановлюєте Xcode і починаєте розробку програм для iOS та тестування / налагодження за допомогою Simulator ..

2. Розробка програми для iPhone / iPad (iOS) та публікація в iTunes Store

за публікацію програми у магазині iTunes потрібно заплатити (приклад 99 доларів на рік).

Отже, для повного налаштування розробки iOS вам потрібно

  1. Отримайте Mac Mini або Mac Machine
  2. Створіть обліковий запис розробника в Apple безкоштовно
  3. Після входу в обліковий запис розробника ви можете завантажити .dmg-файл Xcode IDE
  4. заплатити 99 доларів за публікацію програм у iTunes
  5. створіть свої сертифікати для розробки / розповсюдження на своєму обліковому записі apple
  6. завантажте весь сертифікат на комп'ютері mac та встановіть у XCode за допомогою інструмента брелок
  7. Завантажте принаймні один пристрій iOS
  8. Зареєструйте свій пристрій на своєму обліковому записі Apple
  9. Тепер ви можете розробити додаток для iOS, протестувати на реальному пристрої, а також опублікувати в iTunes Store


Але питання конкретно зазначає "не володіючи Mac?" ...
PF4Public

28

У Windows ви можете використовувати Mac на віртуальній машині (це, ймовірно, також працює в Linux, але я не тестував). Віртуальна машина - це в основному програма, яку ви запускаєте на своєму комп’ютері, що дозволяє запускати одну ОС у вікні всередині іншої. Переконайтеся, що у вас є щонайменше 60 ГБ вільного місця на жорсткому диску. Виртуальний жорсткий диск, який ви завантажите, спочатку займає 10 ГБ, але коли ви встановите всі необхідні програми для розробки додатків для iOS, його розмір може легко збільшитися до 50 ГБ (я рекомендую залишити кілька ГБ запасів про всяк випадок).

Ось кілька детальних кроків щодо встановлення віртуальної машини Mac у Windows:

  1. Встановіть VirtualBox .

  2. Ви повинні увімкнути віртуалізацію в BIOS. Щоб відкрити BIOS в Windows 10, потрібно почати, утримуючи Shiftклавішу, одночасно натискаючи кнопку перезапуску в меню «Пуск». Тоді ви отримаєте синій екран з деякими опціями. Виберіть "Виправлення неполадок", потім "Додаткові параметри", потім "Налаштування мікропрограми UEFI", а потім "Перезапуск". Потім ваш комп’ютер перезавантажиться і відкриє BIOS безпосередньо. У старих версіях Windows нормально вимкніть комп'ютер, утримуйте F2клавішу, увімкніть комп'ютер заново і не відпускайте, F2поки не зайдете в BIOS. На деяких комп'ютерах, можливо, доведеться утримувати іншу клавішу, ніж F2.

  3. Тепер, коли ви перебуваєте в BIOS, вам потрібно увімкнути віртуалізацію. Яке налаштування ви повинні змінити, залежить від того, який комп’ютер ви використовуєте. Це може відрізнятися навіть між двома комп'ютерами з однаковою версією Windows. На моєму комп'ютері вам потрібно встановити 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 містить файл VMDK, який буде виконувати функції жорсткого диска для віртуальної машини Mac. Витягніть цей файл VMDK. Якщо місце на диску є проблемою для вас, як тільки ви витягнете файл VMDK, ви можете видалити файл 7Z і, отже, заощадити 7 ГБ.

  5. Відкрийте VirtualBox, який ви встановили на кроці 1. На панелі інструментів натисніть кнопку Створити. Потім виберіть ім’я для вашої віртуальної машини (ім’я неважливе, я назвав його «Mac»). У "Тип" виберіть "Mac OS X", а в "Версії" виберіть "macOS 10.13 High Sierra (64 біт)" (версія Mac, яку ви встановите на віртуальній машині, насправді є Catalina, але VirtualBox не має цієї опції але це працює добре, якщо VirtualBox вважає, що це Висока Сьєрра).

    Також непогано (хоча це не потрібно) перемістити файл VMDK, який ви витягли на кроці 4, у папку, перелічену в розділі "Папка машини" (на скріншоті вище, який буде C:\Users\myname\VirtualBox VMs).

  6. Виберіть обсяг пам'яті, який може використовувати ваша віртуальна машина. Спробуйте збалансувати кількість, оскільки занадто мало пам'яті призведе до того, що віртуальна машина буде мати низьку продуктивність, а занадто багато пам'яті призведе до того, що у вашої хост-системи (Windows) закінчиться пам'ять, що призведе до того, що віртуальна машина та / або інші програми, які ви ' повторно працює на Windows, щоб вийти з ладу. На комп’ютері з 4 Гб доступної пам’яті 2 Гб було непоганою кількістю. Не хвилюйтеся, якщо ви оберете погану суму, ви зможете змінити її коли завгодно (крім випадків, коли працює віртуальна машина).

  7. На кроці жорсткого диска виберіть «Використовувати наявний файл віртуального жорсткого диска» та клацніть на піктограму маленької папки праворуч від випадаючого списку. Це відкриє нове вікно. У цьому новому вікні натисніть кнопку "Додати" у верхньому лівому куті, що відкриє вікно перегляду. Виберіть файл VMDK, який ви завантажили та розпакували на кроці 4, а потім натисніть «Вибрати».

    Закінчивши це, натисніть "Створити".

  8. Виберіть віртуальну машину зі списку ліворуч у вікні та натисніть кнопку Налаштування на панелі інструментів. У системі -> Процесор виберіть 2 процесора; а в Мережа -> Приєднано до, виберіть Мостовий адаптер. Якщо пізніше ви зрозумієте, що вибрали обсяг пам’яті на кроці 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" C02L280HFMR7
    
  10. Тепер все готово для використання віртуальної машини. У VirtualBox натисніть кнопку Пуск і дотримуйтесь інструкцій з встановлення для Mac. Після того, як ви встановили Mac на віртуальній машині, ви можете розробити свій додаток для iOS так само, як якщо б у вас був справжній Mac.

Примітка. Якщо ви хочете заощадити місце на жорсткому диску, ви можете стиснути файл VMDK, який ви видобули на кроці 4 і використали на кроці 7. Для цього клацніть правою кнопкою миші на ньому, виберіть Властивості, клацніть на Додатково ... внизу праворуч і встановіть прапорець "Стиснути вміст, щоб заощадити місце на диску". Це змусить цей дуже великий файл займати менше місця на диску, не роблячи при цьому нічого поганого. Я зробив це, і це зменшило розмір диска файлу VMDK з 50 ГБ до 40 ГБ без втрати даних.


1
Vm працює нормально. Але це дуже повільно на моїй машині, яка є ігровою машиною.
Реуель Рібейро,

@ReuelRibeiro Ви можете перевірити конфігурацію віртуальної машини, щоб переконатися, що вона оптимізована для вашого комп’ютера. Ось корисна стаття на цю тему: hanselman.com/blog/…
Техногігіфікація

2
На кроці 9 мені довелося додати секстрадані VBoxManage "Ваше ім'я віртуальної машини", "VBoxInternal / Devices / efi / 0 / Config / DmiSystemSerial" W1234567980, щоб я міг увійти за допомогою свого ідентифікатора Apple
ikleiman

1
Хоча це може працювати, остання версія xcode не сумісна з IOS 10.11 (El Captain), який зараз знаходиться на google drive. У вас є пізніша версія MacOS?
CularBytes

1
@RahulShah Ви можете робити все, що могли б зробити на справжньому Mac.
Дональд Дак,

26

Оновлення від 09/2017

Можна розробити додаток iOS (і Android одночасно), використовуючи React Native + Expo, не маючи Mac. Ви також зможете запускати свою програму iOS у програмі iOS Expo під час її розробки. (Ви навіть можете опублікувати його для доступу інших людей, але він працюватиме лише в програмі Expo). Ось сторінка від Expo про те, як створити автономний додаток.

Кроки з цієї сторінки:

Перший : встановіть exp, запустившиnpm install -g exp

Два : Налаштування 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"
    }
   }
 }

Третє : Почніть expпакекера зexp start

Четверо : бігти exp build:androidабо exp build:ios.

Вам буде запропоновано ввести деякі дані. Для android ви можете вибрати, 1) Let Expo handle the process!якщо у вас немає магазину ключів (або якщо ви не знаєте, що це таке). Для iOS вам потрібно буде ввести облікові дані розробника Apple. Тоді ви можете надати сертифікат дистрибуції або дозволити expo обробляти його.

П’ять : Час від часу вам доведеться повертатися і запускати exp build:statusкоманду, щоб перевірити, чи завершена ваша збірка. Якщо повна Вам буде надана пряме посилання на .apkабо .ipaфайл.

Єдиним недоліком цього підходу є те, що він не буде таким рідним, як написання програми iOS у Swift, і вам доведеться миритися з парадом проблем, з якими ви можете зіткнутися при розробці із слабко набраним js, npm, і це залежність- на конкретну версію деяких інших бібліотечних питань та інші речі.


Чи можливо це також з іншими фреймворками, наприклад, Qt та JavaFXPorts?
Даніель Зілтенер,

@DanielZiltener Я не знайомий ні з одним, ні з іншим, але думаю, що відповідь - ні.
wha7ever


13

Ви можете використовувати Phonegap (Cordova) для розробки iOS-додатків без Mac, але вам все одно знадобиться Mac, щоб подати заявку в App Store. Ми розробили хмарний додаток, який також може публікувати ваш додаток без Mac https://www.wenz.io/ApplicationLoader . На даний момент ми знаходимося в бета-версії, і ви можете користуватися послугою безкоштовно.

З найкращими побажаннями, Штеффен Венц

(Я творець сайту)


1
Я використовую завантажувач додатків Wenz. Для цього я створив спеціальний ідентифікатор Apple лише з дозволом на завантаження. Оскільки ваш IPA повинен бути підписаний, він все ще безпечний, навіть якщо ваш пароль просочився.
користувач1219721

чи є в будь-якому випадку сформувати файл IPA без mac для подання до ваших служб?
12 ромбіків у сітці без кутів


11

Коротка відповідь: теоретично ТАК, але це повинен бути ДУЖЕ ДОБРИЙ ваш друг, але знову ж таки, ви можете віддати перевагу придбати б / у mac-mini

TLDR: Цей Mac вам буде потрібен дуже довго, залежно від вимог програми, ваших навичок розробки та вашої удачі в Apple. Наприклад:

  1. Вам може знадобитися кілька днів, щоб налаштувати Xcode та необхідні SDK та бібліотеки.
  2. Отримання цього облікового запису розробника може зайняти деякий час, іноді ви можете занадто довго чекати, поки ваш запит буде розглянуто.
  3. Коли ви подаєте заявку вперше, вам доведеться почекати десь, можливо, до декількох тижнів, а то й місяців, щоб перевірити вашу програму.
  4. Щоразу, коли ваш додаток відхиляється, вам потрібно буде знаходити та виправляти свої проблеми (без особливої ​​допомоги від Apple, крім того, що вказує на правило, яке ви порушили), потім повторно подавати програму на розгляд і чекати знову.
  5. Щоразу, коли ви намагаєтесь застосувати виправлення для вже розгорнутої програми, вам доведеться переглядати програму, і існує ймовірність, що ваша раніше законна програма тепер порушує нову інструкцію, тому ви подаєте повторно і чекаєте

Отже, з мого досвіду, розробка програми для iOS є дуже тривалою процедурою, навіть не враховуючи фактичний час розробки коду. Чи можете ви позичити Mac на стільки часу?


І ви, і інший хлопець багато чого пояснили для мене, тому я дякую вам
Сессі

1
Ласкаво просимо. Я бачу це, додаток для iOS для недосвідченого розробника - це довгий крок і велике зобов’язання. Ви можете почати з додатка для Android, який спочатку обійдеться вам у 25 доларів (довічна ліцензія розробника).
yannicuLar

4

Крім того, якщо ви хочете заощадити гроші, не обов’язково купувати Mac. Є й інші способи, як це зробити:

1.) Ви можете використовувати практично будь-яку ОС для запуску останньої версії MacOS у віртуальній машині (подивіться на YouTube). Я використовую цей метод дуже довго без проблем на вікнах з VMWare.

2.) Хакінтош. Встановіть MacOS на свій ПК. Ви повинні мати сумісні компоненти, але якщо вони є, це найкращий спосіб, оскільки ви усуваєте відставання у ВМ ... Я використовую це зараз. Ідеально На моєму ноутбуці, але, будь ласка, не повідомляйте цього Apple, бо це практично незаконно

3.) Якщо ви робите прості програми з мінімальним інтерфейсом, ви можете використовувати Theos . Також за допомогою Theos ви можете створювати налаштування cydia. Лише одна проблема: кодовий дизайн. Якщо ви хочете опублікувати програму в App Store, ви все одно повинні мати MacOS, але якщо ви хочете зробити програму вдома, ви можете використовувати CydiaImpactor для підписання програм за допомогою Apple ID.

Я використав усі ці способи, і все працює. На мою ВМ - найкраще рішення, якщо ви не хочете витрачати багато часу, встановлюючи Hackintosh.


2

Ви можете використовувати Smartface для розробки своєї програми з використанням javascript і розгортання для зберігання безпосередньо без Mac. Те, що вони говорять, нижче.

За допомогою модуля Cloud Build Smartface усуває всі клопоти щодо розгортання програм. Вам не потрібно турбуватися про управління сертифікатами підпису коду та наявність Mac для підпису ваших програм. Smartface Cloud може зберігати всі ваші сертифікати iOS та сховища ключів Android в одному місці, а підписання та створення повністю в хмарі. Незалежно від того, яку операційну систему ви використовуєте, ви можете отримати готові до зберігання (або розподіл підприємств) двійкові файли. Smartface звільняє вас від блокування до Mac і дозволяє використовувати вашу улюблену операційну систему для розробки.

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


2

Більшість фреймворків, таких як React Native та Ionic, дозволяє створювати на їх сервері. Це означає, що вони можуть допомогти вам скомпілювати та надати вам файл .ipa.

Проблема полягає в тому, що вам потрібен Xcode або завантажувач додатків, щоб надіслати свій додаток до Apple App Store Connect. Обидва вони доступні лише на OSX. Для подолання цього рішення у вас є два варіанти, які я знаю

  1. Орендуйте mac віртуально. http://www.macincloud.com
  2. Використовуйте веб-сайт, який допоможе завантажити ваш додаток (потрібно мати файл .ipa). http://www.connectuploader.com

1

Мій досвід полягає в тому, що Ionic Pro ( https://ionicframework.com/pro ) може зробити більшу частину роботи з розробки та публікації, але вам все одно потрібен Mac або Mac у хмарі на таких етапах:

  • створити файл сертифікації .p12
  • завантажте файл .ipa в App Store

Створивши файл сертифікації, ви можете завантажити його в Ionic Pro. Ви можете створювати файли .ipa з належними обліковими даними в хмарі. Але, на жаль, я не знайшов іншого способу завантажити файл .ipa в App Store, лише за допомогою програми Loader з Mac.

Тому я вирішив використовувати платний Mac у хмарному обліковому записі (ви платите лише за хвилини, за які ви ввійшли в систему), оскільки час, який я витрачаю на Mac, дуже обмежений (кілька хвилин на публікацію програми).


-7

Платформа XAMARIN CROSS

Ви можете використовувати Xamarin, його крос-платформу зі студією IDE Visual, та інтегрувати в неї xamarin. Кодувати в xamarin та створювати програми ios за допомогою коду C # дуже просто.


11
Так, але для компіляції потрібен mac.
Маартен Пілінг,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.