Как собрать приложение xcode
Создание приложения в Sketch и Xcode еще никогда не было таким простым. Sketch и Xcode делает весь этот процесс одинаково достижимым для дизайнеров и разработчиков. С одной стороны, в Sketch каждый шаблон и инструмент создан специально для такого типа работы, а с другой – у нас есть Storyboard и Assets Catalog в Xcode, которые позволяют быстро построить функциональный прототип. За 5 минут у вас может получиться нечто, что можно потестировать на вашем iPhone.
Глава 3. Создание iOS-приложения в Sketch и Xcode, публикация его в App Store
Storyboard достаточно прост для понимания дизайнерами
В Storyboard вы работаете с множеством скринов, которые соединяете переходами. Без единой строки кода вы можете скомпоновать скрины в полноценный макет. Здесь используются те же методы и технологии, что и в финальном приложении. По мере создания дизайна, вы можете столкнуться с определенными инженерными проблемами, а здесь можно предварительно просмотреть и потестировать каждый мелкий шаг.
Прототип в Sketch и Xcode за 2 минуты
Главный козырь Xcode – его суперпростота. За 2 минуты вы можете создать прототип из 4 связанных страниц. И что не менее важно, вы можете просмотреть все это на своем iPhone.
Начнем
Xcode абсолютно бесплатен. Для дизайнеров, которые пользовались Sketch или редактором кода вроде SublimeText, интерфейс программы будет очень знаком. Главная разница в том, как использовать библиотеку Объектов (Objects) и настраивать параметры. Здесь есть масса опций, так что начните с простого. Сфокусируйтесь на вещах, с которыми вам комфортно работать. Не пытайтесь сразу выполнить что-то очень продвинутое, так как Xcode действительно предоставляет огромные возможности, в которых можно заблудиться.
Создайте проект
Чтобы создать новый проект, просто выберите одностраничное приложение (single page app) и введите имя вашего будущего продукта. Затем сохраните где-то проект. Вот и все, вы создали свой первый проект приложения!
Экспорт из Sketch 3
Ранее мы изучили, как быстро создать и экспортировать исходники в Sketch 3. Называя Артборды, группы и слои, вы можете указать, в каком разрешении они должны быть. Используя кнопку Export All (экспортировать все), вы можете экспортировать все исходники в один клик. Я включил файл Sketch для приложения Designer News, которое мы сейчас создаем. Так что вы можете проанализировать, как я настроил каждый исходник. Можно использовать его как шаблон для ваших будущих проектов под iOS, так все было “порезано” и переименовано для работы с Xcode.
Assets Catalog (каталог исходников)
Новинка Xcode 5, Assets Catalog организовывает все ваши кнопочки, иконки и изображения в чистый UI. Чтобы добавить исходники, просто перетащите их туда мышкой. Я знаю, как спаровать исходники в размерах 1x и 2x вместе. Xcode даже поддерживает растягивание, что будет очень кстати для динамических кнопок. Вы можете настроить растягиваемую область, которая будет самоповторяться, позволяя растягивать их до любого размера.
Storyboard (раскадровка)
Storyboard работает по принципу, очень похожему на Артборды в Sketch. Это очень простой для понимания инструмент, если вы уже распрощались со страхом перед iOS-разработками. В Storyboard вы можете управлять пользовательским интерфейсом своего приложения самым обычным образом. Это даже проще, чем HTML и CSS, потому что вам не нужно учить код (еще пока не нужно), чтобы добраться до этого этапа.
Библиотека объектов
Это место, куда вы перетаскиваете элементы, необходимые для приложения: кнопки, изображения, тексты и т.д. Я предлагаю поиграться с ними как можно дольше, чтобы изучить, как что работает. Узнавать новые методы их использования действительно интересно! Как дизайнеры, мы любим поломать вид “по умолчанию” и сваять что-нибудь авторское. Изучение этих объектов вдохновит вас на максимальный тюнинг без потери реализма.
Медиа-библиотека
Как только вы импортировали все исходники для UI, они становятся доступны через библиотеку медиа. Это очень полезная опция, потому что как только вы добавляете материалы через Assets Catalog (каталог исходников), они тут же появляются здесь.
Контроллер представлений (View Controller)
Это эквивалент ваших родных артбордов в Sketch. Это полная копия, со всеми взаимосвязями и состояниями. Контроллер представлений может содержать кучу под-окон, таких как View, Table View, Text, Buttons и т.д.
Transitions (переходы)
Есть 6 типов переходов между окнами в iOS: Cover Vertical (наплыв по вертикали), Flip Horizontal (переворот по горизонтали), Cross Dissolve (перекрестное растворение), Partial Curl (частичный вихрь), None (нет) и Push (вытеснение). Для присоединения нажмите правой кнопкой мышки и перетащите.
Я создал прототип за 10 минут, чтобы показать пример. Это была спонтанная импровизация. Думаю, вам будет полезно посмотреть, что получилось. :)
Подключение кода
Пока Storyboard предоставляет удобное управление графическими элементами интерфейса для приложения, остается множество базовых элементов, не доступных до сих пор: кнопка “назад”, панель светового режима и т.д.
Тестирование на iPhone
Одной из важнейших функций Xcode является возможность тестировать приложения на вашем iPhone напрямую. Я фанат тестирования. Это одна из вещей, которые необходимо делать постоянно, чтобы создать идеально отшлифованный продукт. Неважно, дизайнер вы, разработчик или продукт-менеджер, тестирования вам не избежать. Эта особенная функция стала причиной, почему я решил учить Xcode вместо Origami; Я хотел иметь возможность тестировать напрямую на своем iPhone и видеть проблемы в их реальном отображении на устройстве.
Чтобы двигаться дальше, нужно иметь аккаунт разработчика Apple.
Подключите iPhone через USB
Как только вы зарегистрировали свой аккаунт разработчика, вы можете залогиниться в Preferences / Accounts. Xcode 5 позаботится о назначении корректных прав. Затем перейдите в Organizer, чтобы увидеть, доступен ли ваш iPhone для тестирования. Если нет, вам выдаст ошибку с инструкциями, как ее устранить. В итоге вы сможете выбрать свой iPhone в качестве устройства для тестирования.
Горячие клавиши
Это самые важные горячие клавиши для дизайнеров и новичков среди iOS-разработчиков.
Показать дистанцию между элементами | Alt |
Запустить симулятор | Command + R |
Остановить эмуляцию | Command + . |
показать Project Navigator (навигатор по проекту) | Command + 1 |
спрятать Project Navigator | Command + 0 |
Подогнать размер под контент | Command + = |
Показать Assistant Editor (вспомогательный редактор) | Command + Alt + Enter |
Показать Standard Editor (стандартный редактор) | Command + Enter |
Словарь
Разработка под iOS предполагает особую структуру имен. В общении с маститым разработчиком вы должны быть на одной волне, используя одинаковый лексикон. Ему сложно понять, что такое артборд, но они отлично понимаю, что означает View Controller.
Внедрение дизайна
Перетаскивание скринов курсором хорошо подходит для создания легких прототипов, но с Xcode вы можете гораздо больше. Так же, как и при CSS-верстке сайта, вам понадобится отделить каждый слой, чтобы не пришлось бегать назад в Sketch, каждый раз, когда понадобится подредактировать контент. Эти изменения должны производиться в Xcode.
На этом этапе мы, собственно, делаем приложение функциональным. Текст становится редактируемым элементом, а поля ввода отображают клавиатуру везде, где вы можете ввести адрес электронной почты.
Смартгайды
Как и в Sketch, в Xcode есть так называемые “смартгайды”, которые значительно упрощают процесс выравнивания элементов. Нажав Alt, вы также увидите расстояния.
Дизайн в 1X
Storyboard использует разрешение 1X. Если быть точнее, раскадровка работает в точках. 1 точка = 2 пикселя в Retina. Если в Sketch вы создаете дизайн в разрешении 2X, придется каждый размер делить на 2. Диалоговое окошко размером 560 x 560 пикселей будет 280 x 280 точек в Xcode.
Дизайн в Xcode
Вам не нужно создавать графические исходники для каждого элемента. Как и в CSS, лучше творить в коде или использовать Storyboard. В этом конкретном примере я задал закругленные углы для диалогового окошка в Runtime Attributes (сам диалог является элементом View). Runtime Attributes (атрибуты рабочего цикла) – действительно очень мощный набор настроек, так как с их помощью можно задавать различные параметры и анимацию без написания кода.
Шрифты
Каждый текстовый элемент по умолчанию имеет шрифт System.Вы можете изменить его на Custom и выбрать тип шрифта на свой вкус. Список ограничивается шрифтами, которые поддерживает iOS. Мы еще вернемся к шрифтам в главе 3.
Цвета
Xcode использует селектор цвета Color Picker для Mac OSX. Единственный нюанс – пипетка не всегда точно срабатывает. Лично я предпочитаю использовать шестнадцатиричные коды. Skala Color picker идеален для этого.
Вы можете значительно ускорить прототипирование
Контроль версий в Github
Настало время загрузить ваш проект Xcode в облако. Таким образом, вы сможете сохранять историю изменений и сотрудничать с другими дизайнерами и разработчиками. Если вы новичок на GitHub, советую прочитать вам, как Делать коммиты на GitHub.
Использование библиотек
Xcode поставляется отличными фреймворками, включая UIKit и UIKit Dynamics. Да, это фреймворки. Но также есть отличные библиотеки, разработанные членами сообществ, такие как Canvas, Facebook Pop, AFNetworking, Parse и т.д. Единственный способ управления этими библиотеками, при котором вы сможете получать все обновления без необходимости вручную загружать и заменять файлы, или беспокоиться об авторских правах, – использовать Cocoapods.
Библиотеки вроде плагинов Sketch, которые создаются свободным сообществом, также помогут вам в оптимизации процесса создания ваших проектов. Больше информации вы найдете на Cocoapods Libraries.
Анимируйте без кода
Можно создавать анимацию, используя Canvas, библиотеку Cocoapods, которую я создал в паре с iOS-разработчиком. Суть работы с Canvas очень проста. Что если мы бы могли сохранить кучу кодов стиля, позволив им существовать только в Storyboard? И что если бы мы могли делать простые анимации, просто изменяя настройки в Runtime Attributes? То, что начиналось как простая забава на выходных, превратилось в одну из самых скачиваемых библиотек для iOS.
Анимируйте с кодом
Когда у вас есть определенные анимации, которые надо запускать при нажатии кнопки, лучше реализовывать такое через код. Во фреймворке UIKit, который идет вместе с Xcode, есть полезная функция для анимации, которая называется animateWithDuration. Если вы примените usingSpringWithDamping, она сделает забавный откат назад. Узнайте больше о том, как программировать анимации.
Простые анимации могут выполняться быстро.
Многие спрашивают меня, нужно ли им знать Objective-C. Я говорю, что нет. В наше время мы изучаем фреймворки и манипулируем результатами через визуальные инструменты. Когда вы начинаете изучать японский или французский, вы не тратите месяцы, чтобы понять всю структуру языка. Вы начинаете с изучения простых слов вроде “Привет” и “Спасибо”.
Построение взаимосвязей
Как заставить клавиатуру спрятаться, если вы кликаете за ее пределами? Как подсветить иконки Email и Password, когда поле ввода активно? Как настроить состояния ошибки? Изучение этих моментов может сделать или сломать вашу работу. Также это дверь к более продуктивной работе с разработчиками.
Сталкиваемся с реальными проблемами разработки
Изучение процесса создания приложения позволяет вам понять настоящие сложности разработки и создавать дизайн, отталкиваясь от этих ограничений. Как только вы поймете суть разработки, вы сможете лучше взаимодействовать в команде и найдете пути, как преодолеть эти ограничения. Идеал становится реальностью.
В уроке по Созданию домашней страницы мы научимся создавать класс для контроллера представлений таблицы, ячейки reuse, вызов GET API и работать с массивами, чтобы применять к IBOutlets.
В статье о Создании статьи мы научимся кешировать данные доступа, используя Keychain, отсылать данные через переход, работать с динамическими размерами с Autolayout и создавать список комментариев.
В уроке о Веб-представлениях, мы научимся открывать ссылки внутри приложения через Web View.
В Upvote и Share, мы научимся легко реализовывать функции Pull to Refresh (обновить), Upvote (лайкнуть) и Share (поделиться). А также, научимся настраивать методы Delegate и использовать краткие настройки всего в нескольких строках кода.
В Comment и Menu, Я научу вас создавать простые меню, используя UIActionSheet и создавать Comment View (представление комментария), который будет публиковать в DN API.
В уроке Add Sounds, вы сможете проигрывать звук каждый раз, когда пользователь что-то лайкнет или обновит страничку. Одна строка кода.
В главе Track with Mixpanel, вы научитесь отслеживать аналитику событий через Mixpanel iOS API. People data предоставит исчерпывающую информацию по действиям пользователей в вашем приложении.
В этой книге мы не просто изучаем, как создавать код. Мы соединяем 2 мира!
Публикуемся в App Store
Глава 3. Создание iOS-приложения в Sketch и Xcode, публикация его в App Store
Xcode — это пакет инструментов для разработки приложений под Mac OS X и iPhone OS, разработанный Apple. Последняя версия Xcode 3.2, бесплатно поставляется на дистрибутивном диске Mac OS X Install DVD вместе с операционной системой Mac OS X 10.6, хотя и не устанавливается по умолчанию. Третья версия не поддерживается старыми версиями Mac OS, для которых XCode также доступен бесплатно через Apple Developer Connection. Обновления можно бесплатно скачать на официальном сайте поддержки.
Xcode тесно интегрирован с фреймворком Cocoa. Создается производительная и простая в использовании среда разработки. Его используют и при разработке самой Apple Mac OS X. Этот набор инструментов включает:
- Xcode IDE (для кодирования, создания и отладки приложений)
- Interface Builder (для разработки пользовательского интерфейса)
- Инструменты для анализа поведения и производительности
- Десятки дополнительных инструментов
Остановимся на каждом инструменте поподробнее, а затем установим Xcode.
Xcode IDE
Xcode IDE предоставляет вам все, что нужно: от профессиональных редакторов, с функцией автозавершения кода и Cocoa рефакторинга, до настройки open-source компиляторов. Xcode IDE р азработан с нуля, чтобы вы могли воспользоваться всеми возможностями Cocoa и новейшими технологиями Apple.
Interface Builder
Interface Builder упрощает создание пользовательского интерфейса (UI). С его помощью можно легко, без написания кода, создать слои из окон, различные кнопки, ползунки и другие элементы управления. Затем вы можете превратить этот прототип UI в реальное приложение, добавив новые возможности. Xcode работает с Interface Builder в режиме реального времени, так что вы видите в графическом интерфейсе (Interface Builder) то, что вы пишете в Xcode.
Вы можете легко создавать пользовательские интерфейсы, поскольку Cocoa был построен с использованием шаблона Model-View-Controller (MVC). На самом деле, UI фактически являются архивами объектов Cocoa, которые не требуют генерации кода. Изменения в интерфейсе пользователя (UI) не требуют перекомпиляции (перепроверки) кода, а изменения в коде, не требуют перекомпиляции UI.
Instruments and Shark
Есть инструменты и для сбора данных об использование дисков, памяти и процессора вашего Mac или вашего iPhone, подключенного к компьютеру. Собранные данные отображаются графически в реальном времени , что позволяет легко определить проблемные зоны приложения, и затем перейти к проблемным строкам кода.
Эти инструменты помогают создать великолепный пользовательский интерфейс, который будет сопровождаться столь же впечатляющей отзывчивостью.
Что такое Cocoa
Большая часть Cocoa осуществляется в Objective-C. Objective-C — это компилируемый объектно-ориентированный язык программирования корпорации Apple, построенный на основе языка С и парадигм Smalltalk.
Где взять Xcode
Xcode находится на втором установочном диске Mac OS X. Программа не устанавливается по умолчанию вместе Mac OS X, поэтому попробуйте сделать это сами с диска. Но бывает, что программа уже установлена (путь к Xcode: Macintosh HD › Developer › Application). Если такой папки нет, попробуйте воспользоваться поиском.
При разработке мобильных iOS приложений в среде XCode запуск и тестирование происходит на симуляторе. Однако каждый профессиональный разработчик вам скажет, что окончательную отладку нужно производить на реальных устройствах. Причем лучше на нескольких различных устройствах. На iPhone 5, на iPhone 6, на различных версиях iPad и iPod. Однако для этого политика компании Apple заставляет приобрести аккаунт разработчика. Он стоит $99 и для начальных шагов в программировании не всегда оправданы эти затраты. И вот наконец, просьбы разработчиков были услышаны и появился способ легального запуска своих приложений на реальных устройствах и этот способ абсолютно бесплатный.
Были различные варианты решения этой проблемы от установки на устройство Jailbreak до недорогого варианта добавления UDID устройства к реально существующему аккаунту разработчика. (Последний способ стоит 300 руб). Но как написано выше с выходом XCode 7 эта проблема была решена.
Так что же нужно для запуска своих приложений на реальном устройстве?
Все что вам нужно, это Apple ID! Больше ничего не нужно.
Подключение устройства
Подключите iPhone, Ipod Touch, или IPad к вашему Mac с помощью кабеля USB кабеля. В меню Xcode зайдите Window → Devices, чтобы открыть список устройств. Окно выглядит следующим образом (я использую iPad Air):
Так должно выглядеть окно с сопряженным устройством:
Настройка AppleID
Теперь, когда устройство сопряжено с компьютером, нужно связать ваш AppleID с Xcode. Можно использовать тот же идентификатор AppleID, что вы уже используете с Itunes и вашим устройством, однако, если вы разрабатываете корпоративное iOS приложение, то можете создать новый AppleID, чтобы разделить процессы разработки. Конечно, если у вас уже есть оплаченный аккаунт разработчика вы должны использовать именно его
Откройте меню Xcode -> Preferences -> Accounts:
Настройка проекта XCode
Вы все еще должны указать Xcode использовать эту учетную запись при создании вашего приложения. Перейдите к экрану настроек проекта и на вкладке General нажмите на Team, чтобы выбрать ваш Apple ID.
Специфика данных документов на первоначальных этапах разработки не имеет значения. Просто примите, что вам нужен Provisioning Profile или приложение не будет работать на вашем устройстве. Создание сертификатов и Provisioning Profile, в XCode 7 это очень простая задача!
Также возможно вы получите эту ошибку:
Xcode должен знать об устройстве на котором вы собираетесь запустить приложение. Вот почему мы начали именно с подключения устройства. Еще раз проверьте, что ваш iPhone или iPad по-прежнему подключен к Mac, и что ваше устройство есть списке Devices. У меня это окно выглядит так:
В основном окне XCode еще раз выберете ваше устройство и нажмите кнопку Fix Issue и предупреждение должно исчезнуть.
Настройка связки ключей
Возможные проблемы и их решение
Есть несколько ошибок, которые могут возникнуть при попытке запуска своего iOS приложения на реальном устройстве, особенно если вы никогда не делали этого раньше. Так что не паникуйте, если вы столкнетесь с проблемами.
Устройство не подключено.
Как ни странно это самая распространенная ошибка, поэтому я напишу о ней в третий раз в этой статье. Убедитесь, что ваш iPhone, iPod Touch, или iPad подключены к Mac. Устройство должны быть списке устройств Xcode, и на нем не должно быть желтого значка предупреждения, о том что устройство не доверяет компьтеру.
Подозрительный не одобренный Apple разработчик.
Устройство заблокировано.
Если на устройстве установлен пароль, то вы можете получить это предупреждение:
Приложение не будет работать если устройство заблокировано. Для решения нужно разблокировать устройство и запустить компиляцию еще раз.
Надеюсь данная информация будет вам полезна. По себе знаю, что начиная разрабатывать iOS приложения, разработчики сталкиваются с проблемой тестирования своих приложений на реальных устройствах. А несправедливость в виде $99 никак не греет душу брата программиста. И даже если разработчик решается на Jaibreak, все равно для запуска потребуется куча сторонних бубнов. Вариант описанный в данной статье позволит вам запускать и тестировать свои приложения без этих бубнов и совершенно бесплатно.
Есть ли способ использовать «Сборку и архивирование» из командной строки (как часть сценария сборки)? Я предполагаю, что xcodebuild каким-то образом замешан, но страница man , похоже, ничего об этом не говорит.
ОБНОВЛЕНИЕ Михаил Гринич попросил разъяснений; вот что именно вы не можете делать со сборками из командной строки, функции, которые вы можете делать ТОЛЬКО с Xcode's Organizer после того, как вы «Сборка и архивирование».
Я бы хотел, чтобы кто-нибудь пришел и доказал, что я ошибаюсь: обе эти функции отлично работают в графическом интерфейсе Xcode и не могут быть воспроизведены из командной строки.
Я нашел, как автоматизировать процесс сборки и архивирования из командной строки, я просто написал статья в блоге, объясняющая, как этого добиться.
Вам нужно использовать следующую команду: xcrun :
В Xcode 4.2 для этого можно использовать флаг -scheme:
После этой команды архив появится в Xcode Organizer.
Обновление моего ответа с помощью Xcode 9 и Swift
Архив
Экспорт IPA ( обратите внимание на список параметров экспорта )
Те, кто использовал это для создания проекта в инструментах CI / CD, таких как teamcity / jenkins, убедитесь, что вы используете правильный xcode, установленный в агенте сборки, как для архива, так и для экспорта.
Вы можете использовать для этого один из двух вариантов.
- Используйте полный путь к xcodebuild,
- Используйте xcode-select,
Вот сценарий командной строки для создания архива и пример IPA. У меня есть проект iPhone xcode, который находится в папке Desktop / MyiOSApp.
Выполните следующие команды одну за другой:
Это протестировано с Xcode 5 и отлично работает для меня.
Я нашел здесь некоторые другие ответы, которые трудно понять. Эта статья мне понравилась. Некоторые пути могут быть абсолютными, как упоминалось в других ответах.
Команда:
Как собрать проект iOS с помощью команды?
Что такое ExportOptions.plist?
ExportOptions.plist требуется в Xcode. Он позволяет вам указать некоторые параметры при создании файла ipa. Вы можете выбрать параметры в удобном пользовательском интерфейсе при использовании Xcode для архивации приложения.
Важно : в ExportOptions.plist методы выпуска и разработки отличаются
Магазин приложений:
Разработка
Улучшив ответ Винсента, я написал для этого сценарий: xcodearchive
Это позволяет вам архивировать (генерировать ipa) ваш проект через командную строку. Думайте об этом как о сестре команды xcodebuild , но для архивирования.
Один из вариантов сценария - включить архивирование символов dSYM в архиве с отметками времени. Нет оправдания тому, чтобы больше не хранить символы и не отображать журнал сбоев, который вы можете получить позже.
Откройте Терминал и перетащите папку проекта:
Cd / Users / имя пользователя / Рабочий стол / demo /
По очереди выполните следующие команды:
Создает приложение как "demo.xcodeproj" в архив
Архив xcodebuild -project demo.xcodeproj -scheme demo -archivePath /Users/username/Desktop/demo.xcarchive
Если в вашем приложении есть Podfile fie as- "demo.xcworkspace" -
Xcodebuild -workspace Project-Name.xcworkspace -scheme Scheme-Name -sdk iphoneos -configuration Release Provisioning_Profile = «Provision-Name» Development_Team = «Team-ID» архив -archivePath /Path/To/Output/AppName.xcarchive archive
Команда сборки экспорта IPA
Загрузите файл ExportOptions.plist с здесь
Xcodebuild -exportArchive -archivePath /Users/shilpa/Desktop/demo.xcarchive -exportPath /Users/shilpa/Desktop/demo.ipa -exportOptionsPlist /Users/shilpa/Downloads/ExportOptions.plist
Вы найдете .xcarchive в .ipa, используя сведения о терминале в статье .
Я использовал свой собственный сценарий сборки для создания пакета ipa для специального распространения.
Сценарий также увеличивает номер версии. Вы можете удалить эту часть, если она не нужна. Надеюсь, поможет.
Инструмент xcodebuild может создавать и экспортировать архивные продукты с флагом -exportArchive (начиная с Xcode 5). Шаг экспорта ранее был возможен только через пользовательский интерфейс Xcode Organizer.
Сначала заархивируйте свое приложение:
Учитывая $ARCHIVE_PATH (путь к файлу .xcarchive ), экспортируйте приложение из архива одним из следующих способов:
Файл .app для Mac:
В обеих командах аргументы -exportProvisioningProfile и -exportSigningIdentity являются необязательными. man xcodebuild для получения подробной информации о семантике. В этих примерах в профиле подготовки для сборки iOS указан профиль подготовки распространения AdHoc, а в удостоверении подписи для приложения Mac указан идентификатор разработчика для экспорта в качестве стороннего приложения (т. Е. Не распространяется через Mac App Store).
Мы разработали приложение для iPad с XCode 4.2.1 и хотели интегрировать сборку в нашу непрерывную интеграцию (Jenkins) для распространения OTA. Вот решение, которое я придумал:
Затем Дженкинс загружает файлы ipa, plist и html на наш веб-сервер.
Это шаблон plist:
Чтобы настроить это, вам необходимо импортировать сертификат распространения и профиль обеспечения в связку ключей назначенного пользователя.
Для Xcode 7 у вас есть гораздо более простое решение. Единственная дополнительная работа - вам нужно создать файл plist конфигурации для экспорта архива.
(По сравнению с Xcode 6, в результатах параметров xcrun xcodebuild -help , -exportFormat и -exportProvisioningProfile больше не упоминаются; первый удален, а второй заменен на -exportOptionsPlist .)
Шаг 1 , смените каталог на папку, содержащую файл .xcodeproject или .xcworkspace.
Шаг 2 , используйте Xcode или /usr/libexec/PlistBuddy exportOptions.plist , чтобы создать файл plist параметров экспорта. Кстати, xcrun xcodebuild -help сообщит вам, какие ключи нужно вставить в файл plist.
Шаг 3 , создайте файл .xcarchive (фактически, папку) следующим образом (прямо сейчас Xcode автоматически создаст каталог build /),
Шаг 4 , экспортируйте как файл .ipa, как этот, который отличается от Xcode6.
Теперь вы получаете файл ipa в каталоге build /. Просто отправьте его в Apple App Store.
Кстати, файл ipa, созданный Xcode 7, намного больше, чем Xcode 6.
Я дал краткое описание шагов, которые нужно выполнить, и параметров, которые необходимо передать при генерации ipa с использованием терминала ниже:
Перейдите в папку, содержащую файл MyApp.xcodeproject в терминале.
Используя приведенную ниже команду, вы получите все цели приложения.
После выполнения указанной выше команды вы получите список целей, из которых вы должны выбрать конкретную цель, необходимую для создания .ipa.
Приведенная выше команда строит проект и создает файл .app. Путь для поиска файла .app: ./build/Release-iphoneos/MyApp.app
После успешного завершения сборки выполните следующую команду, чтобы сгенерировать .ipa приложения с использованием имени разработчика и профиля подготовки, используя синтаксис ниже:
Объяснение каждого параметра в приведенном выше синтаксисе:
- ipa будет сгенерирован в выбранном выходном каталоге " $ "
Xcode 8:
Формат IPA:
Экспортирует архив MyMobileApp.xcarchive в виде файла IPA по пути MyMobileApp.ipa, используя профиль обеспечения MyMobileApp Distribution Profile.
Формат приложения:
Экспортирует архив MyMacApp.xcarchive в виде файла PKG по пути MyMacApp.pkg с использованием идентификатора подписи приложения приложения ID разработчика Application: My Team. Идентификатор подписи установщика. Разработчик ID Installer: My Team неявно используется для подписи экспортированного пакета.
Перейдите в папку, в которой находится корень вашего проекта, и:
Сделаем еще один шаг, загрузив в iTunesConnect через командную строку с помощью Xcode 7 ! (Предполагая, что вы начинаете с .ipa , который был подписан с использованием правильного профиля выпуска и идентификатора подписи.)
Просто запустите $ altool --upload-app -f file -u username [-p password] , чтобы загрузить недавно созданный .ipa прямо в Apple. Пароль не является обязательным, и вам будет предложено ввести его, если вы оставите его вне команды.
Если на этапе проверки с приложением возникнут какие-либо проблемы, консоль их распечатает.
Вам, вероятно, придется экспортировать путь к altool , если вы не хотите сохранять его местоположение.
Попробуйте xctool, это замена xcodebuild от Apple, которая упрощает сборку и тестирование продуктов для iOS и Mac. Это особенно полезно для непрерывной интеграции. Он имеет несколько дополнительных функций:
- Выполняет те же тесты, что и Xcode.app.
- Структурированный вывод результатов сборки и тестирования.
- Удобный для человека цвет ANSI.
№3 чрезвычайно полезен. Я не знаю, если кто-то может прочитать вывод консоли xcodebuild, я не могу, обычно он давал мне одну строку с 5000+ символами. Читать даже труднее, чем дипломную работу.
Тогда эта задача очень проста:
После обновления до Xcode 8 я обнаружил, что корпоративный ipa генерируется
Команда не может быть запущена из-за проблемы с подписью. Журнал указывает, что "предупреждение: PackageApplication устарел, используйте xcodebuild -exportArchive вместо этого.
Итак, я переключаюсь на xcodebuild -exportArchive , и все возвращается в норму.
Вы имеете в виду варианты проверки / отправки / отправки? Я думаю, что они специфичны для Xcode и не подходят для инструмента сборки из командной строки.
Могу поспорить, что проявив некоторый сообразительность, вы могли бы написать сценарий, который сделает это за вас. Похоже, они просто хранятся в
/Library/MobileDevice/Archived Applications/ с UUDI и списком. Я не могу представить, что было бы так сложно перепроектировать валидатор.
Процесс, который я хочу автоматизировать, - это отправка сборок бета-тестерам. (Поскольку отправка в App Store происходит нечасто, я не возражаю делать это вручную, особенно потому, что мне часто нужно добавлять новый текст описания.) Выполняя псевдо Build + Archive с использованием интерфейса командной строки Xcode, я могу запускать автоматические сборки из каждой фиксации кода, создавать файлы IPA со встроенными профилями подготовки и отправлять их по электронной почте тестерам.
Читайте также: