iOS 5 beta 6 släppt av Apple!

    I kväll släppte Apple beta 6-versionen av operativsystemet iOS 5, bara 2 dagar efter de första uppskattningarna som gjordes baserat på informationen som upptäckts i det nya mjukvaruuppdateringssystemet som implementerats av Apple. Den nya versionen av operativsystemet medför naturligtvis en rad förändringar som jag kommer att beskriva i en efterföljande artikel. Den här nya versionen av iOS 5 kan endast laddas ner från den dedikerade utvecklarportalen på Apples webbplats. Deltaversionen av iPhone 4-operativsystemet är bara 144 MB, så om du uppdaterar genom Software Update vet du hur mycket du behöver förbruka av internettrafiken.

UPPDATERING: Här är hela ändringsloggen för den nya betaversionen:

konton

När du skapar ett iCloud-konto kan du använda vilket Apple-ID som helst så länge det är en fullständig e-postadress och inte ett MobileMe-konto. Om du har ett MobileMe-konto kan du flytta det kontot till iCloud. Du kan hitta mer information om iCloud på: http://developer.apple.com/icloud

FIXAT: När du ställer in ett iCloud- eller MobileMe-konto med hjälp av inställningsassistenten och lämnar Hitta min iPhone på, kan det faktiskt stänga av Hitta min iPhone efter installationen. Kontrollera i Inställningar/E-post, Kontakter, Kalender/Ditt konto att Hitta min iPhone är påslagen efter att ha lämnat inställningsassistenten.

FIXAT: Aktivering av iCloud-tjänster i Setup Assistant kanske inte alltid sparas korrekt. När du har slutfört Setup Assistant bör du besöka Inställningar > iCloud för att verifiera iCloud-kontots tillstånd. Om du har flera iCloud- eller MobileMe-konton konfigurerade på enheten bör du också besöka vart och ett av dessa konton i Inställningar > Mail, Kontakter, Kalender för att verifiera varje konto.

FIXAT: Det rekommenderas att du inaktiverar bokmärken på flera konton. Om de är aktiverade kan resultaten vara odefinierade.

AirPlay

Från och med iOS 5 är videoinnehåll i applikationer och webbplatser AirPlay-aktiverat som standard.

iOS 5 stöder AirPlay av video via AV Foundation.

Apple TV

Apple TV Software beta gör det möjligt för användare att spegla innehållet i en iPad 2 till en Apple TV (andra generationen) med AirPlay. Denna betaprogramvara aktiverar också Photo Stream på Apple TV så att användare kan komma åt foton lagrade i iCloud. Apple TV Software beta tillhandahålls för att testa den senaste AirPlay-funktionaliteten med dina iOS 2-appar och webbplatser. Om du vill installera Apple TV Software beta på din enhet måste du först registrera enhetens UDID i iOS Developer Program Portal.

Apple TV kan återgå till huvudmenyn när du avslutar ett TV-program som spelas via Hemmadelning.

Musikspellistor är otillgängliga via Hemmadelning.

Binär kompatibilitet

På appar som är länkade mot iOS 5.0 SDK kommer rullningsvyns innehållsförskjutningar inte längre att avrundas till integrerade pixlar under en nypningsgest

Kalender

Födelsedagskalendrar är för närvarande inte tillgängliga via webbplatsen icloud.com eller i Windows. De kommer att finnas tillgängliga i en framtida release.

FIXAT: Standardkalendern är fortfarande On My iPhone-kalendern trots att du har konfigurerat ett iCloud-konto under Setup Assistant. Som en lösning kan du återställa standardkalendern efter att ha avslutat inställningsassistenten i Inställningar > E-post, kontakter, kalender > Standardkalender.

FIXAT: Pushing av iCloud-kalenderdata fungerar inte i iOS. För att synkronisera din iCloud-kalender, starta Kalender-appen eller uppdatera kalendrarna manuellt med hjälp av knappen Kalendrar i det övre vänstra hörnet.

Core Image

Flera filter har lagts till sedan beta 1. Den aktuella listan innehåller nu följande filter: CIAditionCompositing, CIAffineTransform, CICheckerboardGenerator, CIColorBlendMode, CIColorBurnBlendMode, CIColorControls, CIColorCube, CIColorDodgeBlendorCichrome,CIColorDodgeBlendorMotrix,CIColorDodgeBlendorCIM tColorGenerator, CICrop, CIDarkenBlendMode, CIDifferenceBlendMode, CIExclusionBlendMode, CIExposureAdjust, CIFalseColor, CIGammaAdjust,CIGaussianGradient, CIHardLightBlendMode, CIHighlightShadowAdjust, CIHueAdjust, CIHueBlendMode, CILightenBlendMode,CILinearGradient, CILuminosityBlendumMode,CIMuminosityClendumBlendum,CIM de, CIMultiplyCompositing, CIOoverlayBlendMode, CIRadialGradient, CISaturationBlendMode, CIScreenBlendMode, CISepiaTone, CISoftLightBlendMode, CISourceAtopCompositing, CISourceInCompositing, CISourceOutCompositing, CISourceOver CIStraightenFilter, CIStripesGenerator, CITemperatureAndTint, CIToneCurve, CIVibrance, CIVignette och CIWhitePointAdjust

GameKit

Matchdata för turbaserade matcher är för närvarande begränsad till 4 KB data.

NYTT: Händelser kommer att skickas till delegaten när en vändning görs på en match, istället för precis när det blir den lokala spelarens tur.

FIXAT: När du loggar in på Game Center kan lösenordet försvinna och inloggningen kanske inte slutförs. Att försöka en andra gång kommer att lyckas.

FIXAT: I denna beta kan GameKit Invites misslyckas. Försök att starta om enheten som en lösning.

iBooks

iBooks 1.2.2 kan misslyckas med att visa viss text eller bilder i böcker. Uppdatera till iBooks 1.3 i App Store.

icloud säkerhetskopiering

Eftersom detta är betaprogramvara, rekommenderas det att du inte använder iCloud-tjänsterna för att lagra kritisk data eller information. Om du aktiverar iCloud Backup, kommer automatisk säkerhetskopiering med iTunes vid synkronisering att inaktiveras. Vi föreslår också att du manuellt säkerhetskopierar din enhet med iTunes. Säkerhetskopieringar gjorda med tidigare versioner av iOS 5 beta kommer snart att bli inkompatibla och kommer inte längre att vara tillgängliga. Det rekommenderas starkt att du uppgraderar till den här versionen av iOS 5 beta för att fortsätta säkerhetskopiera dina enheter. Om du stöter på fel när du återställer från en säkerhetskopia eller aktiverar en säkerhetskopia mer än en timme efter att du har loggat in på iCloud, prova att ta bort ditt iCloud-konto från Inställningar och lägga till det igen. Om felen kvarstår, försök att radera din enhet och starta återställningen igen.

icloud Förvaring

NYTT: Om du anropar antingen stringByResolvingSymlinksInPath eller stringByStandardizingPath på en sökväg som kommer från din behållare, kommer du aldrig att kunna använda resultatet för att framgångsrikt utföra en koordinerad läsning.

NYTT: På KVS har gränsen per nyckel höjts till 64Kb (för att matcha gränsen per app); och det maximala antalet nycklar har höjts till 256.

Under iOS 5 betaperioden kan alla dokument som lagras på servrarna rensas med jämna mellanrum före GM. Därför rekommenderas det starkt att du inte lagrar några viktiga dokument eller information på servrarna.

Provisioneringsprofiler behöver inte längre vara aktiverade för iCloud i iOS Provisioning Portal. Alla nygenererade provisioneringsprofiler är nu automatiskt aktiverade för iCloud. Om du använder en Xcode-hanterad Team Provisioning-profil klickar du på uppdatera i Xcode Organizer för att få en ny iCloud-aktiverad profil. För att aktivera alla andra provisioneringsprofiler för iCloud, återskapa helt enkelt dina profiler i iOS Provisioning Portal.

Om din applikation använder klassen NSMetadataQuery måste du ställa in ett predikat, även om själva predikatet ignoreras.

I den här betaversionen stöds inte metoden setSortDescriptors: för NSMetadataQuery.

FIXAT: För att använda iCloud före beta 5, var du tvungen att manuellt ange olika behållaridentifierare (din applikations visningsuppsättning) i en Entitlements-fil för både dina Mac OS X- och iOS-projekt. Från och med beta 5, för att aktivera iCloud-lagring i din appar klickar du helt enkelt på kryssrutan "Aktivera rättigheter" i fönstret Sammanfattning av ditt projekt. Xcode kommer att skapa en anpassad behörighetsfil för ditt projekt som automatiskt inkluderar ditt Team ID. Du kan lägga till ytterligare iCloud Container-värden som krävs av din applikation. (Observera att du måste återskapa dina befintliga provisioneringsprofiler, antingen med Xcode eller i iOS Provisioning Portal, för att använda iCloud-lagring.) Om du anger en anpassad identifierarsträng för din iCloud Key-Value Store eller iCloud Container-rättighetsvärden, kommer du inte längre måste lägga till ditt Team ID i början av strängen. Xcode kommer automatiskt att lägga ditt Team ID till dessa poster

Behållaridentifieringssträngen som du skickar till metoden URLForUbiquityContainerIdentifier: för NSFileManager MÅSTE inkludera team-ID:t i början av strängen. Som en bekvämlighet, om du klarar noll, använder Foundation det första dokumentbehållar-ID:t som anges i appens rättigheter.

Det finns problem med att använda Cloud Storage Document API i kombination med skyddad data som kan leda till datakorruption.

FIXAT: I den här betaversionen kan dokumentbaserade applikationer inte alltid upptäcka när filer ändras, flyttas eller tas bort från undersidan.

I den här betaversionen tar inte filpresentatörer (objekt som använder NSFilePresenter-protokollet) några av de meddelanden som de ska ta emot, särskilt:

presentItemDidChange

presenterade SubitemDidAppearAtURL:

presenterade SubitemDidChangeAtURL:

Du kan lösa detta genom att implementera metoden relinquishPresentedItemToWriter: och kontrollera om författaren faktiskt skrev när din filpresentatör återskaffade. Du kan också använda FSEvents för att observera filsystemändringar

I den här betaversionen levereras inte meddelanden om ändringar av filer i en katalog till objekt som använder NSFilePresenter-protokollet.

När du rapporterar en bugg relaterad till iCloud-lagringsgränssnitten, vänligen inkludera loggarna som samlades in under din felsökningssession. För att generera dessa loggar måste du installera en speciell felsökningsprofil på din enhet. Felsökningsprofilen kan erhållas från http://connect.apple.com. Den här profilen möjliggör generering av felsökningsloggar som behövs för att diagnostisera eventuella problem med iCloud-lagring. Instruktionerna för att samla in loggarna är:

Installera profilen. (Det enklaste sättet att göra detta är att skicka det till dig själv och öppna bilagan på enheten.)

Återskapa felet.

Synkronisera med iTunes för att ta bort loggarna från din enhet.

Bifoga loggarna till din felrapport. Du kan hitta loggarna i ~/Library/Logs/CrashReporter/MobileDevice/DeviceName/DiagnosticLogs.

Dessa loggar kan växa sig stora mycket snabbt, så du bör ta bort profilen efter att du har återskapat problemet och hämtat loggarna för felrapporten.

Filnamn är skiftlägesokänsliga i OS X men skiftlägeskänsliga i iOS. Detta kan leda till problem vid synkronisering av filer mellan de två. Du bör vidta åtgärder på iOS för att undvika att skapa filer vars namn endast skiljer sig från fall till fall.

iMessage

iMessage beta 1 kommer inte att kunna kommunicera med iMessage-användare på beta 2 eller senare.

NYTT: Inställningsassistent anger inte AppleID-lösenord för FaceTime av iMessage.

Builder gränssnitt

NYTT: Vyerna på översta nivån i ett dokument som använder autolayout kan inte läggas till bredd- och höjdbegränsningar. För att komma runt detta kan du lägga till önskad bredd- eller höjdbegränsning manuellt i koden.

NYTT: I Interface Builder kan dokument som använder autolayout och begränsningar som Xcode genererar inte raderas. Du kan "ta bort" dessa begränsningar genom att skapa en användarbegränsning för det beteende du förväntar dig. Till exempel, om du drar ut en knapp och Xcode genererar en ledande begränsning för knappens övervakning, och du vill ha en bakkant till övervakningsbegränsningen, skulle skapa en manuellt med "Lägg till begränsning => Efterföljande begränsning till övervakning" ta bort den främre kanten att övervaka tvång.

NYTT: Det är känt att lika bredd-/höjdbegränsningar kan brytas på vyer som fyller en behållare när du ändrar storlek på fönstret. Om du ändrar storleken på fönstret och en begränsning av samma bredd/höjd bryts, kommer du att lägga till den igen för att justera fönstret för att tillgodose begränsningen.

NYTT: När du redigerar värdet för en begränsning i inspektören förblir begränsningen vald, och dispositionsvyn fortsätter att visa begränsningen som vald.

NYTT: I XCode 4.2 vid kopiering av vyer (antingen en enskild vy eller flera vyer), kopieras både de användardefinierade begränsningarna direkt på den valda vyn och de användardefinierade begränsningarna mellan vyerna som kopieras till insticksbordet.

NYTT: I Xcode 4.2 för ett dokument som använder Cocoa Auto Layout väljer "Select All" på arbetsytan inte längre begränsningarna och undervyerna för den redigerade vyn. Om en vy är vald kommer den bara att välja vyer. Om en begränsning väljs kommer "Select All" att välja alla begränsningar.

NYTT: Att ändra segmentstilen för en NSSegmentedControl till "Automatisk" kan krascha i dokument som använder Cocoa Auto Layout. För att komma runt problemet, använd en explicit segmentstil som Round eller Textured, och under körning ändrar du segmentstilen till automatisk med -[NSSegmentedCell setSegmentStyle:]

iPod

FIXAT: När du använder volymknapparna på enheten eller på hörlurar, kan det hända att volymreglaget i apparnas användargränssnitt inte uppdateras även om volymnivån har ändrats.

iTunes

Den version av iTunes som följer med beta 5 kan inte synkronisera enheter som har beta 4-programvaran installerad. För att undvika detta problem, gör följande:

Synkronisera alla enheter som har beta 4 installerat till den version av iTunes som följde med beta 4.

Uppgradera iTunes till versionen som följer med beta 5.

Anslut enheten och installera beta 5-programvaran. (Förstå att du kan se ett fel vid synkronisering när du ansluter enheten första gången.)

När du har installerat beta 5-programvaran, återställ från din säkerhetskopia du gjorde i steg 1.

Videor köpta från iTunes Store spelas inte upp på en 2:a generationens AppleTV över AirPlay med iTunes 10.5.

Post

När du ändrar värdnamnet för ett e-postkonto i inställningarna kan tomma meddelanden ses i den förenade inkorgen. Som en lösning, ta bort och lägg till kontot igen istället för att ändra dess värdnamn.

OTA-programuppdatering

Om du gör en OTA-programuppdatering måste du synkronisera om dina bilder med iTunes."

Bilder

FIXAT: När du återställer fotobibliotek från en iTunes-säkerhetskopia kanske vissa foton inte visas i programmet Foton efter återställning. Säkerhetskopiera dina foton innan du uppdaterar till iOS Beta 5.

Påminnelser

NYTT: Om synkronisering av påminnelser är aktiverad för ett Yahoo-konto och det inte finns någon påminnelsesamling på servern, kommer den kontinuerligt att återskapas av telefonen. På grund av ett Yahoo-serverfel kommer den samlingen att dyka upp som en evenemangskalender.

Simulator

Platstjänster fungerar inte i iOS 4.3-simulatorn som körs på Mac OS 10.7 med Xcode 4.2.

Språng

Push- och lokala aviseringar för appar visas i det nya meddelandecentret i iOS 5. Meddelandecenter visar meddelanden som anses vara "olästa". För att tillgodose push- och lokala aviseringar som inte har någon "oläst"-status, kan utvecklare använda sina applikationsmärken för att utlösa en rensning av meddelanden från meddelandecentret. När en applikation rensar sitt märkesantal (genom att ställa in det på noll), rensar iOS 5 sina meddelanden från Notification Center.

FIXAT: UIPrerenderedIcon-nyckeln (i Info.plist-filen) används inte i denna beta.

StoreKit

FIXAT: In-App-köp fungerar inte för utvecklare som testar sina appar med iTunes Sandbox.

UI-automatisering

NYTT: Det finns ett känt problem när du använder performTaskOnHost API i ett UI Automation-skript. Om uppgiften som utförs med API:et utmatar för mycket (säg tusentals rader text) till standardout eller standardfel, kan uppgiften låsa sig tills timeouten uppnås, då den kommer att skapa ett javascript-undantag.

Lock() och unlock() funktionerna i UIATarget har ersatts med lockForDuration( ) arbete.

Från och med iOS 5 beta 2 kan du nu utlösa exekveringen av ett UI Automation-skript på en iOS-enhet från värdterminalen genom att använda instrumentverktyget. Kommandot är:

instrument -w T

När du använder cli-instrumenten för UI-automatisering kan du nu rikta in dig på standardautomationsmallen och skicka skriptet och resultatsökvägen till verktyget som alternativ för miljövariabler. Till exempel:

instrument -w -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate -det är UIASCRIPT -e UIARESULTSPATH

UIKit

Från och med iOS 5 beta 3 har UIControls exklusiva Touch-egendom återgått till sitt ursprungliga standardvärde NO.

Att returnera noll från metoden tableView:viewForHeaderInSection: (eller dess sidfotsekvivalent) räcker inte längre för att dölja en rubrik. Du måste åsidosätta tableView:heightForHeaderInSection: och returnera 0.0 för att dölja en rubrik.

I iOS 5 beta har UITableView-klassen två metoder för att flytta en cell från en rad till en annan med definierade parametrar. Dessa API:er har:

moveSection:toSection:

moveRowAtIndexPath:toIndexPath:

Genom att använda klassen UIWebView i Interface Builder är det möjligt att ställa in transparent bakgrundsfärg i iOS 5. Utvecklare som kompilerar mot den nya SDK:n kan kontrollera sin XIB för den transparenta inställningen UIWebView.

I iOS 5 beta har implementeringarna UINavigationBar, UIToolbar och UITabBar ändrats så att metoden drawRect: inte anropas på instanser av dessa klasser om den inte är implementerad i en underklass. Appar som har återimplementerat drawRect: i en kategori på någon av dessa klasser kommer att upptäcka att drawRect:-metoden inte anropas. UIKit gör länkkontroll för att förhindra att metoden anropas i appar som är länkade före iOS 5 men stöder inte denna design på iOS 5 eller senare. Appar kan antingen:

Använd anpassnings-API:et för barer i iOS 5 och senare, vilket är det föredragna sättet.

Underklass UINavigationBar (eller de andra stapelklasserna) och åsidosätt drawRect: i underklassen.

Metoderna indexPathForRow:inSection:, sektion och rad i NSIndexPath använder nu NSInteger istället för NSUInteger, så att dessa typer matchar med metoder som definieras i UITableView.

Touch-händelser vidarebefordras inte till vyn i egenskapen cameraOverlayView för UIImagePickerController.

Vi har ändrat beteendet för scrollTorowAtIndexPath:atScrollPosition:animated: så att UITableViewScrollPositionTop ochUITableViewScrollPositionBottom nu justerar för de övre och nedre delarna av contentInset-egenskapen.

NYTT: I utgåvor före iOS 5.0, skulle UIPopoverController-klassen ovillkorligen ställa in autostorleksmaskerna för visningskontroller som var innehållsvykontrollern för popover-kontrollern. Det skulle också ovillkorligen ställa in autostorleksmaskerna för vyerna av vykontrollanter som skjutits på ett UINavigationController-objekt som var kontrollenheten för innehållsvyn för popover-kontrollern. I iOS 5.0 kommer klassen UIPopoverController inte längre att göra detta för applikationer länkade på iOS 5.0 eller senare. Utvecklare bör se till att maskerna för automatisk storleksändring av vyer är korrekt inställda för att tillåta godtyckliga storleksändringar inom vilken behållare som helst, inte bara popovers. En mask av (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight) skulle inte vara orimlig.

Kompletteringshanteraren för saveToURL:forSaveOperation:completionHandler: anropas nu utanför det koordinerade skrivblocket, där det brukade anropas inuti.

NYTT: Metoden autosaveWithCompletionHandler: anropas nu endast för periodbaserade sparningar och det är säkert att återvända utan att spara. Dokument måste dock sparas om metoden saveToURL:forSaveOperation:completionHandler: anropas.

Safari och WebKit

I iOS 5 är en ny ärvd CSS-egenskap, -webkit-overflow-scrolling, tillgänglig. Värdeberöringen gör att webbutvecklaren kan välja att rulla i inbyggd stil i ett overflow:scroll-element. Standardvärdet för den här egenskapen är auto, vilket tillåter rullning med ett finger utan momentum.

FIXAT: I beta 5 fungerar inte åtkomst till webbplatser som använder SSL-certifikat på klientsidan och kan få programmet att krascha.

WebKit-ramverket har plockat upp en nyare WebKit-motor, som nära matchar Safari 5.1. Några områden att vara medveten om med det nya WebKit-ramverket på iOS:

Det finns en ny HTML5-kompatibel parser.

Textlayoutens bredd kan ändras något eftersom ordavrundningsbeteendet nu har flyttalsbaserad precision.

Det finns förbättrad validering av formulärfält, vilket inkluderar att ta bort inledande nollor och sifferformatering.

Touch-händelser stöds nu i inmatningsfält.

window.onerror stöds nu.

Det finns en ny användaragent som inte har lokalinformation i User Agent-strängen.

FIXAT: URL:er kanoniseras nu genom att göra schemat endast med små bokstäver. Om en falsk URL används för att skicka information från en UIWebView tillbaka till inbyggd kod, se till att schemat alltid är gemener, eller att den inbyggda koden jämför schemat på ett skiftlägesokänsligt sätt.

Wi-Fi-synkronisering

I iOS 5 beta 4 och senare är trådlös synkronisering nu tillgänglig på såväl Windows som Mac. (Detta stöd kräver OS X 10.6.8 eller Lion.) Du kommer att se ett alternativ för att aktivera trådlös synkronisering när du ansluter din enhet till iTunes med USB-kabeln. Det rekommenderas att du utför din första synkronisering med en kabel efter att du har återställt enheten.

Trådlös synkronisering utlöses automatiskt när enheten är ansluten till ström och på samma nätverk som den ihopparade datorn. Eller så kan du manuellt utlösa en synkronisering från iTunes eller från Inställningar > Allmänt > iTunes Sync (samma nätverk som en parad dator krävs).

Om du hittar problem med appar, media och/eller foton som synkroniseras till din enhet kan du återställa och sedan synkronisera om. Från Inställningar > Allmänt > Återställ, välj Radera allt innehåll och inställningar. Anslut sedan till iTunes igen och synkronisera igen.

FIXAT: I vissa fall kan din enhet misslyckas med att synkronisera kontakter, kalendrar och kontoinställningar eller säkerhetskopiera till iTunes. Om detta händer, starta om enheten och synkronisera om.

Xcode

I vissa fall visar inte Xcode 4.2 Organizer en enhet som är i återställningsläge. Som en lösning kan du använda iTunes för att återställa.

I iOS 5 beta 5 är iOS Simulator inte kompatibel med tidigare versioner av iCloud Developer Seed för OS X. Det rekommenderas starkt att du uppdaterar till det senaste iCloud Developer Seed för att säkerställa kompatibilitet.

iOS 5.0 SDK stöder både iOS 4.3 och iOS 5.0 simulatorer.

FIXAT: Xcode misslyckas med att bygga en sidbaserad mall. Du kan kringgå det här problemet genom att lägga till Core Graphics-ramverket i ditt projekt.