Запуск разработки iPhone в Linux?

Я слышал, что вам нужно получить Mac, если вы хотите разрабатывать приложения для iPhone. Это правда?

Можно ли разрабатывать приложения для iPhone с помощью Linux? Если да, что мне нужно и где загрузить необходимые инструменты?

Ответ 1

Чтобы обеспечить отличный ответ, я запускаю OS X и Xcode на виртуализированной машине (VMware) в Linux. CPU - Core2Quad (Q8800), и он работает очень быстро. Я нашел готовую виртуальную машину в Интернете (я оставлю ее вам) Разработка Xcode/iPhone отлично работает, как и отладка через USB на самом телефоне.

Меня это очень удивило, но у меня не было проблем.

Ответ 2

Ответ на это действительно зависит от того, хотите ли вы разрабатывать приложения, которые затем распространяются через магазин iPhone. Если вы этого не сделаете, и не против разработки для "взломанной" толпы iPhone, тогда можно перейти из Linux.

Проверьте эту главу на предмет всеобъемлющего (если немного сложного) руководства о том, что делать:

http://www.saurik.com/id/4

Ответ 3

Кажется, это правда до сих пор. Единственный SDK, доступный от Apple, предназначен только для среды MacOS. Я был расстроен из-за этого, но сейчас я ищу покупку mac, просто для разработки iPhone. Мне очень не нравится то, что они делают, и я надеюсь, что хороший SDK выйдет в других средах, таких как Linux и Windows.

Вот статья об их общей недобросовестности в отношении SDK:

iPhone SDK и бесплатное программное обеспечение: не соответствует

Недавно Apple выпустила комплект для разработки программного обеспечения (SDK) для iPhone, но если вы надеялись перенести или разработать оригинальное программное обеспечение с открытым исходным кодом, новости не будут хорошими. Подписание кода и условия нераскрытия делают бесплатное программное обеспечение без изменений.

Сам SDK - это бесплатная загрузка, с помощью которой вы можете писать программы и запускать их на программном симуляторе. Но для того, чтобы фактически выпустить программное обеспечение, которое вы написали, вы должны зарегистрироваться в Программе разработчиков iPhone - шаг, отличный от загрузки SDK, и тот, который требует одобрения Apple.

Я думаю, что для них достаточно элитарно думать, что только пользователи macos достаточно хороши, чтобы писать программы для своего телефона, и тот факт, что вам нужно купить лицензию в размере 100 долларов, если вы хотите опубликовать свои материалы, действительно затрудняет программист-любитель. Хотя, если это то, что вам нужно сделать, я планирую прыгать через их обручи; Я бы очень хотел, чтобы некоторые вещи были разработаны на моем iPhone.

Ответ 4

Раньше был проект, посвященный решению этого дефекта: iphone-dev

Цель проекта iphone-dev - создать бесплатную, портативную высококачественную инструментальную цепочку, чтобы включить разработку для Apple iPhone и других встроенных устройств на платформе ARM/Darwin.

Ответ 5

Что касается альтернативной цепочки инструментов, сайт Saurik полезен, но для последней разработки прошивки он указывает на создание самого iPhone и не указывает, что вам может понадобиться скопировать необходимые файлы прошивки iPhone в вашу среду Linux. Это не невозможно, а просто требует дополнительной работы, особенно для подписания кода (там есть и открытые альтернативные решения).

Кроме того, взгляните на другие направляющие (для той же цепочки инструментов), которые подходят к нему более методично.

Я бы предложил по-прежнему делать окончательную сборку и подписание кода и упаковку в XCode (что может означать заимствование кого-то Mac) в случае возникновения проблем при отправке приложения в Apple. Использование альтернативной цепочки инструментов открывает (по крайней мере, на Mac) возможность использования других IDE, отличных от XCode, для разработки приложения и снова прибегая к XCode для развертывания и тестирования с помощью симулятора.

Конечно, если вы получите подписание кода/создание сертификата из командной строки за пределами XCode, вы можете установить сертификат на свой реальный iPhone и протестировать его (установить приложение через iTunes с сертификатом).

Ответ 6

Единственное, что я знаю о разработке в Linux для iPhone, - это установить Vmware и работать над тем, чтобы OS X работал на виртуальной машине. С учетом сказанного есть некоторые "юридические" проблемы при этом. Сообщается, что OS X Server может быть виртуализирован, но в том, что касается истории развития, о которой я не знаю.

Если вы действительно серьезно, это то, что я буду исследовать.

Удачи.

Ответ 7

Возможно, вы сможете написать код на ящике Linux, который в конечном итоге окажется на iPhone или iPad, но в конечном итоге вам понадобится Mac для тестирования или развертывания кода на iPhone или для его отправки в магазин приложений. Таким образом, в конечном счете вам нужен Mac, так что вы также можете сделать работу на Mac тоже со всеми инструментами, которые Apple предоставляет. Существуют альтернативы Xcode и Objective-C, такие как Monotouch, но они также используют инструменты Apple.

Вы можете с некоторой работой запустить OS X в VM на Linux. Однако я должен отметить, что это нарушит лицензионное соглашение OSX, даже если вы купите копию OSX - поскольку она лицензируется только для использования на оборудовании Apple.

Извините, что сообщила вам эту новость - экосистема вокруг iPhone/iPad очень жестко контролируется.

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

Ответ 8

Вы можете использовать Tersus (с открытым исходным кодом), и он позволяет экспортировать приложение в виде проекта Xcode.

Ответ 9

Здесь есть фреймворк Rhodes.

Концепция основана на Ruby on Rails, и вы разрабатываете свое мобильное приложение в Ruby и HTML, и можете писать свой код в среде Linux. Затем вы можете создать учетную запись в Rhohub, где вы добавляете код (через GitHub), и он позволяет вам скомпилировать его для iPhone, Blackberry, Android, Windows Mobile и Symbian, все с тем же кодом. Вам не нужно вводить код в Objective-C для iPhone, а также для Java для Android и т.д. Он делает конверсии для вас. Все, что вам нужно сделать, это придерживаться Правил создания приложения iPhone (или телефона, который вы хотите разработать), чтобы его можно было принять на iTunes (или на эквивалентном рынке).

Это позволит вам добавить приложение в iTunes.

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

Я использую этот параметр, так как хочу создавать приложения для всех телефонов, и я уже использую Ruby on Rails. Если вы просто хотите сделать приложение для iPhone, тогда инвестируйте в Mac.

Надеюсь, что это поможет.

Ответ 10

Я добился успеха в создании приложений iOS на Linux с помощью iOS clang toolchain от cjacker. В основном он состоит из инструментов clang и llvm вверх по потоку из вашего linux-дистрибутива, порта linux apple linker и некоторых дополнительных инструментов, которые упрощают процесс сборки (например, конвертирование проектов xcode в формат Makefile).

Для установки требуется несколько шагов, но вы разработчик программного обеспечения, поэтому к этому привыкнете. Я опубликовал обновленную версию для Debian 7 (Wheezy) онлайн:

http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7

В противном случае вы захотите перейти к общим инструкциям, которые немного старше:

http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en

Удачи.

Ответ 11

Вы правы, не связанные с джейлбрейками телефоны ограничены магазином Apple App, и Apple "имеет право", чтобы обеспечить соблюдение любого правила, это абсолютно несвободная территория. Тем не менее, при разработке, не придется вообще иметь дело с Apple. Вы можете использовать, например. rsync, чтобы загрузить код на устройство и протестировать его.

Ответ 12

Я попытался подключить cocos2d-iphone к GNUstep, чтобы вы могли разрабатывать игру на основе cocos2d. Однако для публикации вам нужен Mac. cocos2d-GNUstep.

Ответ 13

Вам нужно получить mac для этого. Существует несколько доступных цепей инструментов (например, цепочка выигрышей), что позволяет писать и создавать приложения я Phone в окнах. Для создания кода Objective C в Windows существует несколько связанных учебников. Но есть проблема, разработанные приложения будут работать только на Jail broken я Phones.

Мы видели несколько хаков, чтобы преодолеть это и сделать это в App Store, но по мере того, как Apple продолжает обновлять SDK, цепочки инструментов нуждаются в регулярных обновлениях. Его хлопот, чтобы все это время. Если вы хотите получить готовое приложение, вы также можете получить помощь от arcapps по запуску приложений по разумной цене. разработка приложения iphone

Ответ 14

В определенной степени, да, это возможно. Вы можете ввести код Objective-C и настроить свои проекты. Вы даже можете проверить части кода C и С++ вашего кода с помощью gcc.

Что вы не можете сделать:

  • Используйте Interface Builder для настройки вашего интерфейса, так как он только для Mac. (Не требуется, но рекомендуется.)
  • Скомпилировать код, который использует классы Apple Cocoa - их не существует в Linux.
  • Тестовый код в симуляторе - для Linux нет ни одного.
  • Компилировать код для реальных устройств или для App Store - для этого требуются инструменты, которые Apple предоставляет только для OS X.

Ответ 15

Я бы порекомендовал получать mac, потому что симулятор ios поражает для тестирования на ранних этапах приложения. Но я знаю небольшую компанию, с которой мы работаем, которая развивается с использованием Unity, поэтому им не нужна загрузка mac. Таким образом им нужен только один mac для офиса, и это просто для компиляции окончательной сборки. Это также означает, что он работает на Android, но это действительно зависит от того, что ваше здание, потому что это игровой движок. Возможно, вы захотите изучить веб-приложения с помощью таких фреймворков, как Sencha Touch Mobile.

Единство: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/

Ответ 16

Если вы цените свое время, купите Mac! Я не знаю достаточно о вариантах разработки Linux, чтобы предложить жизнеспособное решение, но, похоже, предлагаемые методы связаны с довольно крутой работой. Если вы планируете серьезно писать и продавать приложения для iPhone, я думаю, вы можете легко окупить стоимость Mac Mini или Macbook.: -)

Ответ 17

Вы никогда не получите одобренное Apple приложение, если оно не разработано с использованием Xcode. Никогда. И если вы взломаете SDK для разработки на Linux и Apple узнает, не удивляйтесь, когда вас обслуживают. Я являюсь членом ADC и программы разработчиков iPhone. Доверие, Apple ОЧЕНЬ серьезно относится к этому.

Не рискуйте, купите Macbook или Mac mini (да мини-может запускать Xcode - хотя и медленно - увеличить RAM, если вы идете с мини). Кроме того, хотя я видел, как OS X взломан для работы на VMware, я никогда не видел, чтобы кто-то запускал Xcode на виртуальной машине. Удачи. И я проверил бы EULA, прежде чем вы столкнулись с проблемой.

PS: После прочтения выше, да, я согласен. Если вы делаете взлом SDK и разрабатываете Linux, по крайней мере, делаете финальную упаковку на Mac. И отправьте его через Mac. Apple не проходит через код по строкам, поэтому я сомневаюсь, что они поймут это. Но человек, это много, если и работает. Будьте же забавны.:)