Xcode приложение для ios

Xcode приложение для ios

При разработке мобильных 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):

В левой панели окна Xcode находится список устройств, которые могут быть использованы для запуска разработанных приложений. Нажмите на изображение вашего устройства, чтобы выбрать его. Если устройство используется впервые вместе с Xcode, вы увидите сообщение что-то вроде, «“iPad is not paired with your computer.«

Для того чтобы связать устройство с Xcode вам нужно разблокировать устройство (Slide to unlock). После разблокировки, на экране устройства появится сообщение с просьбой доверять этому компьютеру. Нажмите «Разрешить» чтобы продолжить. Теперь Xcode выведет страницу, на которой напишет что позволяет использовать устройство для тестирования.

Дайте ему несколько минут — если процесс занимает слишком много времени, возможно потребуется отсоединить устройство и подключить его снова. Есть вероятность, что выскочит сообщение об ошибке: «An error was encountered while enabling development on this device.» Потребуется отключение устройства и перезагрузка его. Также перезапустите Xcode, прежде чем вы снова подключите устройство.

Так должно выглядеть окно с сопряженным устройством:

Настройка Apple >Теперь, когда устройство сопряжено с компьютером, нужно связать ваш AppleID с Xcode. Можно использовать тот же идентификатор AppleID, что вы уже используете с Itunes и вашим устройством, однако, если вы разрабатываете корпоративное iOS приложение, то можете создать новый AppleID, чтобы разделить процессы разработки. Конечно, если у вас уже есть оплаченный аккаунт разработчика вы должны использовать именно его

Откройте меню Xcode -> Preferences -> Accounts:

Нажмите кнопку «+» внизу и выберите «Add Apple ID«. Xcode попросит логин и пароль от AppleID. Введите их и нажмите «Add«. Xcode проверит ваши данные и добавит их к списку аккаунтов.

Примечание: возможно Xcode не сможет использовать ваш Apple ID при условии, если он был ранее был использован как аккаунт разработчика, срок действия которого в настоящее время истек. Простейшим решением в этом случае является создание нового Apple ID. Это бесплатно и займет всего несколько минут. https://appleid.apple.com

Настройка проекта XCode

Вы все еще должны указать Xcode использовать эту учетную запись при создании вашего приложения. Перейдите к экрану настроек проекта и на вкладке General нажмите на Team, чтобы выбрать ваш Apple ID.

Ниже поля выбора команды вы видите предупреждение, «No code signing identities found» или «No matching provisioning profiles found«. Не лишним будет знать, что означают эти предупреждения. Для того чтобы Xcode мог запустить приложение на вашем iPhone, iPad или iPod, приложение должно быть подписано цифровой подписью с сертификатом на разработку (Development Certificate). Сертификат является электронным документом, который идентифицирует вас как разработчика iOS приложений и действует только в течение ограниченного периода времени. Приложения, которые вы хотите представить в App Store должен быть подписаны другим сертификатом «Distribution Certificat». Для использования Distribution Certificat необходимо быть членом платной программы разработчиков, однако использование сертификата разработки (Development Certificate) является бесплатным. В дополнение к действующему сертификату также необходим так называемый профиль обеспечения (Provisioning Profile) для каждого приложения которое вы разрабатываете. Xcode использует эти документы чтобы подписать приложение для запуска на вашем устройстве.

Читайте также:  Jquery ajax post пример data параметры

Специфика данных документов на первоначальных этапах разработки не имеет значения. Просто примите, что вам нужен Provisioning Profile или приложение не будет работать на вашем устройстве. Создание сертификатов и Provisioning Profile, в XCode 7 это очень простая задача!

Нажмите кнопку Fix Issue. Нужно немного подождать пока Xcode автоматически регистрирует устройство с вашей учетной записью, создает новый сертификат разработки, загружает и устанавливает Provisioning Profile на ваше устройство. Раньше вы должны были бы сделать это все вручную, но теперь Xcode 7 берет всю работу на себя. В этот момент возможно вы увидите следующее сообщение об ошибке:

Идентификатор пакета Bundle Identifier — это идентификатор приложения и он должен быть уникальным. Если какое либо другое другое приложение уже использует этот идентификатор, то вы не можете его использовать.

Поэтому для 100% уникальности следует указывать собственное доменное имя для Bundle ID, например ru.proswift.TestApp. Исправить эту ошибку легко: измените Bundle Identifier и повторите попытку.

Также возможно вы получите эту ошибку:

Xcode должен знать об устройстве на котором вы собираетесь запустить приложение. Вот почему мы начали именно с подключения устройства. Еще раз проверьте, что ваш iPhone или iPad по-прежнему подключен к Mac, и что ваше устройство есть списке Devices. У меня это окно выглядит так:

В основном окне XCode еще раз выберете ваше устройство и нажмите кнопку Fix Issue и предупреждение должно исчезнуть.

Настройка связки ключей

Все настроено и готово к работе. Нажмите Run, чтобы скомпилировать и запустить приложение. В этот момент вы можете получить всплывающее окно с вопросом «codesign wants to sign using key … in your keychain». Если вышло это сообщение, нажмите Always Allow — т.е. разрешать всегда. Это сообщение говорит о том, что Xcode пытается использовать новый сертификат разработки, который вы только что создали, но просит дать ему разрешение для этого.

Ваше приложение заработало на устройстве без аккаунта разработчика и без Jailbreak? Потрясающие! Если нет, то читайте дальше …

Возможные проблемы и их решение

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

Устройство не подключено.

Как ни странно это самая распространенная ошибка, поэтому я напишу о ней в третий раз в этой статье. Убедитесь, что ваш iPhone, iPod Touch, или iPad подключены к Mac. Устройство должны быть списке устройств Xcode, и на нем не должно быть желтого значка предупреждения, о том что устройство не доверяет компьтеру.

Подозрительный не одобренный Apple разработчик.

Если XCode выдаст такое сообщение, а на устройстве выйдет сообщение с текстом «Untrusted Developer. Your device management settings do not allow using apps from developer «, не нужно втираться в доверие к Apple :-). Для решения этой проблемы откройте на устройстве Настройки -> Основные -> Управление Устройством. Выберете профиль вашего Apple ID и вы увидите список приложений на устройстве, которые нужно перевести в разряд «Проверенные». Попробуйте снова запустить приложение.

Устройство заблокировано.

Если на устройстве установлен пароль, то вы можете получить это предупреждение:

Читайте также:  Autocad как поставить размеры

Приложение не будет работать если устройство заблокировано. Для решения нужно разблокировать устройство и запустить компиляцию еще раз.

Надеюсь данная информация будет вам полезна. По себе знаю, что начиная разрабатывать iOS приложения, разработчики сталкиваются с проблемой тестирования своих приложений на реальных устройствах. А несправедливость в виде $99 никак не греет душу брата программиста. И даже если разработчик решается на Jaibreak, все равно для запуска потребуется куча сторонних бубнов. Вариант описанный в данной статье позволит вам запускать и тестировать свои приложения без этих бубнов и совершенно бесплатно.

С нетерпением жду комментариев и критику статьи.

Доброго времени суток!

Сегодня мы начнем создавать своё первое приложение на Xcode.

Открываем Xcode и обращаем внимание на версию:

Желательно, чтобы она у Вас была не меньше чем у меня (5.0.2). Иначе могут возникнуть проблемы, которые исправлены в новых версиях, и вам это очень не понравится, вы будете нервничать. Так же, чем свежее версия Xcode, тем больший функционал новых ОС она будет включать в себя. А это значит больше возможностей и меньше проблем!

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

Нажимаем кнопку создания нового проекта.

Обратите внимание, что Xcode предлагает создание приложений как для iOS, так и для OS X. Это не может не радовать, учитывая, что надо изучить всего лишь один язык программирования.

Сейчас нам необходимы шаблоны для iOS — Application.

Рассмотрим их подробнее:

  • Empty Application — пустой шаблон для создания приложения с нуля
  • Single View Application — шаблон с одним готовым окном
  • Tabbled Application — используйте этот шаблон, если в вашем приложении будут вкладки. (даже если вы выберете другой шаблон, вкладки создавать не трудно).
  • Utility Application — шаблон для создания утилит, которые добавляют настройки программы в настройки вашего гаджета (телефона, планшета и т.п.)
  • OpenGL Game — для игр на основе OpenGL (открытая графическая библиотека).
  • Page-Based Application — приложение основанное на перелистывании: заметки, книги и т.п.
  • SpriteKit Game — для игр на основе SpriteKit (появилось в iOS 7)
  • Master-Detail Application — шаблон для развернутого меню, на подобие Настроек на iOS.

Для своего первого приложения мы выберем Single View Application.

Далее вводим название нашего проекта.

Возможно, у вас уже есть идея будущего приложения, но без основ вы далеко не уедете. Одним из первых пункотов знакомства с программой — это изучение переменных. Программу так и назовем — Переменные, но конечно на английском — Variables.

Organization Name берется из ваших личных контактов, поэтому пока не меняем.

Company Identifier — идентификатор компании.Через него будет проверяться уникальность вашего приложения. Допустим ваша компания/сайт зовется “yandex.ru”, значит в идентификатор надо записать “ru.yandex”, т.е. поменять местами домены. У себя идентификатор я назову ru.ios-programming. Ниже как раз можно увидеть объединенный идентификатор (Bundle Identifier).

Class Prefix — это название приставки (префикса), которая будет добавляться к файлам описания классов. Пока оставим пустым.

Devices — тот гаджет, для которого будет создаваться приложение. Можно выбрать один из трех вариантов: “iPad/iPhone/Universal” Если вы создадите приложение для iPhone, оно будет работать на iPad и наоборот, но интерфейс будет одинаковым. Выбор Universal говорит, что в данном приложении будет 2 интерфейса — для iPhone и iPad. Поэтому прежде чем выберете — подумайте, надо ли корректировать интерфейс вашей программы под разные гаджеты (мы же знаем, что размеры экранов у них значительно отличаются). Для нашего приложения выберем iPhone.

Нажимаем кнопочку Next.

Программа спрашивает, где мы сохраним наш проект. Выберите место и нажмите Create. Автоматически будет создана папка с названием вашего проекта в той папке, которую вы выбрали, то есть дополнительно папку под конкретный проект создавать нет необходимости.

Читайте также:  It news новости информационных технологий

Вот мы и положили начало первому приложению!

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Требования

Чтобы разработать приложение под iOS для iPhone/iPad в Xcode 8.2, понадобится Mac с операционной системой не ниже Mac OS X 10.11 El Capitan.

Установка Xcode и создание нового проекта iOS

1. Откройте App Store и установите последнюю версию Xcode (это руководство составлялось по Xcode 8.2)

2. Запустите Xcode и убедитесь, что у вас установлена новейшая версия Xcode:

3. Создайте новый проект: File > New > Project (⌘⇧N). Select iOS > Application > Single View Application:

4. Назовите приложение «Beep».
Company Identifier (идентификатором компании) должно быть доменное имя (написанное наоборот) Вот так: . com.example; можно использовать собственное доменное имя.
Выберите Swift в качестве языка (Language), а iPhone как устройство (Devices) (пока это будет приложение только для iPhone).
Не ставьте галочку на Use Core Data (фреймворк Core Data пока не нужен).

Добавьте активы

1. Скачайте assets.zip и распакуйте архив. Иконки. Звук.
2. Откройте Images.xcassets в проекте Xcode и перетяните изображения в проект:

Добавьте кнопку в View Controller в Storyboard

1. Откройте Main.storyboard. Вы увидите Initial View Controller приложения с пустым компонентом View:
2. Поищите Button в Object Library и перетяните эту кнопку в центр окна View:

3. В редакторе Attributes Inspector отредактируйте свойства для Button: удалите Title и выберите изображение Trumpet:

Создайте Layout Constraints (ограничения макета) для кнопки

1. Переместите Button (кнопку) в середину окна View и перетяните с зажатой клавишей Ctrl (правая кнопка мыши) в верхний левый угол, чтобы создать горизонтальные и вертикальные ограничения:

2. Зажмите клавишу Shift и выберите Center Horizontally в Container и Center Vertically в Container, затем нажмите Enter для подтверждения:

3. Это создаст ограничения для макета, благодаря которым кнопка всегда будет оставаться в центре, независимо от размера iPhone.

Создание действия (Action) для нажатия кнопки

1. Выберите View Controller и откройте Identity Inspector. Указанный класс (Class) содержит код, который отвечает за управление компонентами View этого контроллера.

2. Зажмите кнопку ⌥- и нажмите стрелку:

Это откроет код Swift для класса View Controller в Assistant Editor, помимо Storyboard.

3. Зажмите Ctrl (или правую кнопку мыши) и перетяните Button в тело класса, чтобы создать новый метод Action, который будет активирован при нажатии кнопки.

4. Выберите Action и назовите метод beep (гудок):

Код для воспроизведения звука

1. Перетяните файл trumpet.mp3 из assets.zip.

2. Выберите Copy items if needed, чтобы скопировать файл в папку проекта Xcode:

3. В верхней части файла ViewController.swift добавьте импорт AVFoundation — этот фреймворк содержит классы для аудио и видео:

4. В этом методе beep впишите avpl и зажмите ⌘ Space, чтобы показать выполнение кода в Xcode.

5. Нажмите Enter, чтобы подтвердить выбор AVPlayer.

6. Зажмите ⌥ и нажмите AVPlayer, чтобы посмотреть подсказки Quick Help и выбрать справку по классу Class Reference, чтобы посмотреть документацию для класса AVPlayer:

7. Ознакомьтесь с методами, чтобы создать AVPlayer и воспроизвести звук:

Написать с помощью Xcode код для UIViewController

8. С помощью кода Xcode напишите код для загрузки звуков из app bundle
в AVPlayer, и сохраните в классе View Controller, чтобы вызвать метод воспроизведения, когда кнопка нажата:

Запуск приложения в эмуляторе

1. Выберите iPhone Simulator для Scheme и нажмите Run (⌘R):

2. Приложение запускается в эмуляторе:

Ссылка на основную публикацию
Adblock detector