iOS 8.1.1 muutosloki näyttää KAIKKI muutokset

  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), jos setExposureModeCustomWithDuration: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. ETAABPeoplePickerNavigationController.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 tai URLForDirectory:inDomain:appropriateForURL:create:error: menetelmä NSFileManagerluokkaa. 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:

  1. 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.

  2. 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 palata nil 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 asianmukaisen NCUpdateResult. Widgetit EIVÄT saa estää paluuta kohteesta viewWillAppear: tämän operaation tuloksista. Sen sijaan widgetien pitäisi ladata välimuistitilassa viewWillAppear: jotta se vastaa viimeisimmän näkymän tilaa viewWillDisappear:, siirry sitten sujuvasti uusiin tietoihin, kun ne saapuvat.

NSURLSession

Huomautuksia

- NSURLSessionTask luokka tarjoaa uuden "priority"-ominaisuuden kolmella siihen liittyvällä vakiolla: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLowja NSURLSessionTaskPriorityHigh. 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 takuu NSURLSessionTask suorituskykyä.

Saat täydelliset käyttötiedot NSURLSessionTask prioriteetit, katso NSURLSession.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:

  1. Liitä laite USB:n kautta Maciin

  2. Käynnistä Xcode

  3. Valitse Ikkuna -> Laitteet

  4. Napsauta laitetta hiiren kakkospainikkeella vasemmassa sarakkeessa, valitse "Näytä hallintaprofiilit"

  5. Napsauta kyseistä hallintaprofiilia

  6. Painaa nappia

  7. Jatka kaikkien asiaan liittyvien profiilien poistamista.

  8. Asenna sovellus uudelleen

UIKit

Huomautuksia

  • UILabel on oletusarvo KYLLÄ clipsToBounds. Tämä eroaa normaalista UIView oletusarvo EI.

  • - leftLayoutGuide ja rightLayoutGuide 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.