iOS 8.1.1 a fost lansat cu aproximativ două ore în urmă de către compania Apple pentru dezvoltatorii săi de aplicații pentru iPhone, iPad og iPod Touch, iar eu v-am spus că îmbunătățirea performantețelor iPad 2 și iPhone 4S este principala sa parte “atractivă”. Pentru această actualizare Apple a lansat inclusiv un changelog în care listează toate schimbările mai puțin vizibile, adică toate acelea care ne oferă un sistem de operare mai rapid și cu mult mai puține probleme.
iOS 8.1.1 este disponibil deocamdată pentru descărcare doar din website-ul dedicat dezvoltatorilor de aplicații și nu se știe dacă îl veți putea instala în terminalele voastre fără a avea un UDID înregistrat în contul unui dezvoltator de aplicații.
iOS 8.1.1 changelog – TOATE noutățile
Noter og kendte problemer
Følgende problemer vedrører brugen af iOS SDK 8.1.1 til at udvikle kode.
AVCapture
Kendt problem
Brug af den nye konstant,
AVCaptureISOCurrent
, vil resultere i inkonsistente ISO-værdier (som observeret på ISO-egenskaben) hvissetExposureModeCustomWithDuration:ISO:completionHandler:
kaldes gentagne gange.CloudKit
Bemærk
En enkelt
CKAsset
instans kan ikke længere indstilles som en værdi på flere CKRecords.Kontakt os
Bemærk
Address Book UI people picker er blevet ændret til iOS 8. Der er tilføjet en ny tilstand med ny API, hvor appen ikke behøver adgang til brugerens kontakter, og brugeren vil ikke blive bedt om adgang. En midlertidig kopi af den valgte person returneres til appen. EØS
ABPeoplePickerNavigationController.h
for flere detaljer.Se det nye PeoplePicker: Picking a Person or Property eksempelprojekt, der demonstrerer brugen af den nye tilstand.
Dokumentudbydere
Noter
Din app skal have iCloud-rettigheder for at kunne bruges som dokumentudbyder.
The com.apple.developer.icloud-container-identifiers entitlement is required.
kendte problemer
Efter at have roteret dokumentvælgeren til liggende, er statuslinjen skjult.
Når dokumentvælgeren vises i liggende stilling, kan den indeholdende visning blive flyttet under navigationslinjen.
Udvidelser
Noter
Udvidelser har brug for en arm64-slice for at køre på 64-bit enheder. Hvis du prøver at køre armv7-slicen på en 64-bit enhed, virker det ikke.
Apps skal have en arm64-slice, hvis bundtet indeholder en ramme, som både appen og app-udvidelsen linker mod.
File System
Bemærk
Filsystemlayoutet af appcontainere er ændret på disken. I stedet for at stole på hårdkodet mappestruktur, skal du bruge
NSSearchPathForDirectoriesInDomains
funktion ellerURLForDirectory:inDomain:appropriateForURL:create:error:
metode afNSFileManager
klasse. EØS Adgang til filer og mapper in Filsystem programmeringsvejledning.Fonts
Bemærk
Den thailandske systemskrifttype er blevet større for at forbedre læsbarheden. Dette vil forårsage klipning mange steder i din brugergrænseflade, hvis du ikke træffer passende handlinger:
Brug
UILabel
så meget som muligt. Hvis du bruger Interface Builder, skal du sørge for, at Clip Subviews ikke er markeret. UIKit vil udvide klippeområdet efter behov for ikke at klippe tekst.Brug Dynamic Type. Dette sikrer, at du ikke har overlappende glyffer i etiketter med flere linjer eller tekstfelter.
Hvis du ikke kan gøre 1 og 2, fordi du implementerer dine egne synspunkter, skal du implementere tiltag for ikke at klippe. Du kan bruge CoreText til at finde ud af det passende klippeområde for en tekstlinje ved at kalde:
CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);Juster linjehøjden for at undgå overlappende glyffer i tekstelementer med flere linjer. Yderligere 30 % anbefales.
Denne foranstaltning hjælper også din app med at præstere bedre på andre sprog, herunder arabisk, hindi og vietnamesisk.
HealthKit
Bemærk
Kode, der forsøger at læse træningsoplysninger i HealthKit, er muligvis ikke i stand til at foretage efterfølgende forespørgsler til HealthKit.
Hvis du bruger HKWorkouts, bør du undgå at læse træningsprogrammer, når du kører på iOS-versioner før 8.1 med:
NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0}; if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) { // Read and write workout information to HealthKit. } Else { // Write workout information to HealthKit }Kendt problem
Blood glucose data is currently not displayed in the Health app. 3rd party access and APIs are not affected. Access controls for Blood Glucose and all other Health data can still be managed in the Health app and in Settings > Privacy > Health.
For mere information, se https://support.apple.com/kb/HT6533.
iCloud
Bemærk
Mail-overdragelse og AirDrop holder muligvis op med at fungere efter at have ændret din iCloud-adgangskode på appleid.apple.com.
løsning: Log ud og tilbage til iCloud på enheden.
iCloud Drive
Bemærk
URLForUbiquityContainerIdentifier:
kan vende tilbagenil
når du kører din applikation i Xcode. Hvis det er tilfældet, skal du åbne Systemindstillinger, navigere til iCloud > iCloud Drive og aktivere Xcode.Tastaturer
Kendt problem
Additional Keyboards, including 3rd party keyboards, may not appear in Safari, Maps or 3rd party apps on the Simulator.
løsning: Tastaturer skal kunne testes i Kalender, Spotlight, Kontakter og Billeder.
Anmeldelse center
Bemærk
Tidsplanen og tilsigtet brug af
widgetPerformUpdateWithCompletionHandler:
er tænkt som et bekvemt hjem for al data-/modelopdateringslogik. Hvis det implementeres, vil systemet på passende tidspunkter opfordre widgetten til at opdatere sin tilstand, både når meddelelsescenteret er synligt, såvel som i baggrunden. En implementering er påkrævet for at aktivere baggrundsopdateringer. Det forventes, at widgetten vil udføre arbejdet med at opdatere asynkront og fra hovedtråden så meget som muligt. Widgets skal kalde argumentblokken, når arbejdet er færdigt, og bestå den relevanteNCUpdateResult
. Widgets bør IKKE blokere for retur fraviewWillAppear:
om resultaterne af denne operation. I stedet skal widgets indlæse cachelagret tilstand iviewWillAppear:
for at matche tilstanden af udsigten fra sidstviewWillDisappear:
, og overfør derefter problemfrit til de nye data, når de ankommer.NSURLSession
Bemærk
NSURLSessionTask
klasse giver en ny "prioritet" egenskab med tre tilknyttede konstanter:NSURLSessionTaskPriorityDefault
,NSURLSessionTaskPriorityLow
ogNSURLSessionTaskPriorityHigh
.NSURLSessionTask
prioriteter kan bruges til at specificere, hvordan flere anmodninger og svar til den samme vært skal prioriteres. Bemærk, at prioriteringen er et hint og ikke en streng garanti forNSURLSessionTask
ydelse.For fuldstændige brugsoplysninger vedr
NSURLSessionTask
prioriteringer, seNSURLSession.h
header-fil, som leveres af Foundation-rammen.Telefon
Noter
Følg disse trin for at aktivere Wi-Fi Calling-funktionalitet for T-Mobile (kun USA:
Gå til Indstillinger > Telefon > Wi-Fi-opkald.
Slå Wi-Fi-opkald-kontakten til TIL.
Hvis operatøren ikke har brugerens registrerede nødadresse, vil du blive bedt om at tilføje den, før funktionen aktiveres.
pics
Noter
Vedligehold en sikkerhedskopi af dit fotobibliotek, før du aktiverer og mens du bruger iCloud Photo Library beta ved at:
Importer til din Mac ved hjælp af iPhoto
Importerer til din Mac ved hjælp af Image Capture
iCloud Photo Library beta vil ikke downloade billeder og videoer, der blev synkroniseret til din enhed fra iTunes. Alle fotos og videoer, der er synkroniseret til din enhed fra iTunes, vil blive fjernet, når du aktiverer iCloud Photo Library beta.
iPhoto til iOS lanceres ikke på iOS 8 Beta. Hvis du starter Photos.app, migreres dine iPhoto-redigeringer til iOS 8-fotobiblioteket. Sørg for, at dine iPhoto til iOS-data er inkluderet i din enhedssikkerhedskopiering.
Muligheden for automatisk at optimere enhedspladsen er aktiveret for alle konti, der er større end 5 GB.
Når du bruger iCloud Family Sharing, er både iCloud Photo Sharing og My Photo Stream aktiveret.
Klargøring af profiler
Kendt problem
If you have upgraded to the 8.1.1 Beta from iOS 8 Betas you may see your apps crashing due to provisioning profile issues.
løsning:
Tilslut enheden via USB til din Mac
Start Xcode
Vælg Vindue -> Enheder
Højreklik på enheden i venstre kolonne, vælg "Vis klargøringsprofiler"
Klik på den pågældende provisioneringsprofil
Tryk på knappen
Fortsæt med at fjerne alle berørte profiler.
Geninstaller appen
UIKit
Noter
UILabel
har en standardværdi på JA forclipsToBounds
. Dette adskiller sig fra normaltUIView
standard på NEJ.
leftLayoutGuide
,rightLayoutGuide
API'er er blevet fjernet. Brug venligstlayoutMargins
ejendom i stedet for.WebKit
Noter
Navigation Timing API er kun blevet deaktiveret på iOS på grund af ydeevneproblemer.
Wi-Fi-opkald (kun T-Mobile USA)
Bemærk
Operatørnavnet i statuslinjen viser "T-Mobile Wi-Fi", når enheden er i stand til at foretage og modtage Wi-Fi-opkald.