Разработка приложений для mac os

Platypus и Packages. Создаём и устанавливаем программы на macOS

Очень часто бывает необходимо собрать код, написанный на Python, в приложение для Windows, Linux или OS X. Да, для этого действительно существует множество пакетов, таких как кросс-платформенные cx_Freeze и PyInstaller, а также обособленных py2exe и py2app. Но для macOS существует возможность избежать возни с созданием установочного файла.

Нужно сказать, что в отличии от Windows, программа на MacOS это просто папка, с расширением .app а вот исталлятор имеет расширение .pkg.

Создаём программу

Для создания программы из скрипта, используем программу Platypus. Это бесплатная, open-source программа, распространяемая под BSD лицензией. Вот так выглядит единственное главное окно этой программы:

  • В поле App Name указываем имя приложения, это то как программа будет отображаться в списке программ и Launchpad-е.
  • В выпадающем списке Script Type указывается язык скрипта, в нашем случае это Python, можно указать путь к компилятору, если, например, на компьютере их несколько.
  • В поле Script Path можно создать свой новый скрипт (кнопка «+ New»), а можно выбрать уже готовый скрипт (кнопка «Select Script»).
  • В выпадающем списке Interface можно выбрать тип приложения, в случае если у вас консольное приложение, не требующее ввода текста пользователем, рекомендую выбрать Text Window.
  • Слева от вышеперечисленных полей, есть поле выбора иконки приложения, в составе программы идёт несколько стандартных иконок, но можно выбрать свою.
  • Следующий блок полей отвечает за информацию о программе, которая предоставляется в стандартном меню «О программе». Это уникальный идентификатор, автор программы и её версия. Кроме этого можно указать свойства для запуска, например запуск с правами администратора или работа в бэкграунде.
  • И второй по важности блок, это дополнительные файлы. Так как в MacOS приложение — это не только исполняемый файл, но и все необходимые для работы приложения файлы и папки. Нажатием на кнопку «+» можно выбрать как и отдельные файлы, так и целые папки.
  • После заполнения всех полей, кнопка «Create App» становится активной, нажимаем её и получаем на выходе симпатичный файлик с расширением .app.

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

Создаём инсталлятор

Для создания установочных пакетов существует несколько программ, мы будем использовать Packages.

При открытии программы Packages нам предлагается выбрать тип установочного пакета, выбираем Distibution, так как Raw Package необходим тогда, когда нужно установить файлы в нестандартное расположение.

В следующем окне выбираем имя и расположение проекта. Имеет смысл в качестве расположения указывать рабочую папку проекта. После создания проекта открывается следующее окно, с большим количеством вкладок.

Пробежимся по ним:

  • Settings — первая вкладка, здесь можно задать имя приложения, рабочую директорию, а так же необходимые условия для установки.
  • Presentations — на этой вкладке устанавливается внешний вид самого пакета установки, добавляются переводы на различные языки, путь установки и прочие нюансы.
  • Requirements & Resources — необходимые условия для установки и зависимости. Например если для работы программы необходимо Xcode Command Line Tools, то здесь это можно указать, и если проверка не будет пройдена, то установка отмениться.
  • Comments — вкладка исключительно для заметок разработчика, представляет собой огромное поле для ввода текста.

Если в боковом меню выделить необходимый нам пакет(на картинке это My), то мы увидим следующую картину:

Во вкладке Settings, выбирается идентификатор, версия и можно указать, что попросить сделать пользователя после установки (выключить компьютер, перегрузиться и завершить сеанс пользователя). Кроме этого можно выбрать Location и дополнительные опции, например ввод админского пароля, изменение прав доступа к папке и прочее.

Во вкладке Payload происходит основной процесс, добавление файла приложения в проект. Необходимо выделить нужную папку для установки приложения, например Applications, нажать на кнопку «+» и выбрать уже готовый файл с расширением .app.

Читайте также:  Как отключить запуск яндекса при включении windows

Во вкладке Scripts можно выбрать скрипты которые запустятся до или после установки.

После того как все пункты выполнены, нужно собрать проект. Это можно сделать либо из меню Build —> Build либо с помощью специальной короткой команды ⌘B.

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

Ссылки на необходимые файлы и обучающее видео

Platypus — программа для сборки .app;

Packages — программа для сбоки pkg;

Вот это — отличная видеоинструкция по работе с программой Packages.

Небольшое дополнение

По умолчанию, Platypus просто запускает скрипт, но почти всегда нам надо запускать программу на компьютере, где не установлен python. Для такого случая есть специальный лайфхак:

В Platypus в качестве типа скрипта выбираете shell script, нажимаете на + и пишете следующий код:

Где

  • MyApp.app — это имя вашего приложения
  • /compiler/bin/python — путь до компилятора
  • main.py — необходимый скрипт

Теперь, если вы соберёте программу и переместите её в папку Applications, то она запустится со своим компилятором.

Источник

Что нужно знать перед тем, как писать под iOS

«Под Windows можно писать для iPhone?»
Анонимный разработчик

«Мы не планируем публиковаться в AppStore, это ведь возможно? И еще мы хотим версию под Android. »
Анонимный заказчик

Если вы решились разрабатывать приложения для iPhone/iPad, то, скорее всего, вас заинтересуют следующие вопросы:

  • как можно заработать на приложениях?
  • как зарегистрироваться в iOS Developer Program и что дает регистрация?
  • обязательно ли нужен Mac?
  • какие инструменты можно использовать для разработки?

Как заработать?

Платные приложения в AppStore — от $0,99 до $999,99

Тут все очень просто/сложно. Пишете приложение, выкладываете в AppStore, выставляете цену, получаете деньги от довольных покупателей. 30% процентов от цены забирает Apple. Есть шанс как захватить мир, так и попусту потратить свое время — все зависит от вас.
Верхняя планка цены реальна — в AppStore было уже как минимум два приложения за тысячу долларов:
«BarMax CA» — приложение для студентов-юристов;
«I Am Rich» — приложение, показывающее изображение красного, видимо, драгоценного камня. Из магазина оно было убрано через день после публикации, но 8 счастливчиков все-таки успели его приобрести. Сейчас оно вернулось в AppStore уже с ценой в 10 долларов, одной из фич указано, что приложение продается всего за 1/100 от оригинальной цены.

Реклама в приложениях — iAd

Тут тоже все достаточно прозрачно: размещаете в своем приложении рекламный баннер, Apple делится с вами выручкой за показ рекламы и за клики по баннеру. На хабре уже писали об этом сервисе и даже рассказывали как добавлять баннеры в свои приложения. Остается добавить, что стоимость рекламы 1 цент — за показ, 2 доллара — за клик. Разработчик получает 60 процентов от вырученной суммы.

Торговля в приложении — In-App Purchases

Apple предоставляет возможность торговать вам в своих приложениях различными житейскими ценностями — ресурсами в играх, доступом к заблокированным секциям приложений и так далее. Отличная статья на эту тему есть на хабре — iPhone разработка: Интегрируем In-App Purchases. Да, Apple забирает себе положенные 30 процентов выручки.

Сервис подписок

Тем, кто в детстве выписывал «Мурзилку», должна быть понятна суть этого варианта заработка. Обычная подписка на журналы, газеты, музыку, видео… Издатель устанавливает цену, Apple берет себе стандартные 30 процентов. Сервис был запущен 15 февраля 2011 года, подробности можно почитать в официальном пресс-релизе.

Разработка приложений под заказ

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

Последний путь заработка наиболее прост в плане оплаты работы. Так как все происходит по обычной схеме, без финансовых отношений с Apple (кроме платы за регистрацию). В остальных случаях необходимо озаботиться вопросами получения заработанных денег. Комментарии с положительным/отрицательным опытом по данному вопросу приветствуются.

Читайте также:  Wireshark не видит интерфейсы windows

Как зарегистрироваться в iOS Developer Program

У вас есть два пути:

  • iOS Developer Program — 99$ в год
  • iOS Enterprise Developer Program — 299$ в год

Разница между ними в следующем: при участии в Enterprise программе вы не можете, в отличие от обычной программы, выкладывать свои приложения в AppStore, зато можете разрабатывать in-house приложения — приложения, для внутреннего использования в своей компании, без открытого доступа. Если вы решите разрабатывать in-house приложение для своих клиентов, то им рекомендуется вступить в эту программу. В центре поддержки iOS Developer Enterprise Program поясняется этот вопрос (последний вопрос в списке)

В остальном, программы дают одинаковые возможности:

  • доступ к инструментам разработки и SDK (включая beta-версии);
  • доступ к Apple Developers Forums;
  • доступ к обучающим ресурсам (программы-примеры, статьи, видео);
  • возможность использовать Ad Hoc для распространения приложений;
  • возможность тестировать свои приложения на iPad, iPhone, iPod-touch;
  • возможность получать техническую поддержку.

Небольшое замечание по Ad Hoc — это способ распространения приложений без AppStore, прямой установкой файла-сборки приложения через iTunes. И тут возникает вопрос: чем это отличается от тех in-house приложений, которыми манит нас Enterprise программа? Тем, что в стандартной программе вы можете зарегистрировать в год не более 100 устройств для установки на них своих приложений, то есть ни о каком коммерческом распространении тут речь идти не может. Более того, Ad Hoc распространение ориентированно в первую очередь на тестирование продуктов — программы, установленные таким образом, могут работать на устройствах только в течение 6 месяцев.

При регистрации вы можете регистрироваться либо как компания, либо как индивидуальные разработчик.
При регистрации компании нужно быть готовыми предоставить определенные документы.
Для Российских компаний нужно предоставить выписку из Единого Государственного Реестра Юридических Лиц (ЕГРЮЛ) и ее перевод. Название компании при регистрации должно совпадать с названием в выписке. В этой статье можно подробнее узнать о регистрации компании — Регистрация приложения в AppStore — мы сделали это!
Обычно вся процедура регистрации занимает 3-4 недели.
Куда проще регистрироваться индивидуальным разработчикам — после заполнения всех форм на сайте попросят распечатать, заполнить документ-заявку (требуются паспортные данные, данные карточки, адрес проживания и т.д.) и отослать факсом в Apple. После рассмотрения этого документа Apple списывает с вашего счета 99 долларов и вы становитесь зарегистрированным разработчиком. Вся процедура занимает 3-4 дня. Если у вас возникли проблемы с поиском факса, то можно воспользоваться каким-нибудь online-ресурсом, например — www.myfax.com/free

Обязательно ли нужен Mac?

Вам обязательно понадобится Mac OS X, так как ни на какой другой платформе вы не сможете работать с iOS SDK. Есть много различных вариантов разработки iOS приложений, но минимум для сборки и загрузки приложения в AppStore вам будет необходима Mac OS X. Да, последнее время появляются различные сервисы, которые и пирожки за вас есть будут предлагают постить приложения за вас и различные другие услуги, и о них на хабре тоже писали. Но, на мой взгляд, все это пока несерьезно и пользоваться услугами подобных контор, при разработке сколько-нибудь значимого приложения не стоит. Хотя, конечно, все зависит от задачи, если вы сможете зарабатывать, используя подобные сервисы, то почему бы и нет:)

Способы заполучить Mac OS X:

  • купить Mac (спасибо, Кэп!)
  • hackintosh.com
  • виртуальная машина

Mac mini сейчас вполне доступная вещь, хотя, конечно, всегда хочется большего, а там цены у Apple уже начинают кусаться.
Относительно двух других вариантов: я слышал отзывы людей, которые вполне счастливы с хакинтошем или с Mac OS X на VMWare, но и отрицательного опыта тоже накоплено достаточно. Тут все зависит от железа, прямоты рук и вашего желания.
В целом, если вы хотите разрабатывать под iPhone, операционная система препятствием стать не должна.

Разница между web и native приложениями

Хочу пояснить разницу между native и web приложениями для iPhone/iPad, пока мы не перешли к инструментам разработки. Первые распространяются через AppStore (или in-house приложения), вторые — всего лишь web-сайт или его часть, специальным образом сконфигурированный под iPhone.
Доступные web-приложения можно посмотреть тут — www.apple.com/webapps
Для публикации своего web-приложения в этом каталоге необходима регистрация в iOS Developer Program. При публикации вас просят указать url приложения и некоторую дополнительную информацию (сайт компании, загрузить иконку и так далее).
Как понимаете, каких-то особенных, отличных от обычных инструментов web-разработчика для написания таких приложений не нужно, хотя сейчас развелось довольно много фреймворков, позволяющих упростить создание подобных приложений и сделать их больше похожими на native приложения.
Среди пользователей iДевайсов web приложения особенной популярностью не пользуются, а многие, по крайней мере в России, даже и не подозревают о них. Так что дальше будем рассматривать только вопросы разработки нативных приложений.

Читайте также:  Что такое интерпретатор линукс

Какие инструменты можно использовать для разработки?

Тут я коснусь только нескольких инструментов — после снятия Apple запрета на ненативные инструменты разработки, чуть ли не каждый день появляются новые IDE и фреймворки.

Нативные средства разработки

Это прежде всего язык Objective-C и среда разработки Xcode (за компанию с Interface Builder, iPhone симулятором и другими приложениями из пакета разработчика). Еще можно писать на C и C++, но без Objective-C вам в некоторых моментах будет все-таки не обойтись.
На хабре довольно много статей об этом языке — стоит только пролистать блог Разработка под Apple iOS . У Objective-C есть определенный шарм (хотя на этот счет высказываются различные мнения), он немного сложен в начале освоения, -парадигма, унаследованная от Smalltalk дает о себе знать — но потом затягивает.
Основной аргумент в пользу использования инструментов от Apple — нативные средства разработки при прочих равных в любом случае дадут на выходе код быстрее и качественнее, чем любые другие инструменты.
Недавно JetBrains анонсировали свою среду разработки для Objective-C — appCode (жаль, что они оказались от супер-названия CIDR — одна компания, имеющая продукт с названием Cider, попросила их не использовать похожую аббревиатуру), так что даже тут появится выбор. Конкуренция, надеюсь, приведет к повышению качества.

MonoTouch

monotouch.net
MonoTouch позволяет разрабатывать приложения для iДевайсов на C#. Ощутимый минус для .NET разработчиков цена — $399 за индивидуальную лицензию.
Что привлекает меня в этом пути: в связке с Mono for Android можно потенциально покрыть довольно большой сегмент мобильного рынка (iOS/Android/WP7), без больших изменений кода.

Flash

Adobe Flash Pro CS5 поддерживает разработку под iPhone. Другое дело, что пока этот путь основательно не разработан и определенная сырость в подходе присутствует.

Titanium & PhoneGap

Два фреймворка-хэдлайнера в мобильной кроссплатформенной разработке. Краткое описание можно найти в этой статье. Позволяют использовать javascript и HTML5 для разработки native приложений сразу под несколько платформ, в том числе и iOS.

Unity3D

unity3d.com
Отличное средство для разработки игр. Поддерживает множество языков и платформ. Но за все хорошее надо платить — лицензия на Unity Pro стоит $1500 плюс $400-$1500 нужно будет отдать за аддон для разработки под iOS.
Подробнее цены посмотреть можно тут — store.unity3d.com/shop
Сравнение возможностей различных лицензий тут — unity3d.com/unity/licenses

Для себя я пока выбираю Xcode и Objective-C, но пристально смотрю в сторону кроссплатформенной разработки.

Еще одно небольшое замечание, если вы решитесь разрабатывать приложения под заказ

Deadline

Срок сдачи работы не всегда зависит от вас. Перед появлением в AppStore приложение проходит ревью, которое длится минимум 5 дней. Если приложение было отклонено по каким-либо причинам, то, после внесения изменений, необходимо будет отстоять всю очередь снова. Так что обещать клиенту выпустить приложение в AppStore к определенной дате, если у вас нет в запасе двух-трех недель, — поступок довольно безрассудный. Лучше обещайте показать приложение на устройстве к оговоренному сроку и объясните ситуацию с ревью. Для установки приложения на устройство нужно знать его UDID. То есть, даже если вы работаете удаленно, то вы всегда можете собрать приложение и отправить заказчику, чтобы он посмотрел его на своем девайсе.

Источник

Оцените статью