iOS 8.1.1 changelog viser ALLE ændringerne

  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) hvis setExposureModeCustomWithDuration: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ØSABPeoplePickerNavigationController.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 eller URLForDirectory:inDomain:appropriateForURL:create:error: metode af NSFileManagerklasse. 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:

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

  2. 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 tilbage nil 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 relevante NCUpdateResult. Widgets bør IKKE blokere for retur fra viewWillAppear: om resultaterne af denne operation. I stedet skal widgets indlæse cachelagret tilstand i viewWillAppear: for at matche tilstanden af ​​udsigten fra sidst viewWillDisappear:, 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, NSURLSessionTaskPriorityLowog NSURLSessionTaskPriorityHigh. 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 for NSURLSessionTask ydelse.

For fuldstændige brugsoplysninger vedr NSURLSessionTask prioriteringer, se NSURLSession.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:

  1. Tilslut enheden via USB til din Mac

  2. Start Xcode

  3. Vælg Vindue -> Enheder

  4. Højreklik på enheden i venstre kolonne, vælg "Vis klargøringsprofiler"

  5. Klik på den pågældende provisioneringsprofil

  6. Tryk på knappen

  7. Fortsæt med at fjerne alle berørte profiler.

  8. Geninstaller appen

UIKit

Noter

  • UILabel har en standardværdi på JA for clipsToBounds. Dette adskiller sig fra normalt UIView standard på NEJ.

  • leftLayoutGuide , rightLayoutGuide API'er er blevet fjernet. Brug venligst layoutMargins 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.