iOS 8.1.1 changelog visar ALLA ändringar

  iOS 8.1.1 den släpptes för ungefär två timmar sedan av företaget Apple för sina apputvecklare för iPhone, iPad och iPod Touch, och jag berättade att prestandaförbättringen för iPad 2 och iPhone 4S är dess främsta "attraktiva" del. Till den här uppdateringen har Apple även släppt en ändringslogg där den listar alla mindre synliga ändringar, det vill säga alla de som ger oss ett snabbare operativsystem och med mycket färre problem.

  iOS 8.1.1 det är för närvarande endast tillgängligt för nedladdning från apputvecklarens webbplats, och det är inte känt om du kommer att kunna installera det på dina terminaler utan att ha ett UDID registrerat på ett apputvecklarkonto.

iOS 8.1.1 changelog – ALLA nya

Anteckningar och kända problem

Följande problem gäller att använda iOS SDK 8.1.1 för att utveckla kod.

AVCapture

Känd fråga

Användning av den nya konstanten, AVCaptureISOCurrent, kommer att resultera i inkonsekventa ISO-värden (som observerats på ISO-egenskapen) om setExposureModeCustomWithDuration:ISO:completionHandler: kallas upprepade gånger.

CloudKit

Anmärkningar

En enda CKAsset instans kan inte längre ställas in som ett värde på flera CKRecords.

Kontakt

Anmärkningar

Personväljaren Adressbok UI har ändrats för iOS 8. Ett nytt läge med nytt API har lagts till där appen inte behöver åtkomst till användarens kontakter och användaren kommer inte att bli tillfrågad om åtkomst. En tillfällig kopia av den valda personen returneras till appen. EESABPeoplePickerNavigationController.h för mer detaljer.

Se det nya PeoplePicker: Picking a Person or Property-exempelprojektet som visar hur det nya läget används.

Dokumentleverantörer

Anmärkningar

  • Din app behöver iCloud-rättigheten för att kunna användas som dokumentleverantör.

  • Behörigheten com.apple.developer.icloud-container-identifiers krävs.

kända problem

  • Efter att ha roterat dokumentväljaren till liggande är statusfältet dold.

  • När du tar upp dokumentväljaren i liggande läge kan den innehållande vyn flyttas under navigeringsfältet.

förlängningar

Anmärkningar

  • Tillägg behöver en arm64-del för att köras på 64-bitarsenheter. Om du försöker köra armv7-delen på en 64-bitars enhet kommer det inte att fungera.

  • Appar måste ha en arm64-del om paketet innehåller ett ramverk som både appen och apptillägget länkar mot.

FILSYSTEM

Anmärkningar

Filsystemlayouten för appbehållare har ändrats på disken. Istället för att förlita sig på hårdkodad katalogstruktur, använd NSSearchPathForDirectoriesInDomains funktion eller URLForDirectory:inDomain:appropriateForURL:create:error: metod för NSFileManagerklass. Ser Få åtkomst till filer och kataloger in Programmeringsguide för filsystem.

Teckensnitt

Anmärkningar

Det thailändska systemteckensnittet har ökat i storlek för att förbättra läsbarheten. Detta kommer att orsaka klippning på många ställen i ditt användargränssnitt om du inte vidtar lämpliga åtgärder:

  1. Använda UILabel så mycket som möjligt. Om du använder Interface Builder, se till att Clip Subviews inte är markerat. UIKit kommer att utöka urklippsområdet efter behov för att inte klippa ut text.

  2. Använd Dynamic Type. Detta säkerställer att du inte har överlappande glyfer i flerradsetiketter eller textfält.

Om du inte kan göra 1 och 2 för att du implementerar dina egna åsikter måste du genomföra åtgärder för att inte klippa. Du kan använda CoreText för att ta reda på lämplig urklippsregion för en textrad genom att anropa:

CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);

Justera radhöjden för att undvika överlappande glyfer i flerradstextelement. Ytterligare 30 % rekommenderas.

Den här åtgärden hjälper också din app att prestera bättre på andra språk, inklusive arabiska, hindi och vietnamesiska.

HealthKit

Anmärkningar

Kod som försöker läsa träningsinformation i HealthKit kanske inte kan göra efterföljande frågor till HealthKit.

Om du använder HKWorkouts bör du undvika att läsa träningspass när du kör på iOS-versioner före 8.1 med:

NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0};
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) {
// Läs och skriv träningsinformation till HealthKit.
} Else {
// Skriv träningsinformation till HealthKit
}

Känd fråga

Blodsockerdata visas för närvarande inte i Health-appen. Tredje parts åtkomst och API:er påverkas inte. Åtkomstkontroller för blodsocker och all annan hälsodata kan fortfarande hanteras i Health-appen och i Inställningar > Sekretess > Hälsa.

För mer information, se https://support.apple.com/kb/HT6533.

icloud

Anmärkningar

Mail handoff och AirDrop kan sluta fungera efter att du har ändrat ditt iCloud-lösenord på appleid.apple.com.

Lösning: Logga ut och tillbaka till iCloud på enheten.

iCloud Drive

Anmärkningar

URLForUbiquityContainerIdentifier: kan komma tillbaka nil när du kör din applikation i Xcode. Om så är fallet, öppna Systeminställningar, navigera till iCloud > iCloud Drive och aktivera Xcode.

tangentbord

Känd fråga

Ytterligare tangentbord, inklusive tangentbord från tredje part, kanske inte visas i Safari, Maps eller appar från tredje part på simulatorn.

Lösning: Tangentbord bör vara testbara i Kalender, Spotlight, Kontakter och Foton.

anmälan Center

Anmärkningar

Schemat och avsedd användning av widgetPerformUpdateWithCompletionHandler: är tänkt som ett bekvämt hem för all data/modelluppdateringslogik. Om det implementeras kommer systemet vid lämpliga tidpunkter att uppmana widgeten att uppdatera sitt tillstånd, både när meddelandecentret är synligt, såväl som i bakgrunden. En implementering krävs för att möjliggöra bakgrundsuppdateringar. Det förväntas att widgeten kommer att utföra arbetet med att uppdatera asynkront och utanför huvudtråden så mycket som möjligt. Widgetar ska anropa argumentblocket när arbetet är klart och passera lämpligt NCUpdateResult. Widgetar bör INTE blockera återkomst från viewWillAppear: om resultatet av denna operation. Istället bör widgetar ladda cachad tillstånd i viewWillAppear: för att matcha tillståndet för vyn från sist viewWillDisappear:, och övergå sedan smidigt till den nya datan när den kommer.

NSURLSession

Anmärkningar

Smakämnen NSURLSessionTask class tillhandahåller en ny "prioritet"-egenskap med tre associerade konstanter: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLowoch NSURLSessionTaskPriorityHigh. NSURLSessionTask prioriteringar kan användas för att specificera hur flera förfrågningar och svar till samma värd ska prioriteras. Observera att prioriteringen är en antydan och inte en strikt garanti för NSURLSessionTask prestanda.

För fullständig användningsinformation om NSURLSessionTask prioriteringar, se NSURLSession.h header-fil, som tillhandahålls av Foundation-ramverket.

Telefon

Anmärkningar

Följ dessa steg för att aktivera Wi-Fi-samtal för T-Mobile (endast USA):

  • Gå till Inställningar > Telefon > Wi-Fi-samtal.

  • Ställ omkopplaren för Wi-Fi-samtal till PÅ.

  • Om operatören inte har användarens registrerade nödadress kommer du att bli ombedd att lägga till den innan funktionen aktiveras.

Bilder

Anmärkningar

  • Håll en säkerhetskopia av ditt fotobibliotek innan du aktiverar och använder iCloud Photo Library beta genom att:

    • Importera till din Mac med iPhoto

    • Importera till din Mac med Image Capture

  • iCloud Photo Library beta kommer inte att ladda ner foton och videor som har synkroniserats till din enhet från iTunes. Alla foton och videor som synkroniseras till din enhet från iTunes kommer att tas bort när du aktiverar iCloud Photo Library beta.

  • iPhoto för iOS kommer inte att lanseras på iOS 8 Beta. Om du startar Photos.app migreras dina iPhoto-redigeringar till iOS 8 Photo Library. Se till att din iPhoto för iOS-data ingår i enhetens säkerhetskopia.

  • Möjligheten att automatiskt optimera enhetsutrymme är aktiverad för alla konton som är större än 5 GB.

  • När du använder iCloud Family Sharing är både iCloud Photo Sharing och My Photo Stream aktiverade.

Tillhandahållande av profiler

Känd fråga

Om du har uppgraderat till 8.1.1 Beta från iOS 8 Betas kan du se dina appar krascha på grund av problem med provisioneringsprofilen.

Lösning:

  1. Anslut enheten via USB till din Mac

  2. Starta Xcode

  3. Välj Fönster -> Enheter

  4. Högerklicka på enheten i den vänstra kolumnen, välj "Visa provisioneringsprofiler"

  5. Klicka på provisioneringsprofilen i fråga

  6. Tryck på knappen

  7. Fortsätt att ta bort alla berörda profiler.

  8. Installera appen igen

UIKit

Anmärkningar

  • UILabel har ett standardvärde på JA för clipsToBounds. Detta skiljer sig från normalt UIView standard på NO.

  • Smakämnen leftLayoutGuide och rightLayoutGuide API:er har tagits bort. Vänligen använd layoutMargins egendom istället.

WebKit

Anmärkningar

Navigation Timing API har endast inaktiverats på iOS på grund av prestandaproblem.

Wi-Fi-samtal (endast T-Mobile USA)

Anmärkningar

Operatörens namn i statusfältet visar "T-Mobile Wi-Fi" när enheten kan ringa och ta emot Wi-Fi-samtal.