Я слышал, что вам нужен Mac, если вы хотите разрабатывать приложения для iPhone. Это правда?
Можно ли разрабатывать приложения для iPhone с помощью Linux? Если да, то что мне нужно и где мне скачать необходимые инструменты?
может кто-нибудь отредактировать этот s / Linux / unix для обобщения?
@GoodPerson Тогда вы стираете грань между OS X и другими операционными системами, о чем и идет речь.
одна из самых важных частей информации, которую я когда-либо находил. абсолютно в теме, я бы сказал ...
Отличный Учебник Энди Смита, 2017 г.
Но если вы хотите использовать его каждый день, а не только для развертывания приложения IOS, я бы посоветовал вам взглянуть на Hackintosh и тому подобное.
Для простого развертывания вы всегда можете просто арендовать Mac и удаленно запустить Fastlane для сборки и развертывания вашего приложения.





Пока это кажется правдой. Единственный SDK, доступный от Apple, предназначен только для среды macOS. Я был расстроен из-за этого, но сейчас я собираюсь купить Mac, просто чтобы заняться разработкой для iPhone. Мне действительно не нравится то, что они делают, и я надеюсь, что выйдет хороший SDK для других сред, таких как Linux и Windows.
Препятствия относительно SDK:
The iPhone SDK and free software: not a match
Apple's recently released a software development kit (SDK) for the iPhone, but if you were hoping to port or develop original open source software with it, the news isn't good. Code signing and nondisclosure conditions make free software a no-go.
The SDK itself is a free download, with which you can write programs and run them on a software simulator. But in order to actually release software you've written, you must enroll in the iPhone Developer Program -- a step separate from downloading the SDK, and one that requires Apple's approval.
Я думаю, что для них довольно элитарно думать, что только пользователи macOS достаточно хороши для написания программ для своего телефона, и тот факт, что вам нужно купить лицензию за 100 долларов, если вы хотите публиковать свои материалы, действительно усложняет задачу программисту-любителю. Хотя, если это то, что вам нужно, я планирую прыгнуть через их обручи; Я действительно хотел бы разработать что-нибудь на моем iPhone.
Как уже было сказано ранее, я не думаю, что здесь виноват элитарность. XCode и все остальные инструменты разработки (за исключением низкоуровневых элементов, таких как GCC), как и все фреймворки iPhone, написаны на Cocoa. Им нужно сначала перенести все это на другие ОС. Это непростая задача.
И даже если это элитарность, ну и что? Нужно ли мне перечислять другие проприетарные системы? Это обычная практика, когда линейка продуктов выпускается впервые.
Сообщите мне, когда Microsoft выпустит Visual Studio для Linux и Mac ...
Сообщите мне, когда Microsoft выпустит Visual Studio, Access, Frontpage, XNA, DirectX, Office (со всеми функциями), Movie Maker, Visio, IIS или Exchange для Mac / Linux.
Сообщите мне, когда Microsoft нарушит лицензионное соглашение для запуска Visual Studio, Access, Frontpage, XNA, DirectX, Office, Movie Maker, Visio, IIS или Exchange в (Dar) Wine.
@StephenDarlington сообщает вам. Visual Studio уже выпущена для Linux и Mac.
@MarceloMason Вроде. Это Visual Studio Код, а не полная IDE.
@StephenDarlington сообщает, что VS для Mac уже существует.
@ mr5 - это маркетинговый ход (ребрендинг Xamarin Studio), это не та же Visual Studio, доступная для Windows.
Единственный известный мне способ разработки под Linux для iPhone - это установить Vmware и работать над запуском OS X на виртуальной машине. Вместе с тем, это вызывает некоторые «юридические» опасения. Сообщается, что OS X Server можно виртуализировать, но что касается истории разработки, я не знаю.
Если вы действительно серьезно настроены, я займусь этим.
Удачи.
Я пробовал вариант VMWare, и, по крайней мере, на моем оборудовании (T5200 Core2, 2M RAM) он необычно медленный. У моего друга был похожий опыт.
Я тоже. Медленно, медленно, медленно. Вы даже не хотите пытаться.
@Parand Конечно, он будет медленным на 2M RAM, я удивлен, что он даже загружается!
Возможно, вы захотите попробовать VirtualBox вместо vmware. На мой взгляд, VMWare слишком раздута.
Ответ на этот вопрос действительно зависит от того, хотите ли вы разрабатывать приложения, которые затем распространяются через магазин iPhone. Если вы этого не сделаете и не возражаете против разработки для «взломанных» iPhone - тогда возможно развитие из Linux.
Посетите страницу этого главы, чтобы получить исчерпывающее (хотя и немного сложное) руководство о том, что делать:
Что касается альтернативной цепочки инструментов, сайт Саурика полезен, но для последней разработки прошивки он указывает, что строится на самом iPhone, и не указывает, что вам может потребоваться скопировать необходимые файлы прошивки iPhone в вашу среду Linux. Это не невозможно, но просто требует дополнительной работы, особенно для подписания кода (есть также открытые альтернативные решения).
Также обратите внимание на другие руководства (для той же цепочки инструментов), которые подходят к этому более методично.
Я бы посоветовал по-прежнему делать окончательную сборку, подписывать и упаковывать код в XCode (что может означать заимствование у кого-то Mac) на случай, если у вас возникнут проблемы при отправке приложения в Apple. Использование альтернативной цепочки инструментов открывает (по крайней мере, на Mac) возможность использовать другие IDE, отличные от XCode, для разработки приложения и снова прибегать к XCode для развертывания и тестирования с помощью симулятора.
Конечно, если у вас есть подпись кода / генерация сертификата, работающая из командной строки вне XCode, вы можете установить сертификат на свой настоящий iPhone и протестировать его (установка приложения через iTunes с вашим сертификатом).
Вы никогда не получите одобрения своего приложения в Apple, если оно не разработано с использованием Xcode. Никогда. И если вы взломаете SDK для разработки на Linux, и Apple узнает об этом, не удивляйтесь, когда вас обслужат. Я являюсь участником программы разработчиков ADC и iPhone. Поверьте, Apple ОЧЕНЬ серьезно относится к этому.
Не рискуйте, купите Macbook или Mac mini (да, mini может запускать Xcode - хотя и медленно - увеличивать оперативную память, если вы используете mini). Кроме того, хотя я видел OS X, взломанную для работы на VMware, я никогда не видел, чтобы кто-нибудь запускал Xcode на виртуальной машине. Удачи. И я бы проверил лицензионное соглашение, прежде чем вы столкнетесь с проблемой.
PS: После прочтения вышесказанного, да, я согласен. Если вы взломаете SDK и начнете разработку для Linux, по крайней мере, сделайте окончательную упаковку на Mac. И отправьте его через Mac. Apple не просматривает код построчно, поэтому я сомневаюсь, что они это поймут. Но, черт возьми, это много «если» и работы. Хотя делать это весело. :)
Новые мини подходят для этой задачи. Я думаю, что они стоят около 600 долларов, и вы можете использовать практически любую мышь, клавиатуру и монитор. Обязательно откалибруйте монитор! XCode, кажется, неплохо работает на моем нерасширенном мини.
Xcode отлично работает на виртуальной машине Mac OS X.
Apple постоянно утверждает приложения Air SDK, никакого взаимодействия с XCode. Вы можете сделать всю сборку на linux / windows.
Чтобы получить другой ответ, я запускаю OS X и Xcode на виртуализированном (VMware) компьютере в Linux. Процессор - Core2Quad (Q8800), и он очень быстрый. Я нашел готовую виртуальную машину в Интернете (оставлю ее вам) Разработка Xcode / iPhone работает отлично, как и отладка через USB на самом телефоне.
На самом деле это меня очень удивило, но у меня не было никаких проблем.
Итак, используя свой подход, можете ли вы подписать и распространить его в iTunes?
Ага - без проблем. Вы используете XCode, подпись работает нормально, теперь у меня есть производственное приложение в магазине, отправленное с виртуальной машины. Я не буду называть его по понятным причинам.
У меня настроена виртуальная машина VirtualBox, которая делает все, кроме USB-соединения. Надеюсь, мне не придется переключать его на VMware.
лучше купить mac .... так как у меня проблемы с производительностью для версии Xcode uuper .... когда я запускаю Xcode 4.6 ... это замедляет мою машину
@Chaos: Не могли бы вы разместить ссылки на то, что именно вы использовали для запуска своей установки?
Можете ли вы также эмулировать и отлаживать свои приложения под Ubuntu без реального iPhone?
как называется «готовая виртуальная машина», которую вы нашли в Интернете?
Это работает с виртуальным боксом?
Можно ли доверять готовой виртуальной машине? Я имею в виду встроенное программное обеспечение-преступник, бэкдоры ...
В порядке. Мое мнение по этому поводу. После разработки приложения вы можете использовать эту службу для публикации macincloud.com
Меня также интересует настройка, я использую 4 ГБ оперативной памяти и 4 ядра на ssd, но это все еще какая-то лагает (но работает)
Это законно? Я просто хочу знать, потому что даже если ничего не произойдет, мне все равно нравится действовать «законно».
@Slaknation Это против лицензии
Если вы цените свое время, покупайте Mac! Я недостаточно знаю о вариантах разработки под Linux, чтобы предложить жизнеспособное решение, но кажется, что предлагаемые методы включают в себя довольно окольную работу. Если вы планируете серьезно писать и продавать приложения для iPhone, я думаю, вы легко сможете окупить стоимость Mac Mini или Macbook. :-)
Теперь, когда существует около 50 000 приложений, сделать много не всегда просто. Дни салатов, возможно, прошли.
@Nosredna Мне, например, нравится верить Салатные дни снова здесь. А если серьезно, ты прав.
Чувак, если мы ищем ему альтернативу, это потому, что покупка недоступна.
Есть раньше был проект, посвященный устранению этого дефекта: iphone-dev
The goal of the iphone-dev project is to create a free, portable, high quality toolchain to enable development for the Apple iPhone and other embedded devices based on the ARM/Darwin platform.
Похоже, что проект не подвергается регулярной разработке или обслуживанию с сайта (например, записи в Wiki о создании инструмента / переносимости относятся к февралю 2010 г.).
@Мистер. F, действительно он мертв.
Вы правы, телефоны без джейлбрейка ограничены магазином приложений Apple, и Apple «имеет право» применять любое правило, это абсолютно несвободная территория. Однако при разработке вообще не придется иметь дело с Apple. Вы можете использовать, например, rsync, чтобы загрузить код на устройство и протестировать его.
Решает ли этот проект проблему, которую представил Стивен Кокс? «Вы никогда не получите одобрение своего приложения в Apple, если оно не будет разработано с использованием Xcode. Никогда. И если вы взломаете SDK для разработки в Linux, и Apple узнает». Спасибо
libimobiledevice действительно имеет достойный интерфейс для установки приложений без необходимости использования rsync / ssh на iDevice.
Вы можете использовать Терсус (с открытым исходным кодом), и он позволяет экспортировать приложение как проект Xcode.
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK. Значит, он не сможет подписать собственное приложение для iOS.
Я попытался портировать cocos2d-iphone на GNUstep, чтобы вы могли играть в игру Развивать, основанную на cocos2d. Однако для публикации вам понадобится Mac. cocos2d-GNUstep.
Для этого вам нужен Mac. Доступно несколько цепочек инструментов (например, цепочка выигрышей), которые на самом деле позволяют писать и создавать приложения i Phone для Windows. Есть несколько связанных руководств по созданию кода Objective C в Windows. Но есть проблема: разработанные таким образом приложения будут работать только на сломанных телефонах i.
Мы видели несколько хаков, чтобы преодолеть это и попасть в App Store, но поскольку Apple продолжает обновлять SDK, цепочки инструментов нуждаются в регулярных обновлениях. Придумывать все время сложно. Если вы хотите получить готовое приложение, вы также можете воспользоваться помощью arcapps, который запускает приложения по разумной цене. разработка приложений для iphone
Возможно, вы сможете написать код в системе Linux, которая в конечном итоге окажется на iPhone или iPad, но в конечном итоге вам понадобится Mac, чтобы протестировать или развернуть код на iPhone или отправить его в магазин приложений. Итак, в конечном итоге вам понадобится Mac, так что вы можете также выполнять работу на Mac со всеми инструментами, которые предоставляет Apple. Существуют альтернативы Xcode и Objective-C, такие как Monotouch, но они также используют инструменты Apple.
Вы можете с некоторой работой запустить OS X на виртуальной машине в Linux. Однако я должен отметить, что это нарушит лицензионное соглашение OSX, даже если вы купите копию OSX, поскольку она лицензирована только для работы на оборудовании Apple.
Извините, что сообщаю вам эту новость - экосистема вокруг iPhone / iPad очень жестко контролируется.
Обновлено: одним из основных исключений является создание веб-приложения для iPhone. Для iPhone есть несколько отличных веб-приложений, которые почти так же удобны, как и нативные приложения. Однако я истолковал ваш вопрос как о разработке нативных приложений. Веб-приложения, хотя пользователь может создать значок для их запуска, по-прежнему являются гражданами «второго сорта».
Хотя может быть допустимо запускать Lion в виртуализации, если вы используете Linux на Mac.
В некоторой степени да, это возможно. Вы можете ввести код Objective-C и настроить свои проекты. Вы даже можете протестировать части вашего кода на C и C++ с помощью gcc.
Что нельзя делать:
когда вы говорите, что классов не существует, что вы имеете в виду? Мне нужны только заголовки, Apple все равно свяжет их за меня. Вот как работает отправка приложений, AFAIK.
@JanusTroelsen означает, что Какао не существует в Linux и, вероятно, никогда не будет
Я бы порекомендовал приобрести Mac, потому что симулятор iOS отлично подходит для тестирования на ранних этапах разработки приложения. Но я знаю небольшую компанию, с которой мы работаем, которая разрабатывает с использованием Unity, поэтому им не нужно загружать Mac. Таким образом, им нужен только один Mac для офиса, и это только для компиляции окончательной сборки. Это также означает, что он работает на Android, но это действительно зависит от того, что вы строите, потому что это игровой движок. Вы можете изучить веб-приложения, используя такие фреймворки, как Sencha Touch Mobile.
Единство: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
Есть фреймворк под названием Родос.
Эта концепция основана на 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.
Надеюсь это поможет.
Мне удалось создать приложения для iOS на Linux с использованием Набор инструментов для iOS clang от cjacker. В основном он состоит из вышестоящих инструментов clang и llvm из вашего дистрибутива Linux, Linux-порта компоновщика Apple и некоторых дополнительных инструментов, которые помогают упростить процесс сборки (например, преобразование проектов xcode в формат Makefile).
Для установки требуется несколько шагов, но вы разработчик программного обеспечения и к этому привыкли. Я разместил в Интернете обновленное руководство по Debian 7 (Wheezy):
https://rogerkeays.com/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
Удачи.
связанные stackoverflow.com/questions/1056426/…