Как создать своё первое iOS-приложение

Как запустить свой проект на iphone. Спокойно, это не так сложно, как может показаться на первый взгляд

Как создать своё первое iOS-приложение. Подробная инструкция от профессионалов

Спокойно, это не так сложно, как может показаться на первый взгляд

На­учить­ся мо­биль­ной раз­ра­бот­ке не так труд­но: глав­ное — знать, с чего на­чать. Иль­дар Гиль­фа­нов, iOS Team­lead e-le­gion и экс­перт кур­са «iOS-раз­ра­бот­чик» он­лайн-уни­вер­си­те­та «Нето­ло­гия» счи­та­ет, что раз­би­рать­ся во всех сим­во­лах кода и язы­ках раз­ра­бот­ки луч­ше сра­зу на прак­ти­ке. Спе­ци­аль­но для «Цеха» он под­го­то­вил по­ша­го­вый план дей­ствий по изу­че­нию раз­ра­бот­ки на iOS и со­зда­нию сво­е­го пер­во­го при­ло­же­ния.

Ку­пи­те мак

Не хо­чет­ся на­чи­нать с пло­хих но­во­стей, но раз­ра­ба­ты­вать при­ло­же­ния под iOS (как и под дру­гие яб­лоч­ные ОС) мож­но толь­ко на ma­cOS. Но не спе­ши­те ста­вить крест на ка­рье­ре iOS-раз­ра­бот­чи­ка из-за до­ро­гой тех­ни­ки Ap­ple. Если вы толь­ко учи­тесь, рас­смот­ри­те ва­ри­ан­ты с вир­ту­ал­ка­ми или ха­кин­то­шем. Ин­струк­цию по при­ме­не­нию мож­но лег­ко най­ти в лю­бой по­ис­ко­вой си­сте­ме.

При по­куп­ке б/​​у тех­ни­ки про­верь­те сов­ме­сти­мость вер­сий ma­cOS и сре­ды раз­ра­бот­ки Xcode. Если вы не уве­ре­ны, что мак по­лу­чит ещё пару но­вых вер­сий ОС, луч­ше воз­дер­жать­ся от та­кой по­куп­ки.

Три ре­ко­мен­да­ции при вы­бо­ре мак:

  • 8 Гб опе­ра­тив­ной па­мя­ти (в неко­то­рых ма­ках её мож­но ме­нять);
  • SSD (его тоже мож­но по­ста­вить поз­же, за­ме­нив HDD);
  • 4 ядра (их по­ме­нять нель­зя, по­это­му по­ста­рай­тесь взять хотя бы 4).

Изу­чи­те Swift

Итак, мак у вас есть, и вы уже, на­вер­ное, хо­ти­те по­ко­рять рей­тин­ги App Store, но сна­ча­ла нуж­но осво­ить ин­стру­мен­ты, с ко­то­ры­ми вы бу­де­те ра­бо­тать. Са­мый важ­ный — это, ко­неч­но, язык про­грам­ми­ро­ва­ния Swift.

Swift очень дру­же­лю­бен к на­чи­на­ю­щим. Вы в этом убе­ди­тесь, на­пи­сав свою первую про­грам­му — Hello World. Это про­стей­шее при­ло­же­ние, ко­то­рое со­зда­ют все но­вич­ки в раз­ра­бот­ке на пер­вом уро­ке, оно вы­во­дит окно с ва­шим име­нем и при­вет­стви­ем. Его мож­но на­пи­сать даже, если вы еще не зна­е­те всех ин­стру­мен­тов язы­ка.

Бла­го­да­ря Swift play­ground в сре­де раз­ра­бот­ки Xcode мож­но на­чать пи­сать код, не раз­би­ра­ясь в са­мой сре­де раз­ра­бот­ки и осо­бен­но­стях си­сте­мы, а ещё — на iPad есть при­ло­же­ние Swift Play­grounds. Это на­сто­я­щий ре­дак­тор кода, в ко­то­ром мож­но раз­ра­ба­ты­вать неболь­шие при­ло­же­ния, игры и изу­чать Swift в ин­тер­ак­тив­ном учеб­ни­ке.

iOS-при­ло­же­ния раз­ра­ба­ты­ва­ют­ся в пол­но­цен­ных про­ек­тах. В них мож­но не толь­ко пи­сать код, но и ра­бо­тать с ре­сур­са­ми, ин­тер­фей­са­ми, те­ста­ми, а так­же на­стра­и­вать и пуб­ли­ко­вать про­ект.

Не за­бы­вай­те прак­ти­ко­вать­ся. Если вы обу­ча­е­тесь са­мо­сто­я­тель­но, и в до­ступ­ных вам кни­гам или ве­би­на­рах нет прак­ти­че­ских за­да­ний, при­ду­май­те их сами. За­пус­кай­те при­ме­ры кода, про­буй­те сра­зу при­ме­нить на прак­ти­ке по­лу­чен­ные зна­ния, экс­пе­ри­мен­ти­руй­те.

Ос­нов­ные фрейм­вор­ки iOS

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

Для на­ча­ла со­сре­до­точь­тесь на изу­че­нии UIKit — это фрейм­ворк для со­зда­ния ин­тер­фей­са iOS-при­ло­же­ния. Кноп­ки, тек­сто­вые поля, лейб­лы, спис­ки, ани­ма­ции, окна, же­сты, drag-and-drop — всё это и мно­гое дру­гое вхо­дит в UIKit.

Для со­зда­ния ин­тер­фей­са при­ло­же­ния в Xcode есть гра­фи­че­ский ре­дак­тор. Он поз­во­ля­ет лег­ко до­бав­лять нуж­ные эле­мен­ты на экран и за­да­вать пра­ви­ла их по­стро­е­ния. Им поль­зу­ют­ся не толь­ко на­чи­на­ю­щие, но и про­фес­си­о­наль­ные раз­ра­бот­чи­ки. Так что не трать­те вре­мя на вёрст­ку в коде.

Foun­da­tion — вто­рой по важ­но­сти си­стем­ный фрейм­ворк. С его по­мо­щью вы бу­де­те ра­бо­тать с да­та­ми, ре­сур­са­ми, фай­ло­вой си­сте­мой, дан­ны­ми поль­зо­ва­те­ля и се­тью. Часть его обя­зан­но­стей за­бра­ла на себя Swift Stan­dard Li­brary. На­при­мер, стро­ки и кол­лек­ции. Но Foun­da­tion всё рав­но оста­ет­ся важ­ным ком­по­нен­том си­сте­мы.

Пла­ни­ро­ва­ние

Во вре­мя изу­че­ния си­стем­ных фрейм­вор­ков вы мо­же­те на­чать ра­бо­ту над соб­ствен­ным при­ло­же­ни­ем. Воз­мож­но, это бу­дет про­сто to-do лист. Или у вас на те­ле­фоне есть очень по­лез­ное при­ло­же­ние, но оно чем-то не устра­и­ва­ет, и вы хо­ти­те сде­лать своё. А мо­жет у вас есть су­пер идея для со­вер­шен­но но­во­го при­ло­же­ния. В лю­бом слу­чае, для на­ча­ла вам нуж­но опре­де­лить­ся с тем, что бу­де­те де­лать:

  • Про­ана­ли­зи­руй­те по­хо­жие при­ло­же­ния в App Store. Это по­мо­жет по­нять, чего не хва­та­ет поль­зо­ва­те­лям ва­ших кон­ку­рен­тов.
  • Со­ставь­те спи­сок функ­ций сво­е­го при­ло­же­ния. За­пи­ши­те все свои идеи, что­бы не за­быть.
  • Вы­бе­ри­те из них несколь­ко са­мых важ­ных. Это бу­дет ваш объ­ём ра­бо­ты на пер­вый ре­лиз.

Важ­ны­ми яв­ля­ют­ся ба­зо­вые функ­ции при­ло­же­ния. То есть те, без ко­то­рых оно не име­ло бы смыс­ла. При­ло­же­ние, со­сто­я­щее толь­ко из та­ких функ­ций, на­зы­ва­ет­ся MVP (Min­i­mum Vi­able Prod­uct). По­ста­рай­тесь так­же до­ба­вить в спи­сок несколь­ко функ­ций, ко­то­рые от­ли­ча­ли бы ваше при­ло­же­ние от кон­ку­рен­тов и пред­став­ля­ли бы для поль­зо­ва­те­ля осо­бую цен­ность.

Пора пе­ре­хо­дить к ди­зай­ну. Нач­ни­те с ка­ран­даш­ных на­брос­ков, а если хо­ти­те соз­дать несколь­ко на­сто­я­щих ма­ке­тов, не обя­за­тель­но осва­и­вать слож­ные при­ло­же­ния. Мож­но огра­ни­чить­ся даже Keynote.

Ко­неч­но, вы не смо­же­те за­ме­нить про­фес­си­о­наль­но­го ана­ли­ти­ка, мар­ке­то­ло­га и ди­зай­не­ра, но если вы ра­бо­та­е­те в оди­ноч­ку, вам при­дёт­ся са­мо­сто­я­тель­но вы­пол­нить эти шаги. Очень важ­но опре­де­лить и за­фик­си­ро­вать объ­ём ра­бо­ты. Ведь лю­бая цель долж­на быть кон­крет­ной и до­сти­жи­мой. Ина­че вы рис­ку­е­те ни­ко­гда не за­кон­чить своё при­ло­же­ние.

Раз­ра­бот­ка

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

  • Изу­чай­те чу­жой код. В ин­тер­не­те есть огром­ное ко­ли­че­ство ста­тей с при­ме­ра­ми хо­ро­ше­го кода, а на Github мож­но най­ти ис­ход­ный код це­лых при­ло­же­ний.
  • На­учи­тесь на­хо­дить от­ве­ты на во­про­сы в ин­тер­не­те. По­ис­ко­вик, Stack Over­flow, до­ку­мен­та­ция, обу­ча­ю­щие ста­тьи и ин­струк­ции — в них вы най­де­те от­ве­ты на боль­шую часть сво­их во­про­сов.
  • Най­ди­те че­ло­ве­ка или со­об­ще­ство, что­бы за­да­вать во­про­сы, на ко­то­рые най­ти от­вет не по­лу­чи­лось. И если вы хо­ти­те по­лу­чить хо­ро­шие от­ве­ты, на­учи­тесь за­да­вать пра­виль­ные во­про­сы — по­дроб­ные.

Пора от­кры­вать Xcode и при­сту­пать к ра­бо­те. Воз­мож­но, вы нач­не­те с экра­на ав­то­ри­за­ции или с ос­нов­но­го экра­на, а мо­жет быть, с со­зда­ния об­щей ар­хи­тек­ту­ры при­ло­же­ния. В лю­бом слу­чае, со­хра­няй­те по­ря­док с са­мо­го на­ча­ла про­ек­та:

  • груп­пи­руй­те фай­лы по пап­кам;
  • уда­ляй­те неис­поль­зу­е­мый код;
  • при­дер­жи­вай­тесь сво­е­го код­стай­ла;
  • не дуб­ли­руй­те код;
  • не до­пус­кай­те раз­рас­та­ния вью кон­трол­ле­ра (MVC не за­став­ля­ет пи­сать весь код в кон­трол­ле­ре).

Вам при­дёт­ся взять на себя и обя­зан­но­сти те­сти­ров­щи­ка. Обя­за­тель­но про­ве­ряй­те всё, что де­ла­е­те. Если что-то мо­жет пой­ти не так, оно пой­дет не так. По­это­му про­ве­ряй­те все сце­на­рии, а не толь­ко по­зи­тив­ные. По­лез­но дать своё при­ло­же­ние дру­го­му че­ло­ве­ку. Это поз­во­лит най­ти ошиб­ки не толь­ко в ре­а­ли­за­ции, но и в са­мой кон­цеп­ции при­ло­же­ния.

Вы­клад­ка в App Store

Ещё одно пре­пят­ствие для неза­ви­си­мых раз­ра­бот­чи­ков — это необ­хо­ди­мость пла­тить $100 за воз­мож­ность вы­ло­жить своё при­ло­же­ние в App Store. О том, как за­ре­ги­стри­ро­вать­ся, в ин­тер­не­те ин­фор­ма­ции мно­го, ее най­ти лег­ко.

По­сле ре­ги­стра­ции ак­ка­ун­та мож­но пе­ре­хо­дить к пуб­ли­ка­ции. Для это­го нуж­но вы­брать в Xcode меню Prod­uct->Archive. По­сле ар­хи­ва­ции — на­жать кноп­ку Dis­trib­ute App и до­ждать­ся вы­груз­ки.

При­ло­же­ние по­па­да­ет в App Store Con­nect. На этом сай­те вам нуж­но за­пол­нить ин­фор­ма­цию о при­ло­же­нии, до­ба­вить скрин­шо­ты и ин­фор­ма­цию для ре­вью­ве­ров Ap­ple. Да, ре­вью про­хо­дить обя­за­тель­но. Озна­ко­мить­ся с пра­ви­ла­ми мож­но тут. От­ча­сти это ру­лет­ка, но если сле­до­вать всем пунк­там, то ве­ро­ят­ность успеш­но­го ре­вью силь­но уве­ли­чи­ва­ет­ся. Для на­ча­ла изу­чи­те ос­нов­ные при­чи­ны для от­ка­за. При­ло­же­ние долж­но:

  • Ста­биль­но ра­бо­тать и не вы­ле­тать.
  • Иметь ра­бо­чую ссыл­ку на поль­зо­ва­тель­ское со­гла­ше­ние.
  • Быть пол­но­стью за­кон­чен­ным, ра­бо­то­спо­соб­ным и функ­ци­о­наль­ным.
  • Да­вать чет­кие объ­яс­не­ния при за­про­се раз­ре­ше­ний на GPS, ка­ме­ру, кон­так­ты и так да­лее.
  • Иметь скрин­шо­ты и пол­ное опи­са­ние в ма­га­зине (их от­сут­ствие — одна из са­мых рас­про­стра­нён­ных при­чин для от­ка­за).
  • Быть уни­каль­ным. Нель­зя вы­кла­ды­вать ко­пию дру­го­го при­ло­же­ния (в том чис­ле сво­е­го соб­ствен­но­го).
  • Не ис­поль­зо­вать при­ват­ное API.

Обя­за­тель­но нуж­но ука­зать те­сто­вый ак­ка­унт для ре­вью­ве­ров в спе­ци­аль­ном поле, если в при­ло­же­нии есть ав­то­ри­за­ция. Если при­ло­же­ние со­дер­жит встро­ен­ные по­куп­ки, то сто­ит уде­лить осо­бое вни­ма­ние к тре­бо­ва­ни­ям раз­де­ле 3.1.

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

Даль­ней­шее раз­ви­тие при­ло­же­ния

По­здрав­ля­ем! Ваше пер­вое при­ло­же­ние уже в ма­га­зине, а вы с на­деж­дой смот­ри­те на счёт­чик ска­чи­ва­ний. Но ра­бо­та ещё не окон­че­на. Даль­ше вам пред­сто­ит раз­ви­вать и под­дер­жи­вать своё при­ло­же­ние.

По­сле того, как вы раз­бе­ре­тесь с ос­но­ва­ми, пе­ре­хо­ди­те к изу­че­нию дру­гих тех­но­ло­гий. GPS, push-уве­дом­ле­ния, Ap­ple Pay, Siri, AR, ин­фор­ма­ци­он­ная без­опас­ность, ра­бо­та с ме­диа и огром­ное ко­ли­че­ство third party-сер­ви­сов и фрейм­вор­ков — изу­чая и ис­поль­зуя в ра­бо­те что-то но­вое, вы по­вы­ша­е­те свою цен­ность на рын­ке. По­это­му, если вы хо­ти­те быть хо­ро­шим раз­ра­бот­чи­ком, ни­ко­гда не оста­нав­ли­вай­тесь на до­стиг­ну­том.

Под­во­дя итог

В ста­тье мы по­ста­ра­лись от­ра­зить са­мые ба­зо­вые во­про­сы мо­биль­ной раз­ра­бот­ки на плат­фор­ме iOS и эта­пы со­зда­ния про­сто­го при­ло­же­ния. Спо­со­бов даль­ней­ше­го по­гру­же­ния в тему есть очень мно­го. Вы мо­же­те са­мо­сто­я­тель­но чи­тать про­филь­ную ли­те­ра­ту­ру и смот­реть обу­ча­ю­щие ро­ли­ки на Youtube, там их лег­ко най­ти. Мо­же­те смот­реть ве­би­на­ры или лек­ции с пре­по­да­ва­те­ля­ми, ко­то­рые так­же на­гляд­но по­ка­зы­ва­ют, что та­кое мо­биль­ная раз­ра­бот­ка.

Мы так­же пред­ла­га­ем об­ра­тить вни­ма­ние на до­пол­ни­тель­ные он­лайн- и офлайн-кур­сы, ко­то­рые дают го­то­вый план обу­че­ния, струк­ту­ри­ро­ван­ную ин­фор­ма­цию и до­пол­ни­тель­ную мо­ти­ва­цию не за­бро­сить обу­че­ние. Под­хо­дя­щих кур­сов сей­час на рын­ке пред­став­ле­но до­ста­точ­но мно­го, и если этот ва­ри­ант ка­жет­ся вам наи­бо­лее под­хо­дя­щим, сме­ло изу­чай­те об­ра­зо­ва­тель­ные про­грам­мы. Хо­ро­шая про­грам­ма долж­на преду­смат­ри­вать:

  • Зна­ком­ство с язы­ком про­грам­ми­ро­ва­ния Swift.
  • Изу­че­ние фрейм­вор­ков для со­зда­ния поль­зо­ва­тель­ских ин­тер­фей­сов, ра­бо­ты с се­тью, мно­го­по­точ­но­сти и хра­не­ния дан­ных.
  • Осво­е­ние сре­ды раз­ра­бот­ки, ме­то­дов по­ис­ка оши­бок и те­сти­ро­ва­ния.
  • Прак­ти­че­ские за­да­ния.
  • Воз­мож­ность за­дать во­прос пре­по­да­ва­те­лю и по­об­щать­ся с од­но­курс­ни­ка­ми.

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

Запуск и тестирование своих iOS-приложений на устройстве без аккаунта разработчика и без Jailbreak

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

test_your_app_4_proSwift_ru

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

test_your_app_5_proSwift_ru

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

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

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

test_your_app_6_proSwift_ru

Настройка AppleID

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

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

test_your_app_7_proSwift_ru

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

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

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

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

test_your_app_8_proSwift_ru

Ниже поля выбора команды вы видите предупреждение, «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 использует эти документы чтобы подписать приложение для запуска на вашем устройстве.

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

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

test_your_app_a_proSwift_ru

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

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

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

test_your_app_b_proSwift_ru

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

test_your_app_6_proSwift_ru

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

test_your_app_f_proSwift_ru

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

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

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

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

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

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

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

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

test_your_app_d_proSwift_ru

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

Test_your_ios_app_free_1_proSwift_ru

Test_your_ios_app_free_3_proSwift_ru

Test_your_ios_app_free_2_proSwift_ru

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

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

test_your_app_free_e_proSwift_ru

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

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