iOS 8.1.1 yritys julkaisi sen noin kaksi tuntia sitten omena sen sovelluskehittäjille iPhone, iPad ja iPod Touch, ja kerroin, että iPad 2:n ja iPhone 4S:n suorituskyvyn parantaminen on sen tärkein "houkutteleva" osa. Tätä päivitystä varten Apple on julkaissut myös muutoslokin, jossa se listaa kaikki vähemmän näkyvät muutokset, eli kaikki ne, jotka antavat meille nopeamman käyttöjärjestelmän ja paljon vähemmän ongelmia.
iOS 8.1.1 se on tällä hetkellä ladattavissa vain sovelluskehittäjäsivustolta, eikä tiedetä, pystytkö asentamaan sen päätelaitteillesi ilman, että sinulla on UDID rekisteröity sovelluskehittäjätilille.
iOS 8.1.1 muutosloki – KAIKKI uutta
Huomautukset ja tunnetut ongelmat
Seuraavat ongelmat liittyvät iOS SDK 8.1.1:n käyttöön koodin kehittämiseen.
AVCapture
Tunnettu ongelma
Uuden vakion käyttö,
AVCaptureISOCurrent
, johtaa epäjohdonmukaisiin ISO-arvoihin (kuten havaitaan ISO-ominaisuudessa), jossetExposureModeCustomWithDuration:ISO:completionHandler:
kutsutaan toistuvasti.CloudKit
Huomautuksia
Yksi
CKAsset
ilmentymää ei voi enää asettaa arvoksi useissa CRecordsissa.Yhteystiedot
Huomautuksia
Osoitekirjan käyttöliittymän henkilövalitsin on muutettu iOS 8:lle. Uusi tila, jossa on uusi API, on lisätty, jolloin sovellus ei tarvitse pääsyä käyttäjän yhteystietoihin eikä käyttäjää pyydetä käyttämään. Väliaikainen kopio valitusta henkilöstä palautetaan sovellukseen. ETA
ABPeoplePickerNavigationController.h
lisätietoja.Katso uusi PeoplePicker: Henkilön tai omaisuuden valinta -esimerkkiprojekti, joka esittelee uuden tilan käyttöä.
Asiakirjan tarjoajat
Huomautuksia
Sovelluksesi tarvitsee iCloud-käyttöoikeuden, jotta sitä voidaan käyttää asiakirjan tarjoajana.
Oikeus com.apple.developer.icloud-container-identifiers vaaditaan.
Tunnetut ongelmat
Kun asiakirjavalitsin on käännetty vaakasuuntaan, tilapalkki piilotetaan.
Kun asiakirjavalitsin tuodaan esiin vaakasuunnassa, sisältävä näkymä voidaan siirtää siirtymispalkin alle.
Laajennukset
Huomautuksia
Laajennukset tarvitsevat arm64-lohkon toimiakseen 64-bittisissä laitteissa. Jos yrität ajaa armv7-lohkoa 64-bittisessä laitteessa, se ei toimi.
Sovelluksissa on oltava arm64-osio, jos paketti sisältää kehyksen, johon sekä sovellus että sovelluslaajennus muodostavat linkin.
File System
Huomautuksia
Sovellussäiliöiden tiedostojärjestelmän asettelu on muuttunut levyllä. Sen sijaan, että luottaisit kovakoodaiseen hakemistorakenteeseen, käytä
NSSearchPathForDirectoriesInDomains
toiminto taiURLForDirectory:inDomain:appropriateForURL:create:error:
menetelmäNSFileManager
luokkaa. Katso Tiedostojen ja hakemistojen käyttö in Tiedostojärjestelmän ohjelmointiopas.Fontit
Huomautuksia
Thaimaan järjestelmän fontin kokoa on kasvatettu luettavuuden parantamiseksi. Tämä aiheuttaa leikkausta monissa paikoissa käyttöliittymässäsi, jos et ryhdy asianmukaisiin toimiin:
Käyttää
UILabel
niin paljon kuin mahdollista. Jos käytät Interface Builder -ohjelmaa, varmista, että Clip Subviews ei ole valittuna. UIKit kasvattaa leikkausaluetta tarpeen mukaan, jotta tekstiä ei leikata.Käytä Dynaamista tyyppiä. Näin varmistetaan, ettei monirivisissä tarroissa tai tekstikentissä ole päällekkäisiä kuvioita.
Jos et voi tehdä 1 ja 2, koska toteutat omia näkemyksiäsi, sinun on toteutettava toimenpiteitä, jotta et leikkaa. CoreTextin avulla voit selvittää tekstirivin sopivan leikkausalueen soittamalla:
CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);Säädä rivin korkeutta, jotta vältetään päällekkäiset kuviot monirivisissä tekstielementeissä. Suositus on 30 %.
Tämä toimenpide auttaa myös sovellustasi toimimaan paremmin muilla kielillä, mukaan lukien arabia, hindi ja vietnam.
HealthKit
Huomautuksia
Koodi, joka yrittää lukea harjoitustietoja HealthKitissä, ei ehkä pysty tekemään myöhempiä kyselyitä HealthKitille.
Jos käytät HKWorkoutsia, sinun tulee välttää harjoitusten lukemista, kun käytät iOS-versiota 8.1:tä vanhemmissa versioissa:
NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0}; if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) { // Lue ja kirjoita harjoitustietoja HealthKitiin. } Else { // Kirjoita harjoitustiedot HealthKitiin }Tunnettu ongelma
Verensokeritiedot eivät tällä hetkellä näy Health-sovelluksessa. Tämä ei vaikuta kolmannen osapuolen pääsyyn ja sovellusliittymiin. Verensokerin ja kaikkien muiden terveystietojen käyttöoikeuksia voidaan edelleen hallita Terveys-sovelluksessa ja kohdassa Asetukset > Tietosuoja > Terveys.
Lisätietoja katso https://support.apple.com/kb/HT6533.
iCloud
Huomautuksia
Sähköpostin vaihto ja AirDrop saattavat lakata toimimasta iCloud-salasanan vaihtamisen jälkeen osoitteessa appleid.apple.com.
Ratkaisu: Kirjaudu ulos ja takaisin iCloudiin laitteella.
iCloud Drive
Huomautuksia
URLForUbiquityContainerIdentifier:
saattaa palatanil
kun käytät sovellustasi Xcodessa. Jos näin on, avaa Järjestelmäasetukset, siirry kohtaan iCloud > iCloud Drive ja ota Xcode käyttöön.Näppäimistöt
Tunnettu ongelma
Lisänäppäimistöt, mukaan lukien kolmannen osapuolen näppäimistöt, eivät välttämättä näy Safarissa, Mapsissa tai simulaattorin kolmannen osapuolen sovelluksissa.
Ratkaisu: Näppäimistöjen tulee olla testattavissa kalenterissa, Spotlightissa, yhteystiedoissa ja valokuvissa.
Ilmoituskeskus
Huomautuksia
Aikataulu ja käyttötarkoitus
widgetPerformUpdateWithCompletionHandler:
on tarkoitettu käteväksi kodiksi kaikelle data-/mallipäivityslogiikalle. Jos se on otettu käyttöön, järjestelmä pyytää widgetin päivittämään tilansa sopivina aikoina sekä ilmoituskeskuksen näkyessä että taustalla. Taustapäivitysten käyttöönotto edellyttää toteutusta. Widgetin odotetaan päivittävän asynkronisesti ja poissa pääsäikeestä niin paljon kuin mahdollista. Widgetien tulee kutsua argumenttilohko, kun työ on valmis, ohittaen asianmukaisenNCUpdateResult
. Widgetit EIVÄT saa estää paluuta kohteestaviewWillAppear:
tämän operaation tuloksista. Sen sijaan widgetien pitäisi ladata välimuistitilassaviewWillAppear:
jotta se vastaa viimeisimmän näkymän tilaaviewWillDisappear:
, siirry sitten sujuvasti uusiin tietoihin, kun ne saapuvat.NSURLSession
Huomautuksia
-
NSURLSessionTask
luokka tarjoaa uuden "priority"-ominaisuuden kolmella siihen liittyvällä vakiolla:NSURLSessionTaskPriorityDefault
,NSURLSessionTaskPriorityLow
jaNSURLSessionTaskPriorityHigh
.NSURLSessionTask
prioriteetteja voidaan käyttää määrittämään, kuinka useat pyynnöt ja vastaukset samalle isännälle tulee priorisoida. Huomaa, että prioriteetti on vihje eikä tiukka takuuNSURLSessionTask
suorituskykyä.Saat täydelliset käyttötiedot
NSURLSessionTask
prioriteetit, katsoNSURLSession.h
otsikkotiedosto, jonka Foundation-kehys tarjoaa.Puhelin
Huomautuksia
Aktivoi Wi-Fi Calling -toiminto T-Mobilelle (vain Yhdysvalloissa) seuraavasti:
Siirry kohtaan Asetukset > Puhelin > Wi-Fi-puhelut.
Aseta Wi-Fi-puhelut -kytkin asentoon ON.
Jos operaattorilla ei ole käyttäjän rekisteröityä hätäosoitetta, sinua pyydetään lisäämään se ennen kuin ominaisuus aktivoidaan.
Valokuvat
Huomautuksia
Pidä valokuvakirjastosi varmuuskopio ennen iCloud Photo Library -betaversion käyttöönottoa ja käytön aikana seuraavasti:
Tuominen Maciin iPhoton avulla
Tuominen Maciin Image Capturella
iCloud Photo Library beta ei lataa valokuvia ja videoita, jotka on synkronoitu laitteeseesi iTunesista. Kaikki laitteeseesi iTunesista synkronoidut valokuvat ja videot poistetaan, kun otat iCloud Photo Libraryn betaversion käyttöön.
iPhoto for iOS ei käynnisty iOS 8 Beta -versiossa. Photos.app-sovelluksen käynnistäminen siirtää iPhoto-muokkaukset iOS 8 -valokuvakirjastoon. Varmista, että iPhoto for iOS -tietosi sisältyvät laitteen varmuuskopioon.
Mahdollisuus optimoida automaattisesti laitetilaa on käytössä kaikilla yli 5 Gt:n tileillä.
Kun käytät iCloud-perhejakoa, sekä iCloud Photo Sharing että My Photo Stream ovat käytössä.
Käyttöönottoprofiilit
Tunnettu ongelma
Jos olet päivittänyt 8.1.1 Betaan iOS 8:n betaversiosta, saatat nähdä sovelluksesi kaatuvan profiiliongelmien vuoksi.
Ratkaisu:
Liitä laite USB:n kautta Maciin
Käynnistä Xcode
Valitse Ikkuna -> Laitteet
Napsauta laitetta hiiren kakkospainikkeella vasemmassa sarakkeessa, valitse "Näytä hallintaprofiilit"
Napsauta kyseistä hallintaprofiilia
Painaa nappia
Jatka kaikkien asiaan liittyvien profiilien poistamista.
Asenna sovellus uudelleen
UIKit
Huomautuksia
UILabel
on oletusarvo KYLLÄclipsToBounds
. Tämä eroaa normaalistaUIView
oletusarvo EI.-
leftLayoutGuide
jarightLayoutGuide
API:t on poistettu. KäytälayoutMargins
omaisuutta sen sijaan.WebKit
Huomautuksia
Navigation Timing API on poistettu käytöstä vain iOS:ssä suorituskykyongelmien vuoksi.
Wi-Fi-puhelut (vain T-Mobile USA)
Huomautuksia
Operaattorin nimessä tilapalkissa näkyy "T-Mobile Wi-Fi", kun laite pystyy soittamaan ja vastaanottamaan Wi-Fi-puheluita.