Apple släpper iOS 5 beta 7 (+ changelog)

     Under den här kvällen släppte Apple den sjunde betaversionen av operativsystemet iOS 5, där utvecklare har tillgång till de senaste funktionerna och uppdateringarna som kommer att vara officiellt tillgängliga först under hösten. Denna nya betaversion är tillgänglig för alla iDevices som är kompatibla med iOS 4.3.5 och självklart finns det möjlighet att installera den genom Software Update. Om du har ett jailbreak kommer du inte att kunna använda funktionen Programuppdatering eftersom Apple har hittat ett sätt att blockera dess funktionalitet. Du kan ladda ner iOS 5 beta 7 från ditt utvecklarkonto på Apples webbplats. Här hittar du alla nyheter från iOS 5 beta 7.

      Här är hela ändringsloggen publicerad av Apple:

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

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.

API-validering

NYTT: Från och med iOS 5.0 utvecklingsverktyg beta 7 är det möjligt att extrahera API:er som används av en applikation och få dem kontrollerade för privata API:er. Detta alternativ kommer att erbjudas vid valideringstiden.

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.

Bildspelsinställningar kommer inte ihåg för bildspelsuppspelning (spelas alltid upp i Reflections-tema). Skärmsläckares inställningar fungerar korrekt.

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.

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,CIMuminosityBlendumBlendum,CIM de, CIMultiplyCompositing, CIOoverlayBlendMode, CIRadialGradient, CISaturationBlendMode, CIScreenBlendMode, CISepiaTone, CISoftLightBlendMode, CISourceAtopCompositing, CISourceInCompositing, CISourceOutCompositing, CISourceOver CIStraightenFilter, CIStripesGenerator, CITemperatureAndTint, CIToneCurve, CIVibrance, CIVignette och CIWhitePointAdjust

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

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.

icloud Förvaring

NYTT: Från och med iOS 5 beta 7 har kraven för att ange behållaridentifieringssträngar i din applikations rättigheter ändrats. Varje behållaridentifierare som inte innehåller ett jokertecken måste exakt matcha paketidentifieraren för en applikation som publiceras med samma team-ID som din applikation. Du behöver inte inkludera en rättighet som matchar din apps egen paketidentifierare; till exempel kan en lite och en pro-version av din app båda ange pro-appens paketidentifierare för att dela samma behållare. Kraven för behållaridentifierare som innehåller jokertecken har inte ändrats, men du kan behöva uppdatera befintliga jokerteckenidentifierare efter att ha ändrat eventuella icke-jokerteckenidentifierare i din applikations rättigheter så att de matchar de nya reglerna.

NYTT: I denna betaversion av iOS 5.0 har antalet gånger en app kan synkroniseras i snabb följd med servrarna minskat. Om du felsöker din app och vill se om dina synkroniseringsbegäranden begränsas kan du anropa metoden -[NSUbiquitousKeyValueStore _printDebugDescription] direkt i gdb. Observera att -[NSUbiquitousKeyValueStore _printDebugDescription] är en SPI så du rekommenderas starkt att inte använda den i din app.

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, predikatet är nu hedrat. Men predikatet är ett predikat i NSPredicate-stil, inte ett predikat i Spotlight-stil. Ett exempel på detta är att du måste använda LIKE istället för = för matchning med jokertecken. Skillnaderna definieras mer i detalj på: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pSpotlightComparison.html#//apple_ref/doc/uid/TP40002370-SW1

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

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 dina appar, klicka bara 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, behöver du inte längre lägga ditt Team ID framför 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.

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:

presenterade SubitemDidAppearAtURL:

presenterade SubitemDidChangeAtURL:

Du kan lösa detta genom att implementera metoden relinquishPresentedItemToWriter: och kontrollera om skribenten faktiskt skrev när din filpresentatör återskaffade. Filpresentatörer får presentItemDidChange:-meddelanden i denna beta.

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.

Hitta min iPhone

Efter OTA-uppdateringen fungerar inte Find My iPhone. För att göra den funktionell kan du växla Hitta min iPhone från AV till PÅ i Inställningar.

GameKit

NYHET: Automatisk matchning med den turbaserade vykontrollen fungerar inte. Inbjudningar eller API för direkt automatisk matchning kan användas som en lösning.

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

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

iMessage

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

FIXAT: Inställningsassistenten tillhandahåller inte AppleID-lösenord som indata för FaceTime i iMessage.

Builder gränssnitt

FIXAT: 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.

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

Att ändra segmentstilen för ett NSSegmentedControl-objekt 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 metoden setSegmentStyle:.

iTunes

NYTT: När du försöker återställa en iPhone 3GS eller iPod touch 3:e generationens enhet som kör Beta 6 till Beta 7 med iTunes, måste du ställa in enheten på DFU eller så kan du OTA uppdatera till Beta 7. För att gå in i DFU-läge måste du :

Anslut enheten till USB på din Mac.

Stäng av enheten.

Starta iTunes på din Mac.

Håll ned hem- och strömknapparna i 10 sekunder.

Fortsätt att hålla ned hemknappen men släpp strömknappen.

Håll ned hemknappen i 13 sekunder eller tills enheten dyker upp i iTunes.

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

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

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

Anslut enheten och installera beta 7-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 7-programvaran, återställ från din säkerhetskopia du gjorde i steg 1.

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.

Music Player

När du tar bort en låt eller video från musik/videor på enheten kraschar den appen.

OpenGLES

FIXAT: Efter belysningsstadiet, oavsett om belysningen är aktiverad eller inte, är de resulterande färgvärdena inte inklämda i GLKit/GLKEffects med antingen GLKLightingTypePerVertex eller GLKLightingTypePerPixel inställda på effekten. Som ett resultat är det inte ovanligt att se skillnader i belysning mellan de två, särskilt när flera lampor är aktiverade. Detta skiljer sig från OpenGLES 1.1 som klämmer färgvärden efter belysningsstadiet oavsett om belysning är aktiverad eller inte.

OTA-programuppdatering

Användare som installerade iOS 5 beta 6 direkt från iOS 5 beta 3 måste först radera allt innehåll och inställningar genom att välja Inställningar > Allmänt > Återställ > Radera allt innehåll och inställningar för att installera iOS 5 beta 7 direkt. Detta påverkar bara användare som inte uppdaterade till iOS 5 beta 4.

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

FIXAT: Det kan finnas vissa fall där köp från App Store eller iTunes Store verkar ha stannat på grund av att enheten laddar ner något annat i bakgrunden. En lösning är att koppla bort enheten från strömmen (koppla från enheten).

NYTT: Om du har ett lösenord inställt måste det tas bort innan du uppdaterar till seed 7 från tidigare seeds. Det kan återaktiveras efter att uppdateringen är klar. Underlåtenhet att göra det kan kräva att iMessage återaktiveras i inställningarna.

Påminnelser

FIXAT: 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.

Säkerhet

I iOS 5.0 stöds inte signering av certifikat med MD5-signaturer. Se till att certifikat använder signaturalgoritmer baserade på SHA1 eller SHA2.

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.

UI-automatisering

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

I iOS 5.0 skickar inte UIPickerView sitt pickerView:didSelectRow:inComponent: delegeringsmeddelande på grund av ett programmatiskt val.

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.

Vi har ändrat beteendet för scrollToRowAtIndexPath:atScrollPosition:animated: så att UITableViewScrollPositionTop och UITableViewScrollPositionBottom 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.

FIXAT: Metoden autosaveWithCompletionHandler: kommer nu endast att anropas 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.

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.

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

Xcode

NYTT: Från och med Xcode 4.2 i iOS 5.0 beta 7 är stöd för att köra och felsöka applikationer i iOS 4.3-simulatorn och på enheter med iOS-versioner äldre än 4.2 valfritt och installerat på begäran. Detta stöd levereras inte längre som en del av kärnverktygspaketet och görs tillgängligt för nedladdning och installation via rutan "Nedladdningar" i Xcode Preferences-panelen. Ett giltigt iOS-utvecklar-ADC-konto krävs för att få det här innehållet. För att skaffa iOS 4.3-simulatorn, välj "Fler simulatorer..." från popup-fönstret Kör destinationer i huvudverktygsfältet. Detta kommer att visa nedladdningsfönstret i Inställningar med användargränssnitt för att initiera installationen av simulatorn.

För att få iOS-enhetsstöd för enheter före iOS 4.2, anslut en enhet och aktivera den för utveckling i Organizer. Xcode kommer att ge en uppmaning att initiera nedladdningen av enhetssupportkomponenterna.

Om Xcode 4.2 i iOS 5.0 beta 7 är installerad över en tidigare Xcode 4.2 beta eller Xcode 4.1, kommer iOS 4.3-simulatorn och enhetsstöd från den tidigare installationen redan att finnas, och de ytterligare komponenterna kommer att visas som "Installerade" i nedladdningarna rutan i Xcode-inställningarna.

Installationspaketen för de nedladdade komponenterna kommer att lagras i ~Library/Developer/Xcode. När en ny version av Xcode (beta eller GM) kommer att installeras, kommer efterföljande förfrågningar att installera dessa komponenter att använda de lokala paketen utan att kräva en ny nedladdning.

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.