- 7 способов создания приложений для iPhone на Windows
- Как сделать приложение для iPhone самому
- Смотрим готовое приложение на устройстве
- Что делать, если хочешь больше?
- Разработка под iOS на Windows без компьютера Mac возможна?
- 3 ответа 3
- Руководство React Native — создаем приложение под iOS. Часть 1.1
- Какое приложение мы будем создавать?
- Ремарка
- 1. Создание пустого проекта React Native
7 способов создания приложений для iPhone на Windows
Какое-то время назад я решил привести пару способов создания приложения для iPhone и iPad, доступных на Windows. Сейчас эта тема всё ещё актуальна. Так что я решил дополнить этот список и включить некоторые другие способы, появившиеся после написания первого сообщения, и те, которые всё ещё находятся в разработке, но уже привлекают, кажутся интересными. Обратите внимание на то, что официальных программ под Windows для разработки приложений на iPhone не существует (и они вряд ли когда-нибудь появятся).
На данной стадии если вы хотите выложить своё приложение в iPhone AppStore от Apple, то вам придётся компилировать его на официальном ПО для iPhone, которое доступно для Mac OS X, использовать Flash’s iPhone Packager, Airplay SDK, либо отправить кому-нибудь свой код для компилирования. Сейчас же, я знаю, есть одно «хакинтошское» решение, но я не буду о нём рассказывать, не только потому, что оно, возможно, нелегальное, но я видел того, кто попробовал так делать. и это превратилось в долгую мороку — на каждое обновление ОС и SDK уходили часы, когда они могли просто купить Mac Mini меньше чем за $700 и не мучиться.
Говорят, что есть способы разработки приложений для iPhone на Windows. Повторюсь, что никакого издания официального SDK для iOS не существует — и я более чем уверен, что не существует никаких официальных способов, несмотря на все маркетинговые речи, которые произносят некоторые продавцы. Если вы увидите, как какой-нибудь продавец утверждает, что их продукт — это официальный SDK для разработки приложений для iPhone на Windows, мой вам совет: держитесь от него подальше.
Я разделяю указанные здесь способы на те, с помощью которых уже были созданы приложения, доступные в продаже, и те, которые, на мой взгляд, особенно заслуживают внимания.
Данные альтернативы для Windows включают игровые движки, html/javascript решения для создания гибридных приложений, а также обычные программы для создания приложений для iPhone/iPad.
Способы создания приложений для iPhone на Windows
- Flash CS5.5 — является очень хорошим решением совместно с Flash iPhone Packager. Упаковщик для iOS позволяет компилировать приложения на платформе Windows. Если вы уже использовали Флэш, то вы являетесь обладателем новейших стандартов Apple. Он хорошо работает, однако не ждите, что игры с высокими техническими требованиями, а также Papervision на нём запустятся. Наличие компьютера с Mac не требуется. Кто-то спрашивал, возможно ли создание iOS флэш-приложений в среде, отличной от официальной среды Adobe. безусловно, вы можете компилировать приложения с помощью компилятора Flex и упаковывать их до тех пор, пока вы следуете рекомендациям ASME.
- Airplay SDK — Airplay SDK позволяет вам создавать игры и подписывать свои приложения на Windows. Отличное решение как для 2D, так и для 3D игр и приложений, благодаря бесплатному предложению от независимых разработчиков.
Оба этих варианта могут компилировать стандартный код iPhone прямо на вашей Windows. Большое количество приложений, доступных в AppStore, было создано с их помощью. - Unity 3D — игровой движок и редактор, использующий Boo и C# и работающий как на Windows, так и на Mac.
- Stonetrip S3D — игровой движок и редактор, использующий LUA и работающий на Windows.
Эти игровые движки позволяют вам создавать приложения на Windows, однако для их тестирования/компилирования вам потребуется Mac. - Appcelerator Titanium — Хорошее решение, имеющее довольно широкую и живую аудиторию. Приложения не требуют высокой производительности, так как они создаются с использованием html/javascript и могут быть скомпилированы как стандартные приложения и отсылаться в AppStore.
- Genuitec MobiOne — это создатель интерфейса, который использует фреймворк PhoneGap для обеспечения стандартной функциональности. Он работает только на Windows и базируется на HTML/Javascript.
Данные способы позволяют создавать приложения с помощью web-технологий (HTML/CSS/Javascript) и в последствии запускать их через Objective-C фреймворк, который отвечает на действия в UIWebView, тем самым предоставляя вам доступ к стандартной функциональности на iPhone. Эти фреймворки бесплатные. Для стандартного тестирования/компиляции потребуется Mac. - Dragonfire SDK — Интересный способ, позволяющий создавать приложения, использующие их собственные SDK на Windows. Далее вы отправляете им свой исходный код, который они компилируют, и вы скачиваете уже готовый файл iOS приложения. Вы загружаете свой код для компилирования на их сервер (при условии, что у вас стоит версия Ultimate). Я его упомянул, так как мне нравится его синтакс, и он довольно популярен, а также является хорошим упаковщиком с удачным симулятором на Windows.
Существует ещё пара других решений, которые либо ещё тестируются, либо являются платными без каких-либо trial-версий (или даже в некоторых случаях без скриншотов), либо просто ещё не вышли. Многие из них, по-видимому, являются упрощёнными версиями Dragonfly SDK, который позволяет разрабатывать iPhone приложения на Windows путём компилирования вашего исходного кода.. Airplay SDK, возможно, на данный момент является наиболее продвинутым «iOS ПО для Windows», доступным бесплатно.
Разработка приложений для iPhone на Windows уже реальна
Если вы действительно решили создавать приложения для iPhone на Windows и даже не хотите покупать Mac Mini, то советую вам использовать html/javascript программы, такие как PhoneGap/Appcelerator либо Airplay SDK, а затем найти кого-нибудь с Mac и попросить их вам помочь. Airplay SDK является единственным бесплатным решением для Windows для создания высококлассных игр на iPhone/iPad. Вы можете использовать Флэш-разработчик, но на данный момент у него имеются ограничения в качестве. Однако скоро выйдет новая версия.
Обновление: к сожалению, Airplay SDK был переименован в Marmalade SDK и больше не доступен бесплатно независимым разработчикам.
Как сделать приложение для iPhone самому
Без финансовых вложений и специальных знаний.
Вот простейшая инструкция, как создать элементарное iOS-приложение и испытать его на своем устройстве. Отталкиваясь от нее вы сможете дальше углубиться в тему и создавать реально полезные программы.
Примечание для пользователей Windows: чтобы создавать приложения для iOS вам необходимо установить OS X на виртуальной машине (VirtualBox, VMware). Это процесс отнюдь не прост и для его осуществления требуется отдельная инструкция.
1. Идем в App Store и устанавливаем среду разработки XCode:
Если у вас уже стоит XCode, то необходимо обновить его.
2. Запускаем xCode и выбираем пункт меню File -> New -> Project:
3. Выбираем платформу и тип приложения:
4. Указываем информацию о проекте. Обратите внимание, что мы выбрали тип приложения «Universal»:
5. Нажимаем на кнопку New Folder и указываем имя папки, в которой будем хранить файлы приложения:
6. Снимаем галочку с чекбокса Create Git Repository и нажимаем кнопку Create . В результате вы должны попасть на стартовый экран работы над приложением:
7. Нажимаем на пункт Main.storyboard в правом меню, перетаскиваем на основное поле элемент Label и добавляем в него текст Hello_world:
8. Теперь надо сделать иконку для приложения. Подбираем картинку и загружаем ее на mapappicon.com:
9. Ждем когда веб-приложение закончит работу и указываем свой адрес электронной почты для получения архива с иконками:
10. Возвращаемся в XCode и в левом меню выбираем раздел Assets.xassets:
11. Открываем архив из почты и перетаскиваем иконки оттуда на рабочее пространство XCode:
12. Выбираем один из симуляторов устройств, нажимаем на кнопку запуска приложения (черный треугольник) и включаем на своем Mac Developer Mode:
13. Повторяем попытку запуска. Ждем, когда на симуляторе загрузится iOS:
14. Убеждаемся, что приложение работает:
Смотрим готовое приложение на устройстве
Теперь можно посмотреть, как работает приложение на устройстве. Перед выполнением инструкции убедитесь, что у вас свежие версии XCode и iOS.
1. Идем в xCode -> Preferencies -> Accounts и добавляем свой Apple ID:
2. Подсоединяем iOS-устройство к компьютеру:
3. Выбираем нужное устройство в списке и нажимаем на кнопку запуска. Ждем некоторое время.
4. Если вылезло сообщение о проблемах с безопасностью, то на iOS-устройстве идем в Настройки -> Основные -> Управление устройством и разрешаем запуск приложений от разработчика с вашим Apple ID:
5. Идем на рабочий стол и находим иконку нового приложения:
7. Отсоединяем устройство от компа. Теперь приложением можно пользоваться.
Что делать, если хочешь больше?
С помощью метода научного тыка и Google можно расширить вышеприведенную последовательность действий и создать более функциональное приложение. Но использовать его можно будет только на своих устройствах.
Ведь Apple предъявляет очень высокие требования к приложениям. App Store Review Guidelines включает в себя 29 пунктов и более сотни подпунктов. Для того, чтобы приложение им соответствовало и было принято для публикации в магазине, разработчику требуется большой объем технических знаний.
Если хотите создавать качественные приложения для iOS предназначенные для массового использования, надо учиться!
Начать въезжать в тему можно с бесплатных вебинаров о мобильной разработке. Регистрируйся и смотри:
А лучше записаться на бесплатный курс Objective C. Приложение TO-DO List. Он состоит из 16 уроков с домашними заданиями, которые проверяются преподавателем.
Разработка под iOS на Windows без компьютера Mac возможна?
Сложилась непростая ситуация. Вдруг понадобилось написать небольшое приложение под iOS, но не тут-то было. Загрузил Xamarin, установил необходимые компоненты и тут ступор, при открытии Main.storyboard моего проекта пишет мне:
The iOS Designer requires an active connection to the Mac server
Собственно говоря сам скриншот сообщения:
Ну, соответственно если нажать ссылку Connect Mac Server , то в последующих окнах он просит IP-адрес или имя Mac-устройства:
Понятное дело, что приложения под iOS не могут быть созданы без компилятора от Apple. Mac-компьютера у меня нет, поэтому вариант покупки и аренды отпадает.
Как я могу скомпилировать приложение под iOS? Из устройств от Apple имеется iPad и iPhone — это как-то может помочь? Может быть есть какой-нибудь общедоступный Mac Server?
3 ответа 3
Всё получится, нужно установить MacOS на виртуалку (у меня стоит под VM Ware Workstation Pro 12), там нужно установить и настроить XCode. Все тулы кроссплатформ разработки генерят XCode-проект, который уже в XCode нужно открывать, собирать, устанавливать на устройства и т.д.
Только вам еще придется оформить подписку Apple Developer ($100 в год), разобраться с регистрацией устройств и приложений, созданием профайлов и сертификатов на developer.apple.com — желательно чтобы кто-то помогал 🙂 Не стоит заблуждаться, что это придется сделать только в случае, если вы хотите публиковать на AppStore — это не так, без сертификата Apple Developer там чихнуть не сможете
Если $100 и так есть где пропить, тогда надо жестоко ломать всё — устройства и Xcode
Руководство React Native — создаем приложение под iOS. Часть 1.1
Идея создавать мобильные приложения на JS не нова. Мы видели, что фреймворки, такие как Ionic или PhoneGap, справляются с этой задачей и привлекли изрядное количество разработчиков.
Тем не менее ни эти фреймворки, ни идея создавать мобильные приложения на JavaScript никогда не привлекали меня. Я всегда думал, почему бы не изучить Swift/Objective-C или Java и просто делать настоящие приложения? Конечно, это потребует затраты значительных усилий на обучение, но разве непрерывное обучение — это не то, что мы, разработчики, делаем и должны делать хорошо? Быстро изучать новые языки и фреймворки? Тогда в чём смысл? Что касается меня, очевидные преимущества такого подхода никогда не перевешивали сомнения.
Пока я не прочитал статью Chalk + Chisel, в которой обратил внимание на следующее:
Я думал, что React Native — это всего лишь маленький эксперимент. И считал, что настоящее нативное приложение все еще должно писаться на нативных языках. Если бы перемотать время на пару месяцев вперед, я мог бы уверенно сказать, что я никогда больше не буду писать под iOS на Objective-C или Swift.
Что! Вы это… серьёзно?
Чтение такого серьезного утверждения заставило меня дать попытку React Native. Почему нет? Я уже использовал React и он понравился мне. React Native так похож на React, что вы будете чувствовать себя как рыба в воде, если вы уже разрабатываете на React. Если же нет, то к счастью React настолько простой, что может вскружить вам голову.
Какое приложение мы будем создавать?
Я никогда не мог найти нормальное приложение для поиска обоев для моего iPhone в App store.
На десктопе Unsplash — это все что нужно, чтобы удовлетворить все мои потребности. На телефоне же: Настройки → Обои 🙁
Таким образом, в отличие от других руководств, где вы создаёте никому ненужные «Hello World!» счетчики, в этом мы вместе сделаем приложение, которое сможет загружать случайные фото из Unsplash, показывать их в эстетически привлекательном виде и даст возможность сохранять из в Camera Roll (по-видимому аналог «Галереи» в Android, хотя там еще какое-то My Photo Stream есть — прим. переводчика). Это приложение понравилось мне больше, чем я думал. Поэтому, даже если в конце этого руководства, вы не будете впечатлены React Native, у вас останется крутое приложения для поиска и сохранения обоев. Разве это не здорово?
Перед тем, как начнём, перечислю то, с чем вы уже должны быть знакомы на этот момент:
- JavaScript
- Некоторые особенности ES2015, такие как классы, стрелочные функции, деструктуризация и шаблоны-строки($
) (на русском) - Mac OS X командная строка (терминал)
- CSS (неожиданно!)
- React (необязательно)
И еще одно, как я уже говорил, мы будем создавать iOS приложение. Что значит, что вы работаете на Mac. Под Android можно создавать приложения как в Linux, так и в Windows. А под iOS — только в OS X, поэтому подразумевается, что вы работаете в MacOS X.
Ремарка
К концу этого руководства, вы будете достаточно хорошо знакомы с React Native, чтобы писать свои приложения. Мы рассмотрим настройку проекта в Xcode, установку сторонних модулей и компонентов, импортирование библиотек, стилизацию приложения с помощью flexbox, создание настраиваемых обработчиков жестов и другие вещи.
Если вы не использовали React до этого, в этом руководстве мы познакомимся с ним. Это новая крутая библиотека JS с большим потенциалом и, я не думаю, что она перестанет поддерживаться в ближайшее время.
Для вашего удобства руководство разбито на две части. Каждая часть состоит из пяти разделов. В каждом разделе мы двигаемся на один шаг ближе к нашей цели. Я рекомендую вам, если вы начали, заканчивать задание в каждом начатом разделе, поскольку они короткие, чтобы понимать общую концепцию на каждом этапе и не терять концентрации.
Исходный код приложения можно посмотреть на репозитории GitHub.
1. Создание пустого проекта React Native
Убедитесь, что у вас установлен Xcode версии 7.0 или выше. Его можно скачать бесплатно из App Store.
Скорее всего (если вы являетесь веб-разработчиком и читаете это в 2016) у вас уже установлен Node. Если нет, установите его. Другой важный инструмент, который надо установить — это npm (node package manager — менеджер пакетов для Node — прим. переводчика). Node идет с предустановленным npm, вам надо обновить его, поскольку обновления выходят достаточно часто. Следуйте инструкции.
Это все, что нам нужно. Теперь в терминале наберите команду npm install -g react-native-cli . Эта команда установит пакет React Native глобально (ключ (-g). это означает, что из любого проекта, созданного в node вы сможете получить доступ к пакету, установленному глобально. Сами глобальные пакеты устанавливаются в директорию (под windows)… node>node_modules>npm>node_modules — прим. переводчика).
Если всё это кажется вам непонятным или вы не можете выполнить какой-то шаг, вам поможет официальная документация (также моя небольшая заметка по поводу запуска android studio под window7 с процессорами amd — прим. переводчика).
Перейдите в папку, где у вас хранятся проекты через командную строку и наберите в терминале react-native init SplashWalls .
Эта команда загрузит все необходимые модули в новой папке, под названием SplashWalls.
Содержимое папки SplashWalls
Одной из замечательных особенностей React Native является то, что вы пишете приложение под Android и iOS, используя JS, большая часть которого используется в обоих приложениях. В директории есть два файла index.android.js, index.ios.js , названия которых говорят сами за себя. Для разработки под конкретную платформу, вам надо менять соответствующий файл или оба, если вы разрабатываете под обе платформы.
Поскольку мы разрабатываем приложение iOS, мы удалим файл index.android.js и соответствующую папку. Мы будем работать с файлом index.ios.js. Этот файл запускается первым, когда вы запускаете ваше приложение.
Затем перейдите в папку ios и запустите файл SplashWalls.xcodeproj. В Xcode вы увидите следующее всплывающее окно:
Обратите внимание на предупреждение, которое мы видим на скриншоте: «Не найдено совпадающих профилей». Давайте исправим это.
Сначала измените текст в поле Bundle Identifier. Вы должны убедиться в том, что вводимое вами имя соответствует обратной DNS нотификации(зона_домена.название_домена.название_пакета, пример adobe.com > com.adobe.package — прим. переводчика). Это соглашение позволяет различать ваше приложение на App Store. Я буду использовать com.nashvail.me.tutorial.SplashWalls.
Далее выберите ваше имя в списке:
Кликните на Fix Issue.
Пока мы здесь, обратите внимание на пункт Deployment Info. Нам надо кое-что изменить здесь:
Измените настройки следующим образом:
Мы создаём приложение только для портретного вида и прячем статус-бар. Поднимитесь наверх и нажмите кнопку Run в левом верхнем углу Xcode. Это приведет к вызову окна терминала, как показано на скриншоте ниже. Это может занять некоторое время.
По завершении вы должны получить следующий результат в эмуляторе мобильного устройства:
На этом мы закончим с разделом 1 и перейдём к следующему.