Pääsivulle | TIETOTEKNIIKAN PÄÄSIVULLE
Xcode -
käyttövinkkejä
XCODE SEKOILEE
Seuraavat auttavat moniin Xcoden sekoiluihin ja yllättäviin
kääntäjän virheilmoituksiin. Mutta huomaa, että joskus syy
sekoiluihin on sinun omissa lähdekoodeissa, kääntäjän asetuksissa
tai xib-tiedostoissa:
1) Tallenna projektisi ja sulje Xcode kokonaan. Tyhjennä roskakori.
Käynnistä kone vikasietotilaan (shift-boot) välimuistien
siivoamiseksi, ja sen jälkeen koneen normaalikäynnistys. Avaa Xcode
2) Xcode:n menusta valitse Product / Clean ja käännä uudestaan
3) Poista Xcoden työkansio DerivedData, joka sisältää projektiesi
indeksit ja muuta kääntäjän tarvitsemaa tilapäisdataa. Kansion
poistamisella kaikkien projektiesi em. tiedot poistuvat:
Xcode Preferences -> Locations, ... DerivedData pikkunuolesta
pääsee Finderiin ja poista koko kansio DerivedData (ilmaantuu sinne
uudestaan mutta tyhjänä). Sitten sulje XCode (kokonaan) ja
tyhjennä roskakori. Seuraavalla kerralla kääntäminen on hieman
hitaampaa, kun Xcode rakentaa kansion uudestaan.
Eikö sovellus meinaa toimia?
Jos sovelluksesi käyttää omia tiedostojasi, kuten kuvia Macin
kansioista, niin olet ehkä unohtanut ottaa SandBoxin pois päältä.
Xcode tekee oletuksena sovelluksia, jotka toimivat vain suojatulla
alueella ilman pääsyä käyttäjien omiin tiedostoihin.
Järjestelmävalikot suomen kielellä
Xcode kokoaa sovelluksen oletuksena US-kielisillä valikoilla,
esimerkiksi SaveAs-ikkunoissa ja joissain
järjestelmäilmoituksissa. Tämä on helppo korjata, vaikkakin hieman
oudosti. Omien kooditiedostojesi joukkoon on järjestettävä
"Localizable.strings" -tiedosto, joka on lähes tyhjä. Täällä on
ohjeet sovelluksen lokalisoimiseksi.
XIB-tiedoston kopiointi
Jos olet tehnyt mutkikkaan käyttöliittymän (luokka Vanha)
Xcoden liittymäeditorissa ja tarvitset toisessa ikkunassa (luokassa)
lähes samanlaista (luokka Uusi), niin asiasta selviää helpoimmalla
kopioimalla xib-tiedosto. Tämän voi tehdä seuraavasti:
- tee uusi luokkasi (Uusi) normaalisti eli File -> New ->
File, anna luokan nimi jne. mutta älä ala rakentamaan ulkonäköä
- sulje Xcode, ja jatka sen ulkopuolella
- kopioi Vanha.xib ja Uusi.xib työkansioon ja avaa ne rinnakkain
tekstieditorilla (esim. BBEdit)
- vertaa tiedostoja paikallistaen luokkanimet (katso myös
löytyykö sovelluksen nimeä jos vanha on muualta)
- korjaa vanhaa tiedostoa ao. kohdissa kirjoittamalla sinne uusi
luokkanimi (ja ehkä sovelluksen nimi)
- tallenna ja anna tiedostolle Vanha.xib uudeksi nimeksi
Uusi.xib
- vie tekemäsi Uusi.xib projektikansioon aiemman version tilalle
ja avaa Xcode
- kopioi tiedostosta Vanha.swift tiedostoon Uusi.swift kaikki
tekemäsi outletit ja actionit
- lopuksi Build ja Run paljastavat jäikö jotain vielä kesken
ScrollView
Monessa tapauksessa on kätevää, jos ikkunan näkymää voi vierittää
skrollauspalkeilla ikkunan oikeassa reunassa ja alareunassa.
Joissain kontrolleissa, kuten NSTableView, se on jo automaattisesti
mukana.
Skrollauspalkit saa mukaan seuraavilla vaihtoehtoisilla tavoilla:
A. Vedä ikkunaan ensin ScrollView, tee sille mahdollisesti
tarpeelliset Constrainit, ja vedä sen sisään kontrolli jota haluat
skrollata (lisätietoja: googlaa AutoLayout Guide / Working with
scroll views)
tai
B. Vedä ikkunaan ensin kontrolli jota haluat skrollata, ja
menusta Editor -> Embed in -> ScrollView. Laita tämän jälkeen
mahdolliset konstraintit kuntoon ScrollView:lle
Alla kuvatulla tavalla saat ikkunaan kuvaa varten alueen, joka
seuraa ikkunan kokoa:
1. Laita ikkunan ylälaitaan mahdolliset buttonit ym.
2. Lisää ikkunaan ImageView ja tee sille outlet
3. Valitse ImageView ja menusta "Editor / Embed in ScrollView"
4. Tee scrollview:lle constraintit
5. Tee mahdollisille buttoneille constraintit
ScrollView on usein ongelmallinen kiinnitystensä (constraint)
suhteen. Tee yksi vaihe kerrallaan ja tee muistiinpanoja mitä teit,
jotta voit palata aiempaan. Varaudu siihen, että joudut kokeilemaan.
Jos haluat sovelluksessa skrollata näkymää siirtämällä esimerkiksi
itse kuvaa "liian pienten kehysten sisällä", niin löydät netistä
vinkkejä googlaamalla "grab-hand scrolling".
MISSÄ MINUN app-TIEDOSTONI?
Sovelluksen app-tiedosto löytyy Xcoden vasemman reunan
lähdekoodiluettelon kansiosta Products. Valitse se, hiirellä
context-menuun, ja sieltä 'Show in Finder'.
Voit kopioida tiedoston esimerkiksi Ohjelmat-kansioon tai missä
sitten haluatkaan sitä käyttää. Mitään asennuspakettia ei tarvitse
tehdä macOS:ää varten, ellet sitten tee kaupallista softaa laajaan
jakeluun.
IKONIEN LISÄÄMINEN
Sovellukselle saa lisättyä oman ikonin seuraavasti.
1. Tee png-tiedostot samasta kuvasta kooltaan 1024x1024,
512x512, 256x256, 128x128, 64x64, 32x32 ja 16x16. Kokoja
512x512, 256x256 ja 32x32 tarvitaan kaksi kappaletta, katso seuraava
kohta.
2. Nimeä kuvat seuraavasti, ja alkuosan 'icon' sijasta voi
olla muukin nimi, esimerkiksi 'Kukka':
icon_16x16.png
icon_16x16@2x.png (tämän koko on 32x32)
icon_32x32.png
icon_32x32@2x.png (tämän koko on 64x64)
icon_128x128.png
icon_128x128@2x.png (tämän koko on 256x256)
icon_256x256.png
icon_256x256@2x.png (tämän koko on 512x512)
icon_512x512.png
icon_512x512@2x.png (tämän koko on
1024x1024)
3. Klikkaa Xcode:n tiedostoluettelossa Image.xassets ja siinä
edelleen Appicon. Avautuu näkymä, jossa on paikat ikoneille.
4. Raahaa tekemäsi ikonitiedostot Finderista yksi kerrallaan
em. näkymään kokoaan vastaavaan paikkaan
5. Tarkista, että ikonit ovat tulossa mukaan lopputulokseen:
vasemmasta reunasta projektin nimi -> oikea Target ->
BuildPhases. Sieltä pitää löytyä luettelossa Images.xcassets
6. Varmista, että kääntäminen onnistuu ja onnistumisen jälkeen
sulje Xcode. Kun käynnistät XCode:n uudestaan, niin sovellusta
testatessa huomaat ikonien olevan paikoillaan
Ikonit voivat jäädä epäteräviksi, jos projektin käännöskohteena on
vanhempi OS X -versio, mikä koneessasi on. Eli laita Deployment
Target = 10.13, jos koneessasi on macOS 10.13 High Sierra.
Virallinen ikoniohje on täällä.
--------------------------------
(sivua muokattu 5.4.2021)