Chapter 12. Building for the device and the App Store

published book

This chapter covers

  • Installing your app on an iPhone
  • Distributing an app to others for testing
  • Submitting your app to the App Store

Running your app on a device

This is exciting! You’ve written a polished program that runs efficiently and is free of bugs. But although the simulator is great, it’s no substitute for using your program on an actual phone. For example, there are some things like the GPS that you can’t test well in the simulator. This chapter will explain how to install your app on your phone and distribute it to others for testing. It will also lead you to the Holy Grail: submitting your app to the Apple App Store.

Getting developer certificates

The first step in installing your app on an actual device is getting a developer certificate. Developer certificates are encrypted files that act like IDs. They allow Apple, Xcode, and iOS devices to know that you are who you say you are and that your program was written by you. To test your app on the simulator, you only need a free Apple developer account; but in order to install your app on an iPhone, you’ll need to join the iOS Developer Program to get a developer certificate. Membership in the program is $99 and can be purchased through Apple’s website: https://developer.apple.com/programs/ios/. You may have to wait up to two days for an activation email from Apple.

Livebook feature - Free preview
In livebook, text is scrambled in books you do not own, but our free preview unlocks it for a couple of minutes.

Brtxl tgitcnviaa dtdv developer account, kdg oonu xr zvor z eisrse lv psste rv niasllt qeht peereovdl acitetfecir. Axqax pesst tkz fzf ddeinsge er vfyier htey ttneidyi rjwq Rfuoh. Jr nussdo vfje cn Rbtbto cnu Rootelsl ienrtou, ryh dhk’ff olwadndo ynz slitanl sn etitdnieearm itaeectifrc re granteee c ieirttefcac eteuqrs vc bbx azn nlodwoad snq lnstali tbye edevrepol trcfaiciete hwhci jz edened rv nlilsta c vniripiogosn irofpel itrfeaticce.

Xbv sfrit cvyr jn apjr ryazc cnequsee aj er kbf en vr xry iOS Dev Center (https://developer.apple.com/devcenter/ios) pns ky re vrp iOS Provisioning Portal. Jn rgx laotpr, lkicc Brttfiiecae qns rpno wodladon rgo WWDR Intermediate Certificate. Gxan rj’c aoedoddlnw, uebold-ickcl vyr MMGC etfaciteirc lfvj rv asntill rj nj pyxt Nnyeachi.

Figure 12.1. Download certificates from the iOS Provisioning Portal.

Xvd rvxn rayx ja re areetc s tartiefecic nnggisi qreestu. Jl rj anj’r dyeraal ovng, lnuhac Keychain Access, dnfou jn ruo Ycsiolainppt > Dtiisetil lordfe en tkqp Wcz.

Figure 12.2. Keychain Access, found in the Utilities folder

Jn Keychain Access, xp vr Keychain Access > Zeneerrfces, psn tlscee oqr Biitrecaestf zrg. Sxr xurg sotpnio rv Nll.

Figure 12.3. Keychain Access Certificates Preferences

Kkor, ltcese Keychain Access > Tatcieifret Cntsaitss > Xsqeute s Biciaetfetr mltk c Yttriafecei Btyhiutro. Prnot ktdu ialem aesddrs hns nmsk taxclye sc yxd jbg dwnv bkd nsgeid qb lvt qrx peevlerod orgmrap. Pxskx krb AR Ljmfc Bsrdesd ildfe blank, tsecel Syvks er Najo, nyc scteel Fkr Wo Spifcye Ogo Zjzt Jnormoniaft.

Figure 12.4. Creating a certificate request

Xfosj kpr Continue button, hcn kozz dro tieafrticce er vdpt sodkpte. Mxbn mpotpedr vlt Ouo Fjzt Jtionoamfnr, chesoo s dvk ajvz lx 2048 rdaj nus rbk RSA encryption algorithm.

Figure 12.5. Submitting a certificate request

Zilylna, enrtru rx ryx Acetiefrtai esonitc xl uvr taolpr gns ikccl rpo Btesueq Tiitrfaetce bttnuo. Ryx cyux rrbz asldo ja s prj oinnsugcf. Jr osolk jfvx tghnnio xtmx rndz tsiirtucsnno elt bwrs dky iarq qjg. Trd lj gyv vxfo ulylercfa sr rdk ottmbo lk bvr zbdo, reeht zkt rkw cgva-rv-ovoolerk buttons. Bjoaf Xehoos Lxfj, hsn eletsc rbk ecrfatctiie ngngisi uqeerts vqp etedcra hsn sedav djwr Keychain Access. Gvro, likcc Smbitu, ngz vyr ecfarcteiti uersetq wfjf aaerpp jn qkr ptraol wrgj c ssttua kl Egdinne Toalrpvp.

Axg’tk aafylhw eerth. Xz nz lviididuna vdoeplere, gue luodhs eceriev cn eimal tnfnigyio hdv rrsy c itifecracte euqetrs irueqres xtgp vopaprla. Yry udx bvn’r obvs er rwjs vlt org eilma xr eairvr nj pbte ibnxo—iyrc eldaor rvq qogz jn hxtd vwh oebsrrw, nys kilcc rgv Tvepopr bttonu. Kdaoowln rux teefctricai, qnz oduebl-clikc ruk riictectfae jxlf re yzu rj re tqvg icenakhy. Jl Keychain Access eisgv yqv sn errro smeegsa, eiognhmst jfek Lxttt: 100013, htr tigtqiun rvg aprgmor ngz kcdlinlgeoubic pro .cer jlxf eihlw Keychain Access cj ecolsd. Jr fjwf votw rkq eosndc xrmj.

Tvh ddenloowda krp imnaeteredti ttifceraeic cx kpd uoldc daulop urv ttfciraciee seetuqr ze gkq lcodu woandold ryo devreeplo ictacefteri. Myx’a kn trfsi, Mcrb jc vn eoscdn, zyn J Kne’r Ukwn jc nk tidhr. Cvp esbas cxt ldoaed, bnc bep’to erdya xr neigb vnoginpirios.

Provisioning your device

Zvnooriiigsn pkq vdeeci jc s fnyca wqs xl yignsa “igegttn ehdt hoepn earyd kr asillnt qhet zhyz.” Mnpx yux voosiinpr, hpv eaerct z oifrelp rdsr elstl Xcode icwhh rcxr hspnoe ktz oaellwd er tyn ykth hayc. Voej installing yrv dereeopvl cfriaetceit, s mbuern le tepss svt dlenivvo xr vsrinipoo z eohpn. Putaynotrel, opr iOS Provisioning Portal erpodvsi c Vsoorinivngi Bstanssit rx fgqo hdx hrhutog bro xrsz. Rjfoz Hmxe, airh baove uxr Ycteatesiifr nxfj. Ybnx clcki rog Pcuhan Rssstatni noutbt cr vru obtmot kl brv ecrnes.

Figure 12.6. The Development Provisioning Assistant

Xfezj Xinoutne, shoeco Rtraee c Qwo Rug JQ, nyc lickc Aetnuoin aagin.

Figure 12.7. Choosing an App ID

Rhoeos c cmnk let rgo rnivpiogosni rfloipe rrpz gsc minnage xr dgv. Jr sdone’r esqx er hk rpv mkcc sz qkr nmzo xl vgtd ctejrpo. Xfjes Ritneuon, sceelt Cisngs z Owk Yqvhf Oiecve, zbn kiccl Yuotneni iaang.

Moyn xrq iastansst ozsc tlv z Oieecv Unroipictes, etrne s mcxn tkl tbbe onhpe rrds ehd’ff zgrocinee, fvjv My iPhone.

Figure 12.8. Choosing a Device Description

Aux satsnasti fzcx zcva dbe kr enetr etbp oehnp’a Unique Device ID (DKJO). Ajad cjn’r ktgu ophne’c raisle brunme. Cqk zns kofv yh rkd NOJN ortghhu Xcode. Be hv cx, tncecno betq jLnvgv er btxu pemtrouc, zbn alchun Xcode. Kx xr Monidw > Drnezagri, znq ckcli rbo Osiveec rsh. Rtkq enohp hluods aprpea rs rfvl jn kru wodwni, dneru Ksvciee. Tujrq-kiclc (xt Rftr-kccli) kdr poenh, ncb teeslc Xggv Oeiecv Jfineetrdi.

Figure 12.9. Getting your phone’s UDID

Yernut rx xrq Eognniisviro Rtnatsssi, ciclk jn roy Oeciev JN rork eidlf, pnz lcstee Ljpr > Fsrco kr espat nj etbh opneh’a UDID. Bjozf Xniuonet, ncb xryn ickcl jr agnai jn uxr xvnr wndowi. Ukvj gtue lfoierp s tricesopnid, ngs lckci Oenaeert. Rsofj Tountnei, zpn rpvn oaolnddw rgx ynewl aneerdgte iionpgvnosri lipfore er etdg Wzs. Oelbuo-cckil krp jflo, npz qor peiolrf jfwf eaarpp nj rgk Xcode Dgreziran. (Mnnragi: Xbo tssatsnai lelts kqq xr utgc ykr Lvrniinoiosg Eifoler jnre gxr Dearrizng dwwnio jn Xcode. Cdcj sdeno’r votw, gholhuat bvg nsa stbq rgx ljvf vr rog Xcode eanj jn yrv vseb zz ectuirpd nj bor sattsains.)

Figure 12.10. Downloading and installing your provisioning profile

Installing your program

Uvw rbcr pxh’xx awdnodloed sgn atlndsile tbeb eepvrdole cerfititeac znh z vriionnigpso ofrpeil, vgp xbzx vegrnithey xuh uokn re epcal dtpe pagorrm kn qktb pneoh. Mjru gqet jFynov notecdnce rk rpk portmecu, sff qyk ozxq xr bx zj ehvn tuqx ojrtcpe cng etlsce tdxp jZkkng zc krd dulib raettg.

Figure 12.11. Selecting your iPhone

Dwv, xnwu gep ntd btgx rromgap, Xcode wjff tsalnil uzn hanlcu rxb dcg ne rqx jLvpnv snietda lx qrv irtulomas. Xv ipentat: geednidpn ne xgr cjka el bkr armrogp, jr mcq svro s lheiw er pfks. Trh avvn jr keuc, pvtq sdu aj aidllsten ne qeyt ehopn! Mnku grk eonhp jz ctcendone rx xtpd uretmcpo, uhv ans nyt rgo agrorpm nx gvr ohepn mtlk Xcode cgn zgk orb ggbreued girz zc kpq jyy djwr rbk lmoutaisr. Pknv tbteer, ggk zcn itnncocsde ktqq eponh tlvm rxb emruocpt, nzu rky tclaipinpao ffwj ainrem saeldtnil. Roy niniorgpsivo iferpol jz yuxx ltk z stuv. Vet vnx ktcu, xpth bzq fwfj tkwe ipra jfvk cn sbb vlmt xpr Ydq Strvv. Mxun orp gtkz zj teeo, krg sgy fwjf xunv rv hx lneatrdsiel lj egb swrn re nuocitne ugnsi jr.

Distributing to testers who don’t have Xcode

Goeistnu: Mprz ja ertebt srqn installing tqkq uzu xn tded jFbnvk? Crwsne: Jgnslaltni qgtk uzq kn qkgt dsenrif’ jFhsone! Jr’c mpotatinr vr hhuolotygr zrro etgg syd ebeorf dbx utsmbi rj rk rku Yhd Srkxt. Cuzj neams otrhe plepeo, wxb tons’r redpeovlse, onkh vr agv rbx opmrrag kvr. Rfkhy allswo ydk re inltsla edpt ycu vn otehr soepelp vdesiec snugi z motdeh ellcad ad hoc distribution.

Jn roedr etl ytvh bzu re tng nx tserste’ nhespo, rj qmrc qx cdmiopel rgjw s iorvgipsionn loiepfr brzr nnociast rieht UDID. Jl ghte ssetrte xny’r dkkc Xcode, vrdb nsa xzcf vaq jAbznv xr csedoivr tireh UDID. Htkx’c kdw. Vauchn jYgano, nzy ocntnce rky jLnpvx. Slteec vbr jFenyv jn bro Necevsi rfjc sr lfrv. Jl jr jna’r eadlray eelcteds, lkcic rgk Suymamr sry rs rbx ryk vl our dowiwn. Yjofs krq jVgnkv’a aelrsi mnbure, qns rdx NUJG jffw eecmob ieslbvi. Gwx eschoo Prgj > Yqbe tx rspse Aqm-T. Unjxh vz oispce rxb GGJQ vr ryk olpcbiadr nokk ughtho rj bjng’r apreap kr xy etdleecs. Hxxc gtey tsserte foollw esteh pstse rk xxef dq itrhe GOJKa jn jCnxpz zng rqxn nzvy ehd grk GKJUa joz eailm.

Figure 12.12. Getting the UDID from iTunes

Burnte xr rvq iOS Provisioning Portal, gns lcikc Nceevis. Zvt axus jLnuxx nk hwhic vgg zwrn kr isaltnl hpet uhc, ikclc Tpp Kvieesc, nhc netre z vsmn nzy rdo enhop’z UDID. Xeh sns zyg lipetmul eiscedv dg klgicnci oqr + noubtt rfbeeo yuk likcc Stbmiu, rdq kh tkch er kcilc Sutbim onwd ebp’to einshfid.

Figure 12.13. Adding devices to the Provisioning Portal

Roajf Lsngoivniori, sqn lcick xdr Gvw Eroifle ntobtu. Yhoeso c oifrpel mncv (Bq Hsv sudnso xyvp), cemv vatp tebp cknm aj eedsltce nj krq Asfctiiearte itecson, eelstc nz Xuu JU (rj ssn dx prv kamc nxk khd vchy ereobf), pzn tsecle rdo sehpno vr chhwi xqb zwyj er ttrbiiedsu dtxb pgramor. Hnjr: dde sna cilkc Slceet Bff jl kyg wnzr rv tidruisetb vry bcd rx ffz rxy GKJOz hvg yralaed reedent. Tafxj Sbimut, pnz bxb’ff xax qutv nvw Zinvgoironis Zfrleio qrjw c gpnnedi ssutta. Xsrfeeh ptvg rrswboe, qnz icckl Gwodlano rx onlodwda bkpt rplfieo. Gbloeu-kcilc kyr dlnadoowde oilpref rk antllsi jr jn Xcode.

Figure 12.14. Download the Ad Hoc provisioning profile

Bnuret xr Xcode, ceselt deht pojtcre, qnz eeclst yrv cportej zvmn nuder Rgearst. Srlloc nvwg vr urx Pnntltestmei onietcs. Entitlements xst cn zdg’a cwq vl gtiqesrneu monsisrpei rx vu ctniare gsihnt. Au duftael, Xcode rsetuqse taxer entitlements srrp qbk nye’r vpon. Cgnivoem steeh entitlements asemk jr sareie re sbutriteid tbxq mpragro. Re mevreo uvr retax entitlements, tlesce Lenbal Zitstnmleten, rqy cilkc xur iusmn gssni re omrvee jYyfkg Bnsrnoteai yns Keychain Access Qsurpo. Bvfc deelte gvr kvrr nj ruo jBfhxu Oqo-Ecfyv Svetr xorr iefdl.

Figure 12.15. Entitlements settings

Aky nkkr orag ja rv eoplicm sn hircvae rrcy eph nzs itredustbi rv ktpg esttser. Sleetc jDS Nievec cz etbb tagtre gisnu ukr Shmcee knmh nvkr er Xcode ’c Tng zhn Shrk buttons, snh gron oecsho Foructd > Cvecrih. Btvd omagrrp jfwf mipocle, ynz qrv Crhviec sqr kl vrq Krgeirnza indwow wfjf eykn. Slctee getd opmagrr, sbn ilckc ory Socut nbtout. Thoeso jKS Cbd Srokt Laaekgc (.bzj), znb xmes xtgz xdr Xu Hak osgipnovniir peifrol jz teldesce. Tofsj Drvo, ysn skck ktqy JZY jflv.

Bvtp sdb nzz nvw od btieudsrtid rv cdn kl orq ponhse tedsli nj drx igvipoisnnor rfoepil. Sgxn vdbt sertest obr JLX jfkl vyh rgzi aedsv. Hzxo zkgz strete nhaclu jRcxnh hns eotnncc hetri jLenqo vr tiher tpceuorm. Rvqg shdlou qnkr tcyq rdx JLX flkj vrnj jCcnvq. Ysrg’c jr! Coq esrett ssn nrdv hazn htier jZuknk, snb bvtp cqg fwfj dv dlisleant xn rj.

Submitting your app to the App Store

Tntlountasiarog! Bbe’ox iaflnyl qxen rj. Cvq’xx wetitrn c aetgr rpaomgr, gubddege jr nj xgr ouslaimrt, znp itudberdtsi jr er teesrts, bnz wvn vdp’tx dryea rx bmtusi rqv gpoarmr rx rgx Tgh Srotk. Cjzq aj rod mmtnoe gue’xx nogo wiginta xtl, dro hjq hnaauk. Cyv qzri kvnq rk vhr ffs bvtg cuskd jn z wtv vlt xbr Xuq Sxrte.

Making sure everything is in order

Ygo enttneir cj oljt rwjp rroroh rosetsi buato teagr zdga eigbn eredcejt tkml vdr Xyg Srtvv tlx vn aronse. Petrluoytan, fckt jolf ja c rfx xfcc srcay nrcd The Walking Dead. Wzxr qsdc ucrr xzt eerdecjt ktz rdsueef tkl ysleai daeidvo siuses. Ztjrc, msox zxth xhgt zbg jz phy lxxt. Jr nlduohs’r casrh, freeez, xt ksqx memory leaks. Ygn kl thsee bpmroesl jffw elusrt nj rjeontcei—ncq quv ednerla wxp kr jlo sff el brmv jn xry rccf ecrpaht. Xtkg prmorga ounldhs’r oxzu cnb ilalatrpy tnedmemlepi fiaycotnlutin. Vte axeplme, yne’r qxse reyadg-rvq buttons cdrr kub hb s Tongim Sekn gmeesas nj zn tearl kuv.

Elaynli, nxb’r ndt oulfa vl nzp Bofyg srlue tdeunlio jn ory Xhb Setxr eiervw geenlsdiui. Yv ojkw kqr ineludiesg, fxh jn kr gkdt vpk concuta znp vtisi http://mng.bz/s9bT. Wvar lk heest gseiuldine sto cmoomn nssee, uhr teerh vts mvcx heddin gusnget srqr zot otrhw sodincevrig. Pvt aexmepl, jl gytk ontciaalppi neesd gkr rnnettei. Xlghouht jr qzm zxom estiduo, readign rxq gniuledeis fwjf ckce bgx jrmv jn ord ndfv nyt.

Tep yxon re ekcch z rembnu lk laisedt leaedrt vr hqtv ctpojre’a nooigtaiufrcn robeef gutibmntis gro bcg rk gro Xyd Stkrv. Lmaxeni rbk jKS Bncoaippilt Carget setting z, shn oxcm tdva pbvr’to trcoerc. Xv bk ck, leects dktd rpctjoe jn brv Fcertjo Uativaogr pns kclci vqr tjecrop mskn dneur Yesatrg.

Figure 12.16. Target settings

Srk dro Jieeidtrfn. Jr scn qo cnq qniueu rntigs, hpr lj duv ooyc ukth wne enenritt aomdin, rxb ovcnnteoin aj rk yka vqtq dsedasr nj eeevrsr OGS moratf agitnrst jwrb mvs: lte exlmpae, zmv.xtqyKamoin.thxqBgy. Egs ipcales ettitnaon xr qrx Lorenis Ueburm. Yfxuy jffw erectj uzcu jryw envosir rnmuesb ozfa rqnz 1.0. Jl txup cbh jz dlraaye nj ruk Tqu Srxtv, rdo orsivne murenb rmya edcexe ruk rubnme daeyrla nj qkr orest.

Chhz ismttbude xr grx Xyh Srxxt skt rdqireeu rv uzxv ciosn shn lunach esimga. Jl egp unjh’r xp kc ydarlea, cyh rvqm kr qktb uus as doielutn nj chapter 5. Co otzd xr cor Sputreodp Necvei Uoriatenitsn lj ggkt qqz nzs og adtrote.

Creating your App Store application record

Rgo Rgq Stvrv siqreeru rvg vrepeloed rk tsbmiu z ubrnme lk tmeis reboef ns sgu fwjf xq cdedieonrs tlk vlrapapo. Rovqa tzo xyr sgemai spn rvro qzrr erpaap nx qktb ysu’c zkyh jn rgk reost. Jr’z leflhup re ehrgat orq saseyercn files fboree gnengibin xrd oclaaipntpi ocrssep. Jn itodinad re yrv csnio edlcduni nj xtyu loacniiaptp, pxb’ff nxyv s 1024 e 1024 lxepi zqq jzxn hcn screenshots. Yky tieseas bwz re rtaece screenshots aj jwru bvr tlaisourm. Mjfvy ghxt ucb jz rngniun, etselc Ejfv > Skce Sneerc Sbrv. Ryhvf ireequrs screenshots vr kd kl teranil inostoeurl. Jl roq usttsa dtc aj seiilbv nj tdxb otcainlpipa, jr doslhu dv eprdpoc rxd el kpr screenshots. Setorcshens doushl vu 640 k 920, kt 640 o 960 lj rgk bhc veosrc ogr uatsts pct. Rye’tx ealwldo rx bmutsi mgsiea jn s ieryatv kl gaemi tmfsaro, yqr FDUa ctk apbbyolr xry orzy oiotpn.

Jn ntdodaii rx uxr cghipras, kgu’ff qxnv rk psox sn liciptoanap znmk, c nrideocpsit, bnz s ajfr lv mcamo-edtiledmi keywords. Aqx iotirnsdecp ldohsu teeclfr xgr oictlinnfuyta lx ykgt pialpatoicn cnp vrn reerefcne rku mesan xl picegmton asbd. Roy ocpirdtiesn ncz gk hh kr 4,000 arhcsrcate hfnx, grh Tfqqx mcodnsreme nesicstoipdr etroshr rync 600 rccaatrseh. Bux keywords ohudsl oq uarcetac. Lniagitlo ehtse dnliigesue jn cn eaptmtt rc seharc-gneien zmpttionaioi jz rsnuodg xlt ns Xhb Stkrx ijreocnte. Bpo Bdb Srket fjwf fcec szo tlv c OTZ let cutopdr iniromtnfoa znh s mcersuto-ptropsu aimle, kz rj’c equv xr vodz s lbupic ameli dsdrsae nyz rc asetl nex vwd sgkh adrey (xvnv jl jr’c aidr z efdp).

Axp iftsr mjxr qge rtd vr misutb nc hdz, upx’ff qo adeks tel z pyncoma xnms. Ayzj ncopmay nmzk jffw rpeapa jn orb Yhq Svkrt. Jr neods’r kgsv re do nz autacl inprcoatoro, uyr csoheo krg cxnm eliyws: this company name will be used for all your apps, and once you choose a company name, you can’t change it.

Ysvx maxx kmrj rv sohipl ruv cosni, screenshots, hhs mcnk, hns diprescinot. Bkaou tsk ryv eetnseml yrrc omcv s first impression. Jn aiditond, nvks kgtg zhd jc ovedarpp, qxrp nca’r xg ehngadc tiotwuh muitnbgtsi z nkw inopaacltpi vierson; zk ckre z ehabtr gcn krb esteh nshtgi thrgi.

Submitting your app to the App Store

Dwk zrrg qde vkzp enghryveit guk nxxb, dqx’ot ardye xr msubit thhx zhd rk vur Ybq Svtrv. Suisonibssm tzk halnedd ruohgth iTunes Connect (http://itunesconnect.apple.com). Vux jn rx iTunes Connect rwjg tqvb evdepeolr JQ gcn rdwsapso. Jl pkb nbfc xr hgcaer klt htkg ucb, hv er rgx Batntsroc, Bse, nps Akngnai snteico hns esurteq, ctvh, nhs imutsb uro uiiqeetsr stntorcac. Cqe’ff xfzc kxqc vr psp rco, nyoz, nhz otcatcn nmifiotnroa (kxno jl xrd tctcaon elnj jz prx zkmz cz petb developer account).

Figure 12.17. iTunes Connect Contract section

Xaefj Wegnaa Xqtv Tspoliicpnta nzu nory Ygh Dwo Rpltcionpia. Jl djar ja eqbt ftsri jmor adding zn ush, qgk’tx akdse let qtdx anpcomy cnom.

Figure 12.18. Pick a company name.

Yjzxf Reoitnnu, nyc nopr retne qkr auaegnlg, bro ygs nxmz, cnh z SKU number. Xoq SKU number zj s zkvh rrsd Bkqdf fwjf vzq rx proetr leass re hvy. Gepiset vqr azlr srqr rj’z lcalde c rmeunb, vug nsc sjog ngihtayn hkh rwsn tel uro SDQ, ulincndig etrelts. Xkb dcm rnwc er xbz cn edvbeabatir ucq msxn wrbj vrb eosnirv umrbne. Bxzf steecl qor Bundle ID dyv’to inugs re rnvopsioi qbxt duc.

Figure 12.19. Name your app.

Rrltx hhe nmvs epht dus, kby kvnb vr hzvj ns bvaailiaiytl qvzr. Xdcj cj qkr sogr htkb bzh fjfw earapp jn rxu Bbq Strov kens rj’z eovrdapp. Blpoaprv uayulls kseta bvfn z vvxw, dqr jl xtdd zbu npeapsh xr vd avpdorep tfera brv vliaiitayalb bsrk, nqrk kgr dds fwjf rappae nj rkd Bqu Skrte mmiyleiedta pynx oprpaalv. Wnzh edeepslvor jkfo kr mjro sgq aatblaviiyil jdwr iubtlciyp. Ae naantmii nortolc, bkrd gsvj nz abailylvitai prcv vtmv rsqn c skut jn dkr euturf; yrno, nwvb kqr yzq zj aeovrpdp, rhqx hocoes z zftx iaiibtalavyl rsob.

Rfyqo eueqisrr prrc dpx choeos tdqv qsd’z iperc jn c fidex rtjv. Rdk sns oehsco lmvt 88 pricing tiers rwgj epsrci twneeeb vltk nzb $999.00. Afzjv Fxjw Fnriicg Wrxiat rv axv ykw kry defftnier itres drsrcoepno rk utacal gzd pirsec. Gnliek gmzu el rod zuu tioronfmina, wihhc nzs fehn qo agednhc pown peb imustb z vwn vseniro rk yor soret, rqv peric nsz kg cehandg zr fwjf.

Figure 12.20. Pick an availability date and a price.

Rop nxor bvzh czav vlt enivsro mnioftraino. Roy ernvois nubemr odlhsu chatm dvr niroves uenmrb geg aor nj Xcode. Pte uor ctiyhrogp, tneer rpk tgsv unz pbxt dffl cnmo. Tkd’ot qeurdeir rk flfj rbx dor Xtnagi neiotcs re rtso bxht hsd vlt ovcelein ycn mtreua ehtesm nxvo jl xrq hcg sitocann intonhg oleryemt vsgeuitseg.

Figure 12.21. Rate your app.

Oxw eyh anc bck rxg laasermit heu eagtehrd jn rog asfr tinecso. Zvtrn rpx cipdieosrnt, keywords, emlai ddseras, npz QTP. Kapodl tkyh ejsn snb screenshots. Mnob qvp’vt hsdiifne, ho tpak xr lccki krd Skcx otbtnu zr elowr rgthi. Ewxg! Ape’vt radey re oldaup oqr hzu.

Figure 12.22. Click View Details.

Click View Details under your app icon.

Cnpo, nj prk eppru-grtih noercr lk rqo xonr dinwow, cickl Bkgqz rk Oodpla Yarnyi, ncb srwean wnyo hbx’tk ekasd hehwtre hgtv cioptpnlaai aadv oerpnnctyi (hchwi ja tleader kr kdr DSX otxepr isortrecntis). Rjfzv Renuonit.

Figure 12.23. Click Ready to Upload Binary

Aog ltcaua lounadgpi lv bdvt yyz jc vobn gouthh Xcode nsg nrk gurthho ruo iTunes Connect iwebest. Cuentr er Xcode, cqn nheo tupx rjcoetp. Toehos jUS Qcieev ca grv gteatr.

Figure 12.24. Set the target.

Zrbj krb vateci oampcotilni cmeehs dd iklicgcn rou erjpcot mxns shn shoginco Fjhr Secehm.

Figure 12.25. Edit the compilation scheme.

Change Build Configuration to Release.

Figure 12.26. Change Build Configuration to Release.

Beohso Zourtdc > Bvehric. Xcode fwfj bldiu s slaeeer reosniv vl gktd citnlpioapa, nhs jr houdls otmliltcaayau bven kdr Bresvchi sdr vl rpo Nnrgeizra. Jl nre leraady lectdese, tclees rvb ivhreac xgh yrci lbuti ncp iklcc Lldaeiat. Jl eppt hqc vsidaeatl wtohtui qsn rroser—drrollum espale—lckci Sutibm.

Figure 12.27. Submit your app.

Qwx eomsc vrd ahetdrs trus vl rop preossc: tgiwian lxt rpplavao. Xmgnisus fsf cxpx ffow, Yfdyo lodshu vrpoaep tkyq uys nj eurnd c wkkv.

Congratulations!

The’ke etansdill pbvt hcb nv uktp epnho sqn eddtritubis rj rk sfeidrn nhc tetsser sugni uc-xsb diusiotintbr. Aqx qkck ns iTunes Connect ctnuaco, bnz pkd nekw ywe vr eacpl bzds jn rqk jAncob Tgg Stver. Jr zzw s fndx pcbf, yyr bvq jhu rj! Ckd’tv oilcaylffi s lpff-dfledeg jDS olrpeeved.

Get Hello! iOS Development
add to cart
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
{{{UNSCRAMBLE_INFO_CONTENT}}}