Как я могу разработать для iPhone с помощью машины разработки Windows?
======================================================================

Есть ли способ поработать с iPhone SDK на Windows-машине? Существуют ли планы для iPhone SDK для Windows?

Единственный способ, которым я могу это сделать, - запустить образ Mac VM на сервере  **VMWare**, работающем в Windows, хотя я не слишком уверен, насколько это законно.

 

 Конечно, его можно разрабатывать на компьютере с Windows, фактически мое первое приложение было разработано исключительно на старой Dell Precision, которая была у меня в то время :)

  Есть три маршрута;

 1. Установите [OSx86](https://en.wikipedia.org/wiki/OSx86) (он же iATKOS/Kalyway) на второй раздел/диск и двойную загрузку.
2. Запустите Mac OS X Server под VMWare (Mac OS X 10.7 (Lion) и более поздние версии, прочитайте обновление ниже).
3. Используйте Delphi XE4 и сервис macincloud. Это коммерческий набор инструментов, но поддержка компонентов и библиотек растет.

 Первый маршрут требует изменения (или использования предварительно измененного) образа Leopard, который можно установить на обычный ПК. Это не так сложно, как вы думаете, хотя ваше соотношение успеха и усилий будет зависеть от того, насколько аппаратное обеспечение вашего ПК совпадает с аппаратным для Mac - например, если вы используете Core 2 Duo на материнской плате Intel с NVidia видеокарта ты смеешься. Если вы работаете на машине AMD или чем-то другом без SSE3, это становится немного сложнее.

  Если вы приобрели (или уже приобрели) версию Leopard, то это серая зона, поскольку в лицензионном соглашении Leopard указано, что вы можете запускать ее только на компьютере с маркировкой Apple. Многие отмечают, что если вы наклеите наклейку Apple на свой компьютер, вы, вероятно, прикрыты.

 (function(w, d, n, s, t) {
 w[n] = w[n] || [];
 w[n].push(function() {
 Ya.Context.AdvManager.render({
 blockId: "R-A-248011-3",
 renderTo: "yandex\_rtb\_R-A-248011-3",
 async: true
 });
 });
 t = d.getElementsByTagName("script")[0];
 s = d.createElement("script");
 s.src = "//an.yandex.ru/system/context.js";
 s.async = true;
 t.parentNode.insertBefore(s, t);
 })(this, this.document, "yandexContextAsyncCallbacks");

 Второй вариант более дорогой. Лицензионное соглашение для версии Leopard для рабочих станций предотвращает его запуск под эмуляцией, и, как следствие, в VMWare для этого нет поддержки. Сервер Leopard, однако, МОЖЕТ работать под эмуляцией и может использоваться для настольных компьютеров. Однако сервер Leopard и VMWare стоят дорого.

  Если вам интересен вариант 1) Я бы предложил начать с [Insanelymac](http://www.insanelymac.com/forum) и прочитать разделы OSx86.

  Я думаю, вы должны подумать о том, будет ли время, которое вы инвестируете, стоить тех денег, которые вы сэкономите. Это было для меня, потому что мне нравится возиться с подобными вещами, и я начал во время ранних бета-версий для iPhone, за несколько месяцев до того, как их App Store стал доступен.

  В качестве альтернативы, вы можете купить Mac Mini с низкой спецификацией от eBay. Вам не нужно много лошадиных сил, чтобы запустить SDK, и вы всегда можете продать его позже, если решите прекратить разработку или купить лучший Mac.

  Обновление: невозможно создать виртуальную машину клиента Mac OS X для OS X 10.6 и более ранних версий. Apple не разрешает виртуализацию этих клиентских ОС. Начиная с Mac OS X 10.7 (Lion), Apple изменила свое лицензионное соглашение в отношении виртуализации. Источник: [База знаний VMWare](https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2005793)

 

 [Xamarin](https://xamarin.com) теперь мой главный голос. Приобретенный Microsoft и встроенный непосредственно в Visual Studio, теперь с возможностью использования С# и всеми добавляемыми обновлениями и функциями, вы можете делать все в Windows, даже компилировать, создавать и инициировать развертывание. Вам нужен только Mac Mini в качестве сервера развертывания, но вам никогда не нужно писать на нем какой-либо код.

  Для игр [Unity 3D](https://www.unity3d.com) - мой лучший выбор. Редактор бесплатно до 100K годовой доход (идеально подходит для инди). Unity 5+ также полностью разблокирован, даже бесплатная версия. Unity поддерживает iOS, Android и большинство других платформ. Для iOS и MAC просто получите самый дешевый MAC Mini, который вы можете найти для сборки, но все разработки могут быть выполнены в Windows.

  Другие опции:

 (function(w, d, n, s, t) {
 w[n] = w[n] || [];
 w[n].push(function() {
 Ya.Context.AdvManager.render({
 blockId: "R-A-248011-4",
 renderTo: "yandex\_rtb\_R-A-248011-4",
 async: true
 });
 });
 t = d.getElementsByTagName("script")[0];
 s = d.createElement("script");
 s.src = "//an.yandex.ru/system/context.js";
 s.async = true;
 t.parentNode.insertBefore(s, t);
 })(this, this.document, "yandexContextAsyncCallbacks");

 [PhoneGap](http://www.phonegap.com) также работает, но я обнаружил, что он не так хорош для игр, но вполне приличен для обычных приложений с графическим интерфейсом. Опять же, вам понадобится Mac, чтобы подписать и протестировать ваше приложение и соблюдать условия использования Apple.

  [Flutter](https://flutter.io) - это бесплатная кроссплатформенная среда разработки мобильных приложений от Google.

 

Если у вас есть взломанный iPhone, вы можете установить [iphone-gcc toolchain](https://code.google.com/p/iphone-gcc/) на iPhone через Cydia, и таким образом вы можете просто скомпилировать приложений на iPhone. Приложения, разработанные таким образом, могут быть отправлены в App Store.

И хотя г-н Вальдес сказал, что это серая область (какая она есть), джейлбрейк невероятно прост и в значительной степени без риска. Да, это освобождает ваши деньги, но вы можете просто сделать восстановление, и они никогда не узнают.

 

 Большинство "так называемых решений Windows для разработки под iOS без Mac" в конце требуют, чтобы Mac просто подписал их и отправил в магазин приложений. Я проверил несколько, но не все (у кого есть время?)

  В конце концов, это слишком большая проблема, чтобы выучить "их супер особый простой способ программирования iOS без Objective-C", у них много ошибок. На самом деле цель, которую они ставят, на мой взгляд, недостижима.

  Также много времени они заставляют вас использовать эквивалентные операторы Objective-C просто на другом языке. Они выглядят одинаково, но всегда есть тонкие различия, которые вы должны изучить поверх obj-c. Что также имеет еще меньший смысл, потому что теперь вместо того, чтобы учиться меньше, вы должны учиться больше. Так где же выгода? Также они стоят дорого, потому что их очень сложно развивать.

  У многих нет отладочных способностей.

  По моему честному мнению, если вы заядлый разработчик iOS, то наверняка купите лучший Mac и изучите цель-c. Это дорого и требует времени, но если это твой путь, оно того стоит.

  Для случайного использования проще арендовать удаленный сервис Mac, такой как [XCodeClub.com](http://www.xcodeclub.com)

 

SDK доступен только в OS X, заставляя вас использовать mac. Если вы не хотите приобретать Mac, вы можете либо запустить OS X на виртуальной машине в окне Windows, либо вы можете установить OS X на свой компьютер.

По моему опыту, решение для виртуальной машины является необычно медленным (на ноутбуке Core2 Duo с 2G-пейджером). Если вам кажется, что пытайтесь найти торрент. Это, вероятно, не стоит.

Другой вариант - установить OS X на ваш компьютер, обычно называемый хакинтошем. Hackintoshes работают достаточно хорошо - мой друг просто продал свой Mac, потому что его базовый hackintosh на базе ядра Dell был намного быстрее, чем аппаратное обеспечение Apple (и стоило около 1/3). Вы можете найти множество статей о том, как это сделать; здесь один о том, как установить на ноутбук Dell Inspirion 1525: [hackbook pro tutorial](http://www.espressoreport.com/83/dell-inspiron-1525-hackbook-pro-tutorial/)

Конечно, оба этих варианта, скорее всего, противоречат какой-либо схеме лицензирования, поэтому действуйте на свой страх и риск.

 

Вы можете использовать [WinChain](https://code.google.com/p/winchain/wiki/HowToUse)

Цитирование страницы проекта:

>  Это самый простой способ создать привязку iPhone на компьютере под управлением Windows XP/Vista, который, в свою очередь, может взять исходный код Objective-C, который вы пишете, используя их заголовки UIKit (в комплекте с winChain) и скомпилировать их в приложение, которое вы можете использовать на своем iPhone.
> 
> 
> 

 

Мигель де Икаса из Mono опубликовал [использование и компиляцию Mono (Linux-порт .NET Framework) на iPhone](http://tirania.org/blog/archive/2008/Mar-10.html).

 

Вам не нужно владеть Mac, и вам не нужно изучать Objective-C. Вы можете развиваться в разных средах и позже компилироваться в Objective-C.

 [разработка для iphone и ipad путем запуска osx 10.6 (снежный барс)](http://www.kintek.com.au/web-design-blog/developing-for-the-iphone-and-ipad-by-runing-os-x-10-6-snow-leopard-on-a-pc/)

В этой статье, написанной одним из наших разработчиков, вы можете довольно подробно ознакомиться с установкой OS X Snow Leopard на Windows с помощью iBoot, затем установить Vmware (с инструкциями), а затем настроить среду вашего iPhone dev... и несколько дополнительных сочных вещи. Супер полезно для меня.

Надеюсь, что это поможет. Он использует Phonegap, чтобы вы могли сразу развиваться на нескольких платформах смартфонов.

 

Вы можете использовать [Tersus](http://www.tersus.com/#Id=3215) (бесплатный, с открытым исходным кодом).

 

Devkit, позволяющий разрабатывать приложения для iPhone в `Objective-C, C++` или просто C с Visual Studio:

Посмотрите на [iOS build env](http://www.pmbaty.com/iosbuildenv/)

Вы можете создавать приложения для iPhone непосредственно в Visual Studio (2008, 2010, Express).

Довольно аккуратный, он даже создает `IPA` файлы для вашего приложения после успешной компиляции. Код работает так же, как и на джейлбрейк-устройствах, для остальной части планеты я считаю, что окончательная компиляция и подача в App Store должны выполняться на Mac. Но тем не менее, это позволяет вам разрабатывать с использованием известной IDE.

 

Конечно, вы можете написать код Objective-C в блокноте или других программах, а затем переместить его на Mac для компиляции.

Но серьезно, зависит от того, разрабатываете ли вы официальные приложения для добавления в App Store или для разработки приложений для iPhone с взломанным iPhone. Для написания официальных приложений Apple iPhone SDK, который требует Intel Mac, кажется единственным практическим способом. Тем не менее, существует неофициальная инструментальная цепочка для написания приложений для jailbroken iPhones. Вы можете запустить его в Linux и Windows (используя Cygwin).

 

 Вскоре вы сможете использовать `Adobe Flash CS 5` для создания приложений для `iPhone` в `Windows`:

  [Флэш 5](http://labs.adobe.com/technologies/flashcs5)

  [flashcs5 приложения для iphone](http://labs.adobe.com/technologies/flashcs5/appsfor_iphone)

 

Попробуйте [macincloud.com](http://www.macincloud.com) Он позволяет арендовать Mac и получать доступ к нему через дистанционное управление RDP. Затем вы можете использовать свой ПК для доступа к Mac, а затем для разработки приложений.

 

Ура! Теперь вы можете легко выполнить это с помощью новейшего Xamarin.iOS, используя сетевой интерфейс, обеспечивающий возможности сборки и развертывания.

Подробнее см. здесь:

 [введение в xamarin ios для визуальной студии](https://docs.xamarin.com/guides/ios/getting_started/introduction_to_xamarin_ios_for_visual_studio)

 

Если вы хотите, чтобы это было законным, у вас есть два варианта: решения для Mac на основе облачных вычислений или кросс-платформенные средства разработки.
Вы можете рассмотреть подход hackintosh или виртуальные машины, если вам не нужны юридические материалы. Если у вас есть достойный компьютер, запуск виртуальной машины будет самым простым способом. Вы никогда не узнаете, какое аппаратное обеспечение будет иметь проблемы с драйверами на хакинтоше.

Я пробовал все эти подходы, и у всех их есть плюсы и минусы, но для второй группы я чувствую себя виноватой. Я разрабатываю приложения, чтобы зарабатывать на жизнь, и я бы не хотел разорвать кого-то другого для этого.

Если вы создаете небольшой проект, Mac на основе облаков может оказаться полезным. Возьмите его в аренду на короткий срок, разработайте свой проект и отпустите его. Не утруждайте себя чтением нового.

Однако, если ваш проект становится большим, кросс-платформенные среды кажутся единственной альтернативой. Критически важно то, что вам нужно мудро выбирать. Существует так много гибридных фреймворков, но то, что они делают, можно суммировать в одном предложении как "дублирование веб-страниц в оболочке приложения", а негативный опыт разработчиков с гибридными фреймворками также влияет на собственные фреймворки.

Я попробовал три из них (Titanium, Smartface и Xamarin), и все они утверждают, что производят "настоящий родной выход", и, на мой взгляд, их претензии верны. Вам нужно протестировать и посмотреть на него, нелегко описать родное чувство. В предыдущем комментарии было указано, что для изучения этих плат требуется некоторое усилие, но как только вы их узнаете, вы можете разрабатывать не только приложения iOS, но и приложения для Android, все с общей базой кода. И, конечно же, они намного дешевле облачного Mac. Некоторые из них даже бесплатны. Вам понадобится Mac только для отправки в хранилище.

 

Отметьте эту ссылку [Dragon Fire sdk](http://www.dragonfiresdk.com/index.htm)

 

Если вы хотите создавать приложения для iPhone, но не Mac, попробуйте <http://www.pmbaty.com/iosbuildenv/>

Это позволяет вам легко разрабатывать собственные приложения для iOS, например, с XCode, для развертывания на любом iPhone, iPod или iPad (взломанные или нет).

Используйте свою любимую IDE для кода в Objective-C, С++, C или ARM, например, в XCode. ARC и блоки поддерживаются.

Скомпилируйте приложения для iPhone прямо в Visual Studio

Он работает на Windows всех версий (XP, 7, 8), FreeBSD и Linux

Теперь с поддержкой iOS8.

 

 Проверьте это:

  [Над взглядом](http://www.xmlvm.org/overview)

  Это проект, в котором делается попытка кросс-компиляции программ, написанных на множестве исходных языков, для разных целевых языков. Одним из первых тестовых примеров было написание программ на Java и запуск их на iPhone. Смотреть видео на сайте стоит.

  С учетом сказанного, я не пробовал. Проект выглядит довольно бета, и на их сайте SourceForge не так много активности.

 

Oracle [VirtualBox](https://en.wikipedia.org/wiki/VirtualBox) позволяет пользователям устанавливать Mac OS X на виртуальную машину. Если вам это нравится, вы можете просто использовать этот способ для использования Xcode. Это законно, если вы "дважды загружаете" свой Mac в окна, а затем устанавливаете VirtualBox в windows (или linux).

 

Интересно, что никто не упомянул кросс-платформенный [wxWidgets](http://docs.wxwidgets.org/2.9.4/page_cppconst.html) вариант.

Это [менее оптимальное](https://forums.wxwidgets.org/viewtopic.php?f=1&t=32851) решение.

ИМХО, бизнес-мудрый способ пойти, это инвестировать деньги в одобренную Apple инфраструктуру. Таким образом, если вы столкнулись с какой-то ошеломляющей проблемой, у вас есть гораздо более широкое сообщество разработчиков, с которым можно было бы проконсультироваться.

 

ВЫ МОЖЕТЕ РАЗРАБОТАТЬ IPHONE APPS НА WINDOWS PC. Я сделал это, со сложными приложениями. И он отлично работает. Вы можете разрабатывать приложения для iphone, даже не видя mac или iphone.

Вы можете создавать на окнах HTML (или лучше: HTML5) приложение, используя такие инструменты, как Sencha или JQTouch, или mobi1. (Они все время были свободными на некоторое время)

Затем вы используете openSSL для подписания приложения. А сервис Adobe PhoneGAP Build для создания приложения IPhone.

Но вам нужна лицензия разработчика iphone для установки на iphone. Но в любой момент вам не нужен Mac или iphone для компиляции, сборки или тестирования - все, что делается на ПК.

Я сделал это, и он отлично работает. (Но с реагированием на тип Android - не так быстро, как родное приложение IPhone)

Вы также можете использовать программу из вавилонской эпохи (около 300 г. до н.э.), на которой действуют C и С++, называемые стрекозой. Если ваше приложение имеет один или два экрана с ограниченной интерактивностью и многие вычисления, пойдите для этого. Он включает в себя эмулятор. Вы скомпилируете iphone при нажатии кнопки. (Не уверен, но я думаю, что вам нужна лицензия разработчиков в любом случае)

И тогда есть Хамарин. Вы разрабатываете в С# специальные вызовы на собственный код. Вам нужно будет изучить окружающую среду.

 

Вы можете использовать  **Intel XDK**, чтобы вы могли разрабатывать и публиковать приложение для iOS без mac.

 [Нажмите здесь](https://software.intel.com/en-us/intel-xdk) для подробностей.

 

Две другие опции

* OpenPlus ELIPS Studio - пишите в Flex, компилируйте на Xcode (требуется Mac или VM) - они только начали взимать плату за свой продукт.

Я думаю, что могут быть варианты "toolchain" для этих и некоторых из упомянутых выше, которые позволяют компилировать в двоичные файлы в Windows, и я видел, что вы можете загрузить zip файл и выполнить компиляцию стиля toolchain для вы в Интернете, но это противоречит лицензированию Apple.

Если я не ошибаюсь, продукт, такой как Titanium, который выводит/работает с Xcode и не использует какие-либо сторонние/альтернативные/ограниченные библиотеки, должен быть в соответствии, поскольку вы в конечном счете компилируете код xcode - normal Objective-C и библиотеки.

 

Как было указано, вы можете попытаться использовать WinChain, но если вы новичок-кодер, это будет нелегко.

iPhone SDK будет работать на Hackintoshes (обычный ПК с установленной ОС X). Я знаю, что у меня есть один, и он делает.

Итак, после покупки лицензии OSX вы можете попробовать установить ее на свой компьютер на другом диске с помощью Boot-132 или одного из других инсталляторов, таких как iDeneb. Вопрос, который вам нужно будет сделать много, и все еще не будет работать правильно.

 

Вы можете использовать Sentenza для создания приложений для iPhone в Windows.
Протестировано с успехом.
Это не решение, а хорошая альтернатива!

 

 С помощью **Xamarin** теперь мы можем разрабатывать приложения для iPhone на самой машине Windows с помощью **Xamarin Live Player**.

  С помощью этого **цикла разработки/развертывания/отладки** Xamarin live player теперь можно обойтись без системы Apple.

  Но для **подписи и выпуска приложения Apple необходима система**.

  Найти ссылку [здесь](https://arstechnica.com/information-technology/2017/05/xamarin-live-player-almost-takes-the-mac-out-of-ios-development)

  Я проверил ссылку ничего хитроумного

 

Да и вам не нужно изучать Objective-C и покупать программное обеспечение Apple и аппаратное обеспечение.

Adobe имеет [созданный компилятор](https://www.adobe.com/devnet/logged_in/abansod_iphone.html) из ActionScript 3 в программу для iOS. А позже Apple [approved](http://www.appleinsider.com/print/10/11/02/skyfire_ios_browser_approved_by_apple_converts_flash_video_to_html5.html) этот способ создания приложения.

Это лучший способ создать приложения Apple под Windows или Linux/BSD (и еще один для MacOS-X)

 

 [drim.co.il](http://www.drim.co.il) обеспечивает решение для удаленного развертывания на Mac с помощью ПК с любой ОС. На клиентском ПК не требуется установка.

 

Вы можете установить OSX на ПК, но опыт не будет большим, и ему нужно много работы. Альтернативой является использование рамки /SDK [Codename one](http://codenameone.com): на основе JAVA и может использоваться для кодирования в WP8, Android, iOS в Windows ( eclipse) со всеми расширенными функциями

Обзор функций:

* Полная среда Android с супер быстрым симулятором Android.
* Симулятор iPhone/iPad с легким переносом приложений iPhone на iPad с большим экраном в считанные минуты.
* Полная поддержка стандартной отладки Java, профилирование приложений на любой платформе.
* Легкая тема/стиль - всего лишь один клик.

Подробнее в [Разработать Android, iOS iPhone, приложения WP8 с помощью Java](http://geeknizer.com/develop-android-ios-wp8-apps-using-java/)
Отказ от ответственности: Это мой обзор для продукта

 

 Если у вас есть ssh-доступ к Mac, то вы можете использовать VNC (например, Vine VNC, который допускает многократное использование одновременно - тонкий тонкий клиент) для управления XCode.

  Это может быть полезно, если вы хотите получить доступ к Mac Mini с ноутбука, или ваш SO перегружает ваш MacBook.