Pikku-uutisia

Jee, nyt on developer-ohjelma käynnistelty. Kaikki sujui Applen ohjeistuksia seuraamalla melko sutjakasti, tosin paikallinen pankkikonttorini aiheutti hieman viivästystä erikoisilla tilinumerointikäytännöillään.

Ekan applikaationi kehitystyö on siis edennyt debuggausvaiheeseen asti. Kuukausien simulaattorin tuijottelun jälkeen oman appin asennus oikeaan iPhoneen oli kieltämättä aika jänskä paikka. Kyllähän se pyörähti käyntiin, eikä edes aiheuttanut mitään kovin perustavanlaatuista katastrofia.

Silti, jos olet lineaarisen koodauksen kultakaudelta nykyaikaan eksynyt jäärä kuten minä, siinä vaiheessa kun oletat applikaatiosi olevan jotakuinkin valmis, kannattaa alkaa estottomasti näpyttelemään exit- ja sleep-nappeja sekä soitella testipuhelimeesi applikaatiosi pyöriessä. Todennäköisesti töitä riittää vielä, ennen kuin applikaatiosi käyttäytyy siivosti kaikenlaisia satunnaisia keskeytyksiä kohdatessaan – ja niitä puhelimessa kyllä riittää.

Tällä hetkellä tämän yökoodarin huomio on siis kohdistunut enimmäkseen AppDelegaten metodien suuntaan. Asiaa on selvitetty suht. selkeästi Applen Dev Centerissä ja Cocoaneticsissä, mutta kuten aina, periaatteen tajuamisesta on vielä aika lailla matkaa siihen, että hoksaa mitä käytännössä pitää omassa applikaatiossa naputella mihinkin metodiin.

Mutta eiköhän tuo moniajomörkökin tuosta seläty… sittenpä onkin enää jäljellä pientä loppuviilailua siellä täällä, jonka jälkeen täytyykin jo koittaa onnea App Storen hyväksymisprosessin kanssa. Huh! Oma pikkuruinen ikoni App Storen katalogissa alkaa olla kuviteltavissa olevaa lähitulevaisuutta. Olisipa kiva jo mainostaa omaa tuotosta, mutta odotellaanpa nyt vielä tovi, että softa ei sekoa ensimmäiseen vastaantulevaan keskeytykseen…

Loppuun pieni loppukevennys ja samalla käytännön vinkki debuggauksen parissa kamppaileville kanssa-amatööreille: kun olet ihmetellyt tuntikaupalla tyhjästä ilmestynyttä koko applikaation kaatavaa bugia, ei kannata unohtaa tätä: ne samaiset NSLog-komennot, joilla koitat bugia metsästää, eivät ole millään muotoa immuuneita bugiselle koodille itsekään.

Eli ihan – köh, köh – hypoteettisena esimerkkinä teille rakkaat lukijat, pätkä viewWillAppear-metodista:

- (void)viewWillAppear:(BOOL)animated {
    NSLog(@"wiewWillAppear: animated = BOOL (%d)", animated); // Tämä toimii ongelmitta
    // NSLog(@"wiewWillAppear: animated = BOOL (%@)", animated); // Kun taas tämä kaataa koko softan
    // %@ viittaa siis objektiin, jota BOOL ei taasen ole, joten seurauksena on 
    // tiltti. Eli myös NSLogin kanssa kannattaa olla tarkkana ;)
}
About these ads

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s

Seuraa

Get every new post delivered to your Inbox.

%d bloggers like this: