iOS 8.1.1 changelog toont ALLE wijzigingen

  iOS 8.1.1 Het werd ongeveer twee uur geleden vrijgegeven door het bedrijf Apple voor zijn app-ontwikkelaars voor iPhone, iPad en iPod Touch, en ik vertelde je dat de prestatieverbetering van iPad 2 en iPhone 4S het belangrijkste "aantrekkelijke" onderdeel is. Voor deze update heeft Apple ook een changelog uitgebracht waarin alle minder zichtbare veranderingen worden vermeld, d.w.z. alle veranderingen die ons een sneller besturingssysteem met veel minder problemen opleveren.

  iOS 8.1.1 Het kan momenteel alleen worden gedownload van de app-ontwikkelaarswebsite en het is niet bekend of u het op uw terminals kunt installeren zonder dat u een UDID hebt geregistreerd bij een app-ontwikkelaarsaccount.

iOS 8.1.1 changelog – ALLEMAAL nieuw

Opmerkingen en bekende problemen

De volgende problemen hebben betrekking op het gebruik van iOS SDK 8.1.1 om code te ontwikkelen.

AVCapture

Bekend probleem

Gebruik van de nieuwe constante, AVCaptureISOCurrent, zal resulteren in inconsistente ISO-waarden (zoals waargenomen bij de ISO-eigenschap) als setExposureModeCustomWithDuration:ISO:completionHandler: wordt herhaaldelijk gebeld.

CloudKit

Note

Een CKAsset instance kan niet langer worden ingesteld als waarde op meerdere CKRecords.

Contacten

Note

De personenkiezer van de Adresboek-UI is gewijzigd voor iOS 8. Er is een nieuwe modus met nieuwe API toegevoegd waarin de app geen toegang nodig heeft tot de contacten van de gebruiker en de gebruiker niet om toegang wordt gevraagd. Er wordt een tijdelijke kopie van de geselecteerde persoon teruggestuurd naar de app. EERABPeoplePickerNavigationController.h voor meer details.

Bekijk het nieuwe voorbeeldproject PeoplePicker: Een persoon of eigendom kiezen, waarin het gebruik van de nieuwe modus wordt gedemonstreerd.

Documentaanbieders

Opmerkingen

  • Uw app heeft het iCloud-recht nodig om als documentprovider te kunnen worden gebruikt.

  • Het recht com.apple.developer.icloud-container-identifiers is vereist.

bekende problemen

  • Nadat u de documentkiezer naar liggend hebt gedraaid, is de statusbalk verborgen.

  • Wanneer u de documentkiezer in landschapsmodus opent, kan de bevattende weergave onder de navigatiebalk worden verschoven.

uitbreidingen

Opmerkingen

  • Extensies hebben een arm64-segment nodig om op 64-bits apparaten te kunnen werken. Als u de armv7-slice op een 64-bits apparaat probeert uit te voeren, zal dit niet werken.

  • Apps moeten een arm64-segment hebben als de bundel een raamwerk bevat waar zowel de app als de app-extensie tegenaan linken.

File System

Note

De indeling van het bestandssysteem van app-containers is op schijf gewijzigd. In plaats van te vertrouwen op een hardgecodeerde mapstructuur, gebruikt u de NSSearchPathForDirectoriesInDomains functie of de URLForDirectory:inDomain:appropriateForURL:create:error: methode van de NSFileManagerklasse. Zien Toegang tot bestanden en mappen in Programmeerhandleiding voor bestandssysteem.

fonts

Note

Het Thaise systeemlettertype is groter geworden om de leesbaarheid te verbeteren. Dit zal op veel plaatsen in uw gebruikersinterface leiden tot clipping als u niet de juiste actie onderneemt:

  1. Te gebruiken UILabel zo veel mogelijk. Als u Interface Builder gebruikt, zorg er dan voor dat Clip Subviews niet is aangevinkt. UIKit vergroot het uitknipgebied indien nodig om tekst niet af te knippen.

  2. Gebruik dynamisch type. Dit zorgt ervoor dat er geen overlappende glyphs voorkomen in labels met meerdere regels of tekstvelden.

Als u 1 en 2 niet kunt doen omdat u uw eigen opvattingen implementeert, moet u maatregelen implementeren om niet te clippen. U kunt CoreText gebruiken om het juiste uitknipgebied voor een tekstregel te bepalen door het volgende aan te roepen:

CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);

Pas de regelhoogte aan om overlappende glyphs in tekstelementen met meerdere regels te voorkomen. Een extra 30% wordt aanbevolen.

Deze maatregel zorgt er ook voor dat uw app beter presteert in andere talen, waaronder Arabisch, Hindi en Vietnamees.

HealthKit

Note

Code die probeert trainingsinformatie in HealthKit te lezen, kan mogelijk geen vervolgvragen stellen aan HealthKit.

Als u HKWorkouts gebruikt, moet u het lezen van trainingen vermijden wanneer u op iOS-versies vóór 8.1 draait met:

NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0};
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) {
// Lees en schrijf trainingsinformatie naar HealthKit.
} Else {
// Schrijf trainingsinformatie naar HealthKit
}

Bekend probleem

Bloedglucosegegevens worden momenteel niet weergegeven in de Gezondheid-app. Toegang en API's van derden worden niet beïnvloed. Toegangscontroles voor bloedglucose en alle andere gezondheidsgegevens kunnen nog steeds worden beheerd in de Gezondheid-app en in Instellingen > Privacy > Gezondheid.

Voor meer informatie, zie https://support.apple.com/kb/HT6533.

iCloud

Note

Mailoverdracht en AirDrop werken mogelijk niet meer nadat u uw iCloud-wachtwoord op appleid.apple.com hebt gewijzigd.

Oplossing: Meld u af en weer aan bij iCloud op het apparaat.

iCloud Drive

Note

URLForUbiquityContainerIdentifier: zou kunnen terugkeren nil wanneer u uw toepassing in Xcode uitvoert. Als dat het geval is, opent u Systeemvoorkeuren, navigeert u naar iCloud > iCloud Drive en schakelt u Xcode in.

Toetsenborden

Bekend probleem

Extra toetsenborden, inclusief toetsenborden van derden, verschijnen mogelijk niet in Safari, Maps of apps van derden op de Simulator.

Oplossing: Toetsenborden moeten testbaar zijn in Agenda, Spotlight, Contacten en Foto's.

Notification Center

Note

Het schema en het beoogde gebruik van widgetPerformUpdateWithCompletionHandler: is bedoeld als een handig onderkomen voor alle logica voor het bijwerken van gegevens/modellen. Indien geïmplementeerd, zal het systeem op geschikte tijdstippen de widget vragen om de status ervan bij te werken, zowel wanneer het Berichtencentrum zichtbaar is, als op de achtergrond. Er is een implementatie vereist om achtergrondupdates mogelijk te maken. Er wordt verwacht dat de widget het werk zal doen om zoveel mogelijk asynchroon en buiten de hoofdthread bij te werken. Widgets moeten het argumentblok aanroepen wanneer het werk voltooid is, waarbij de juiste waarde wordt doorgegeven NCUpdateResult. Widgets mogen het terugkeren van NIET blokkeren viewWillAppear: over de resultaten van deze operatie. In plaats daarvan moeten widgets de cachestatus laden viewWillAppear: om de staat van het uitzicht van de vorige te evenaren viewWillDisappear:, en ga vervolgens soepel over naar de nieuwe gegevens wanneer deze binnenkomen.

NSURLSessie

Note

De NSURLSessionTask class biedt een nieuwe eigenschap "prioriteit" met drie bijbehorende constanten: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLow en NSURLSessionTaskPriorityHigh. NSURLSessionTask Prioriteiten kunnen worden gebruikt om aan te geven hoe meerdere verzoeken en antwoorden aan dezelfde host prioriteit moeten krijgen. Houd er rekening mee dat de prioriteit een hint is en geen strikte garantie NSURLSessionTask prestaties.

Voor volledige gebruiksdetails van NSURLSessionTask prioriteiten, zie de NSURLSession.h header-bestand, dat wordt geleverd door het Foundation-framework.

Telefoonnummer

Opmerkingen

Volg deze stappen om de Wi-Fi Calling-functionaliteit voor T-Mobile (alleen VS) te activeren:

  • Ga naar Instellingen > Telefoon > Bellen via wifi.

  • Zet de schakelaar voor bellen via Wi-Fi op AAN.

  • Als de vervoerder niet over het geregistreerde noodadres van de gebruiker beschikt, wordt u gevraagd dit adres toe te voegen voordat de functie wordt geactiveerd.

Foto's

Opmerkingen

  • Maak een back-up van uw fotobibliotheek voordat u de bètaversie van iCloud-fotobibliotheek inschakelt en gebruikt door:

    • Importeren naar uw Mac met iPhoto

    • Importeren naar uw Mac met behulp van Image Capture

  • De bètaversie van iCloud-fotobibliotheek downloadt geen foto's en video's die vanuit iTunes met uw apparaat zijn gesynchroniseerd. Alle foto's en video's die vanuit iTunes met uw apparaat zijn gesynchroniseerd, worden verwijderd wanneer u de bètaversie van iCloud-fotobibliotheek inschakelt.

  • iPhoto voor iOS start niet op iOS 8 Bèta. Als u Photos.app start, worden uw iPhoto-bewerkingen naar de iOS 8-fotobibliotheek gemigreerd. Zorg ervoor dat uw iPhoto voor iOS-gegevens zijn opgenomen in de reservekopie van uw apparaat.

  • De mogelijkheid om de apparaatruimte automatisch te optimaliseren is ingeschakeld voor alle accounts groter dan 5 GB.

  • Wanneer u iCloud Family Sharing gebruikt, zijn zowel iCloud Photo Sharing als Mijn fotostream ingeschakeld.

Voorzieningenprofielen

Bekend probleem

Als u een upgrade naar de 8.1.1 Bèta van iOS 8 Bèta's heeft uitgevoerd, ziet u mogelijk dat uw apps crashen vanwege problemen met het inrichtingsprofiel.

Oplossing:

  1. Sluit het apparaat via USB aan op je Mac

  2. Start Xcode

  3. Kies Venster -> Apparaten

  4. Klik met de rechtermuisknop op het apparaat in de linkerkolom en kies "Toon inrichtingsprofielen"

  5. Klik op het betreffende inrichtingsprofiel

  6. Druk op de knop

  7. Ga door met het verwijderen van alle betrokken profielen.

  8. Installeer de app opnieuw

UIKit

Opmerkingen

  • UILabel heeft de standaardwaarde JA voor clipsToBounds. Dit wijkt af van normaal UIView standaard van NO.

  • De leftLayoutGuide en rightLayoutGuide API's zijn verwijderd. Gebruik alstublieft de layoutMargins eigendom in plaats daarvan.

WebKit

Opmerkingen

De Navigation Timing API is alleen uitgeschakeld op iOS vanwege prestatieproblemen.

Bellen via Wi-Fi (alleen T-Mobile VS)

Note

De naam van de provider in de statusbalk toont "T-Mobile Wi-Fi" wanneer het apparaat Wi-Fi-oproepen kan plaatsen en ontvangen.