iOS 7 beta 5, här är hela ändringsloggen

  iOS beta 7 5 lanserades i kväll av Apple-företaget, och nu har vi tillgänglig hela ändringsloggen för den här versionen av operativsystemet. Naturligtvis hittar vi i den främst omprövningar av tidigare problem och prestandaförbättringar, men företagets designers fortsatte att implementera olika subtila förändringar av användargränssnittet.

Anteckningar och kända problem

Följande problem gäller att använda iOS SDK 7.0 för att utveckla kod: Adressbok

Anmärkningar

Klasserna i AddressBookUI-ramverket tillåter nu uttryckligen underklassning. För appar som är länkade mot iOS 7 SDK, ger ett försök att initiera en underklass av en av dessa klasser noll. För appar som är länkade mot äldre SDK:er är den enda beteendeändringen en varning som loggas till konsolen.

Från och med Seed 4 är integritetsstöd för AddressBookUI-ramverket återaktiverat för appar som är länkade mot iOS 7 SDK. Appar som är länkade mot äldre SDK:er ändras inte. Om din app använder någon av vykontrollerna för adressboken bör du verifiera att den fortfarande fungerar som förväntat.

LUFTLANDSÄTTNING

Anmärkningar

AirDrop i iOS 7 Seed 2 eller senare är inte kompatibelt med AirDrop i iOS 7 Seed 1.

Support endast för kontakter kräver att:

Du är inloggad på iCloud.

Avsändaren och mottagaren har varandras Apple ID-e-postadresser i Kontakter på sina enheter.

Fixat i Seed 5

Contact Only kräver för närvarande att du har en aktiv Internetanslutning.

App Store bör stödja möjligheten att hitta en app som kan öppna ett mottaget dokument baserat på dokumentets Uniform Type Identifier (UTI). För närvarande visas bara en tom skärm.

AV Foundation

Anmärkningar

AVCaptureSession använder nu din app AVAudioSession som standard.

Core Animation

Anmärkningar

När UIViewGroupOpacity-nyckeln inte finns är standardvärdet nu JA. Standardinställningen var tidigare NO.

Detta innebär att undervyer av en genomskinlig vy först kommer att sammansättas på den genomskinliga vyn, sedan kommer det prekomposita underträdet att ritas som en helhet på bakgrunden. En NO-inställning resulterar i billigare, men också mindre exakt, sammansättning: varje vy i det genomskinliga underträdet är sammansatt på vad som finns under det, enligt förälderns opacitet, i den normala målarens algoritmordning.

Anmärkningar

I Seed 4 och senare har Exchange DeviceIdentifier ändrats tillbaka till beteendet för iOS 6 där den använder serienumret.

Teckensnitt

Anmärkningar

Nya teckensnittsradhöjder introducerades i Seed 4. Om du hade justerat ditt teckensnitt manuellt i tidigare frön, kan det flytta något uppåt vertikalt i senare frön.

fundament

Anmärkningar

En NSMetadataQuery med allestädes närvarande omfattning kan nu använda kMDItemContentTypeTree i predikat.

Till exempel:

NSPredicate *p = [NSComparisonPredicate

predicateWithLeftExpression:[NSExpression

expressionForKeyPath:@”kMDItemContentTypeTree”]

rightExpression:[NSExpression

expressionForConstantValue:@”public.rtf”]

modifierare: NSAnyPredicateModifier

typ:NSLikePredicateOperatorType

alternativ:0];

När anropade resultat som returneras av frågor med allestädes närvarande omfattning, -[NSMetadataItem

valueForAttribute:NSMetadataItemDisplayNameKey] producerar nu samma värde som –

[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], matchande icke-ubiquitous

frågor.

icloud

Anmärkningar

Om du använder iCloud-nyckelring med återställning kan du se en dialogruta som indikerar att återställning har inaktiverats på grund av en serverändring. Detta är avsiktligt. För att återaktivera funktionalitet, följ instruktionerna i meddelandet. Om du ser flera varningar eller märker problem med att återaktivera återställning, vänligen skicka in en felrapport.

iCloud-nyckelring i iOS 7 Seed 3 eller senare är inte bakåtkompatibel med iOS 7 Seed 2 eller OS X

Mavericks Seed 2.

Om du hade iCloud Keychain och/eller Keychain Restore aktiverade från iOS 7 Seed 2, inaktiveras båda funktionerna vid uppdatering till iOS 7 Seed 3 eller senare.

Efter uppdatering till iOS 7 Seed 3 eller senare, gå till Inställningar > iCloud > Nyckelring och återaktivera iCloudKeychain på dina enheter.

Se OS X v10.9 Release Notes för mer information.

Aktiveringslås, en ny funktion i Hitta min iPhone, aktiveras automatiskt när Hitta min iPhone är aktiverat på alla enheter som kör iOS 7. Aktiveringslås kräver att användare anger sitt Apple-ID och lösenord för att slå på Hitta min iPhone, logga ut från iCloud , radera enheten eller återaktivera enheten efter en radering. Det är viktigt att göra något av följande innan du överför en enhet till en ny användare:

Logga ut från iCloud.

Aktivera aktiveringslås i Inställningar > iCloud > Hitta min iPhone.

Fixat i Seed 5

Röstmemon återställs inte från iCloud-säkerhetskopior.

Användare i Schweiz, Frankrike, Spanien, Tyskland, Polen, Finland och möjligen några andra länder kommer inte att kunna återställa sina nyckelringar med hjälp av validering av telefonnummer.

kända problem

Lösenordsfält visas inte i varningsvyer för appar i landskapet (till exempel Game Center-autentisering eller köp i appen). Textinmatning fungerar fortfarande, även om du inte kan se vad du skriver.

MAPK

Anmärkningar

Om anropen till renderInContext på lagret som stödjer en MKMapView är gjorda av huvudtråden, bör de elimineras eller flyttas till huvudtråden. Underlåtenhet att göra det kan orsaka en appkrasch.

Istället för att använda renderInContext, använd de nya MKMapSnapshotter API:erna.

Media

Anmärkningar

iOS kommer nu ihåg den senast använda medieappen vid omstarter och appkrascher. Medieappar som kan ta emot fjärrkontrollhändelser bör vara förberedda för att startas i bakgrunden och eventuellt ta emot en fjärrkontrollhändelse för att starta uppspelningen. Dessutom är det viktigt att medieappar övervakar och hanterar mediaserverns återställningshändelse, eftersom mediaappen kan få en fjärrbegäran om att återuppta uppspelningen efter en återställning. Aviseringar för att övervaka dessa mediaserverhändelser finns tillgängliga i

AVAudioSession och korrekt hantering beskrivs i Allmänna rekommendationer för hantering

kAudioSessionProperty_ServerDied.

Multipeer-anslutning

Anmärkningar

Många uppdateringar av MCSession API:er ingår i detta frö. API:erna fungerar nu som de presenterades på WWDC. Större förändringar och förbättringar inkluderar: Följande nya metod på MCSession har implementerats:

– (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID

*)peerID-fel:(NSError **)fel

Denna delegatmetod har implementerats:

– (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream

withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID

Följande nya metod på MCSession har implementerats:

– (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString

*)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError

*fel))completionHandler

Delegeringsmetoden för att börja ta emot en resurs från extern peer har implementerats som:

– (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString

*)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress

Delegeringsmetoden för att slutföra att ta emot en resurs från en extern peer och spara innehållet i en

tillfällig plats implementeras som:

– (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString

*)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:

(NSError *) fel

Anmärkningar: Appen ansvarar för att filen flyttas till en permanent plats i sin sandlåda.

MCAdvertiserAssistant är en bekvämlighetsklass för att implementera en annonsör, som hanterar inbjudningar och anslutningar till en MCSession.

MCSession har en ny initWithPeer: metod.

sendResource har lagt till "with" till completionHandler.

Timeouten har tagits bort från connectPeer:withNearbyConnectionData.

För mer information om dessa API:er, titta på videon för WWDC 2013 Session 708, "Nära

Nätverk med multipeer-anslutning."

Multitasking

Anmärkningar

AVAudioSession kan inte längre bli aktiv av appar i bakgrunden som vaknar pga

Bakgrundshämtning, bakgrundsöverföringar och fjärraviseringshändelser.

Policyn för API för slutförande av uppgifter har ändrats tillbaka för att matcha iOS 6-beteendet, men tidsgränsen för slutförande av uppgifter har minskat från 10 minuter i iOS 6.

Nätverksanteckningar

Den cellulära reservtekniken som finns i tidigare frön har tagits bort från och med Seed 5.

Två nätverks-API:er på låg nivå som tidigare returnerade en MAC-adress returnerar nu det fasta värdet

02:00:00:00:00:00. API:erna i fråga är sysctl (NET_RT_IFLIST) och ioctl

(SIOCGIFCONF). Utvecklare som använder värdet på MAC-adressen bör migrera till sådana identifierare

som -[UIDevice identifierForVendor]. Denna ändring påverkar alla appar som körs på iOS 7.

Objective-C Runtime

Anmärkningar

På grund av förändringar i hur isa-fältet implementeras kan *själva ändras under uppräkningen (för Apple har precis släppt iOS 7 beta 5 för iPhone, iPad, iPad mini och iPod touch och nu har hela ändringsloggen också gjorts tillgänglig. Den senaste iOS 7-betan släpptes till utvecklare som en OTA-uppdatering först, som alltid är fallet, men vi har informerats om att de nya operativsystemfilerna nu finns tillgängliga för nedladdning på Apples utvecklarportal online. Apple har också publicerat den fullständiga ändringsloggen för iOS 7 beta 5 som innehåller en lista över alla programuppdateringar som företaget lyckades packa in i sitt senaste beta-operativsystem. BGR har fått en kopia av Apples ändringslogg för iOS 7 beta 5, och alla detaljer följer nedan.

Anteckningar och kända problem

Följande problem gäller att använda iOS SDK 7.0 för att utveckla kod: Adressbok

Anmärkningar

Klasserna i AddressBookUI-ramverket tillåter nu uttryckligen underklassning. För appar som är länkade mot iOS 7 SDK, ger ett försök att initiera en underklass av en av dessa klasser noll. För appar som är länkade mot äldre SDK:er är den enda beteendeändringen en varning som loggas till konsolen.

Från och med Seed 4 är integritetsstöd för AddressBookUI-ramverket återaktiverat för appar som är länkade mot iOS 7 SDK. Appar som är länkade mot äldre SDK:er ändras inte. Om din app använder någon av vykontrollerna för adressboken bör du verifiera att den fortfarande fungerar som förväntat.

LUFTLANDSÄTTNING

Anmärkningar

AirDrop i iOS 7 Seed 2 eller senare är inte kompatibelt med AirDrop i iOS 7 Seed 1.

Support endast för kontakter kräver att:

Du är inloggad på iCloud.

Avsändaren och mottagaren har varandras Apple ID-e-postadresser i Kontakter på sina enheter.

Fixat i Seed 5

Contact Only kräver för närvarande att du har en aktiv Internetanslutning.

App Store bör stödja möjligheten att hitta en app som kan öppna ett mottaget dokument baserat på dokumentets Uniform Type Identifier (UTI). För närvarande visas bara en tom skärm.

AV Foundation

Anmärkningar

AVCaptureSession använder nu din app AVAudioSession som standard.

Core Animation

Anmärkningar

När UIViewGroupOpacity-nyckeln inte finns är standardvärdet nu JA. Standardinställningen var tidigare NO.

Detta innebär att undervyer av en genomskinlig vy först kommer att sammansättas på den genomskinliga vyn, sedan kommer det prekomposita underträdet att ritas som en helhet på bakgrunden. En NO-inställning resulterar i billigare, men också mindre exakt, sammansättning: varje vy i det genomskinliga underträdet är sammansatt på vad som finns under det, enligt förälderns opacitet, i den normala målarens algoritmordning.

Anmärkningar

I Seed 4 och senare har Exchange DeviceIdentifier ändrats tillbaka till beteendet för iOS 6 där den använder serienumret.

Teckensnitt

Anmärkningar

Nya teckensnittsradhöjder introducerades i Seed 4. Om du hade justerat ditt teckensnitt manuellt i tidigare frön, kan det flytta något uppåt vertikalt i senare frön.

fundament

Anmärkningar

En NSMetadataQuery med allestädes närvarande omfattning kan nu använda kMDItemContentTypeTree i predikat.

Till exempel:

NSPredicate *p = [NSComparisonPredicate

predicateWithLeftExpression:[NSExpression

expressionForKeyPath:@”kMDItemContentTypeTree”]

rightExpression:[NSExpression

expressionForConstantValue:@”public.rtf”]

modifierare: NSAnyPredicateModifier

typ:NSLikePredicateOperatorType

alternativ:0];

När anropade resultat som returneras av frågor med allestädes närvarande omfattning, -[NSMetadataItem

valueForAttribute:NSMetadataItemDisplayNameKey] producerar nu samma värde som –

[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], matchande icke-ubiquitous

frågor.

icloud

Anmärkningar

Om du använder iCloud-nyckelring med återställning kan du se en dialogruta som indikerar att återställning har inaktiverats på grund av en serverändring. Detta är avsiktligt. För att återaktivera funktionalitet, följ instruktionerna i meddelandet. Om du ser flera varningar eller märker problem med att återaktivera återställning, vänligen skicka in en felrapport.

iCloud-nyckelring i iOS 7 Seed 3 eller senare är inte bakåtkompatibel med iOS 7 Seed 2 eller OS X

Mavericks Seed 2.

Om du hade iCloud Keychain och/eller Keychain Restore aktiverade från iOS 7 Seed 2, inaktiveras båda funktionerna vid uppdatering till iOS 7 Seed 3 eller senare.

Efter uppdatering till iOS 7 Seed 3 eller senare, gå till Inställningar > iCloud > Nyckelring och återaktivera iCloudKeychain på dina enheter.

Se OS X v10.9 Release Notes för mer information.

Aktiveringslås, en ny funktion i Hitta min iPhone, aktiveras automatiskt när Hitta min iPhone är aktiverat på alla enheter som kör iOS 7. Aktiveringslås kräver att användare anger sitt Apple-ID och lösenord för att slå på Hitta min iPhone, logga ut från iCloud , radera enheten eller återaktivera enheten efter en radering. Det är viktigt att göra något av följande innan du överför en enhet till en ny användare:

Logga ut från iCloud.

Aktivera aktiveringslås i Inställningar > iCloud > Hitta min iPhone.

Fixat i Seed 5

Röstmemon återställs inte från iCloud-säkerhetskopior.

Användare i Schweiz, Frankrike, Spanien, Tyskland, Polen, Finland och möjligen några andra länder kommer inte att kunna återställa sina nyckelringar med hjälp av validering av telefonnummer.

kända problem

Lösenordsfält visas inte i varningsvyer för appar i landskapet (till exempel Game Center-autentisering eller köp i appen). Textinmatning fungerar fortfarande, även om du inte kan se vad du skriver.

MAPK

Anmärkningar

Om anropen till renderInContext på lagret som stödjer en MKMapView är gjorda av huvudtråden, bör de elimineras eller flyttas till huvudtråden. Underlåtenhet att göra det kan orsaka en appkrasch.

Istället för att använda renderInContext, använd de nya MKMapSnapshotter API:erna.

Media

Anmärkningar

iOS kommer nu ihåg den senast använda medieappen vid omstarter och appkrascher. Medieappar som kan ta emot fjärrkontrollhändelser bör vara förberedda för att startas i bakgrunden och eventuellt ta emot en fjärrkontrollhändelse för att starta uppspelningen. Dessutom är det viktigt att medieappar övervakar och hanterar mediaserverns återställningshändelse, eftersom mediaappen kan få en fjärrbegäran om att återuppta uppspelningen efter en återställning. Aviseringar för att övervaka dessa mediaserverhändelser finns tillgängliga i

AVAudioSession och korrekt hantering beskrivs i Allmänna rekommendationer för hantering

kAudioSessionProperty_ServerDied.

Multipeer-anslutning

Anmärkningar

Många uppdateringar av MCSession API:er ingår i detta frö. API:erna fungerar nu som de presenterades på WWDC. Större förändringar och förbättringar inkluderar: Följande nya metod på MCSession har implementerats:

– (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID

*)peerID-fel:(NSError **)fel

Denna delegatmetod har implementerats:

– (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream

withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID

Följande nya metod på MCSession har implementerats:

– (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString

*)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError

*fel))completionHandler

Delegeringsmetoden för att börja ta emot en resurs från extern peer har implementerats som:

– (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString

*)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress

Delegeringsmetoden för att slutföra att ta emot en resurs från en extern peer och spara innehållet i en

tillfällig plats implementeras som:

– (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString

*)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:

(NSError *) fel

Anmärkningar: Appen ansvarar för att filen flyttas till en permanent plats i sin sandlåda.

MCAdvertiserAssistant är en bekvämlighetsklass för att implementera en annonsör, som hanterar inbjudningar och anslutningar till en MCSession.

MCSession har en ny initWithPeer: metod.

sendResource har lagt till "with" till completionHandler.

Timeouten har tagits bort från connectPeer:withNearbyConnectionData.

För mer information om dessa API:er, titta på videon för WWDC 2013 Session 708, "Nära

Nätverk med multipeer-anslutning."

Multitasking

Anmärkningar

AVAudioSession kan inte längre bli aktiv av appar i bakgrunden som vaknar pga

Bakgrundshämtning, bakgrundsöverföringar och fjärraviseringshändelser.

Policyn för API för slutförande av uppgifter har ändrats tillbaka för att matcha iOS 6-beteendet, men tidsgränsen för slutförande av uppgifter har minskat från 10 minuter i iOS 6.

Nätverksanteckningar

Den cellulära reservtekniken som finns i tidigare frön har tagits bort från och med Seed 5.

Två nätverks-API:er på låg nivå som tidigare returnerade en MAC-adress returnerar nu det fasta värdet

02:00:00:00:00:00. API:erna i fråga är sysctl (NET_RT_IFLIST) och ioctl

(SIOCGIFCONF). Utvecklare som använder värdet på MAC-adressen bör migrera till sådana identifierare

som -[UIDevice identifierForVendor]. Denna ändring påverkar alla appar som körs på iOS 7.

Objective-C Runtime

Anmärkningar

På grund av förändringar i hur isa-fältet implementeras kan *självet ändras under uppräkningen (f.

till exempel om behållaren behålls).

Lösning: När du implementerar countByEnumeratingWithState, ställ inte in tillstånd-

>mutationsPtr = själv.

Passbook

Anmärkningar

Från och med iOS 7 Seed 4 har Passbook lagt till stöd för de större och mindre fälten för att bättre matcha

resten av iBeacons ekosystem. De nya dur- och molltonarna är valfria oberoende av varandra

tillsammans med proximityUUID (krävs) i varje ordbok i beacons-arrayen.

I tidigare versioner av iOS SDK validerade inte Passbook bakfälten på pass

fullständigt. Valideringsreglerna har inte ändrats, men valideringen inkluderar nu bakfält.

Kontrollera konsolloggen för ytterligare loggar.

Från och med iOS 7 Seed 3 är PKPassLibraryDidCancelAddPasses en ny statuskod i

PKPassLibraryAddPassesStatus enum. Det betyder att användaren tryckte på Avbryt i ett tillägg

varna.

Bilder

Anmärkningar

När du uppgraderar från ett tidigare frö kommer fotominiatyrer i appen Foton inte att visas under en kort tid

medan.

Safari

Fixat i Seed 5

Uppgradering till iOS kan återställa Safaris inställningar till standardvärdena.

Säkerhetsanteckningar

-[UIDevice uniqueIdentifier] accepteras inte längre i inlämningar till App Store. I iOS 7,

appar som redan finns i butiken eller på användarnas enheter som anropar detta borttagna API kommer inte längre att finnas

returnerade UDID. Istället kommer -[UIDevice uniqueIdentifier] att returnera en sträng på 40 tecken

börjar med FFFFFFFF, följt av hex-värdet för -[UIDevice identifierForVendor]. Det är

viktigt att överväga hur detta kommer att påverka befintliga appar. Jag överväger att skicka in uppdateringar som nej

längre åtkomst till UDID.

iOS begär nu användarmedgivande för appar att använda ljudingång på alla iOS 7-enheter. För enheter som säljs i

Kina, iOS kommer också att begära användarmedgivande för appar att använda kamerahårdvaran. Verksamheten

Systemet kommer att presentera samtyckesvarningen när du ställer in kategorin för instansieringen

AVAudioSession. AVAudioSession-kategorierna som kommer att presentera varningen är

AVAudioSessionCategoryRecord och AVAudioSessionCategoryPlayAndRecord.

Om användaren inte tillåter åtkomst kommer ljudsessionsdata att vara nollor (tystnad). För enheter där

kameraåtkomst begärs och nekas av användaren, videoinspelningssessionen är en svart skärm.

API gethostuuid() har tagits bort och kommer inte att accepteras för inlämning till butiken,

oavsett vilket operativsystem som är inriktat på. För befintliga appar som körs på iOS 7 kommer funktionen att returnera en uuid_t

representation av leverantörsidentifieraren (-[UIDevice identifierForVendor]).

Inställning

Fixat i Seed 5

Installationsassistenten kan krascha när du konfigurerar en ny enhet med en befintlig e-postadress.

Siri

Anmärkningar

Detta frö inkluderar utvecklingsversioner av nya manliga och kvinnliga Siri-röster för amerikansk engelska, franska,

och tyska.

Social hållbarhet

Anmärkningar

Genom iOS 6, när du använder TWTweetComposeViewController och SLComposeViewController

(det senare endast för Twitter och Weibo, men inte Facebook), om den som ringer tillhandahåller en

completionHandler, den medföljande completionHandler ansvarar för att avvisa vyn

kontroller. Från och med iOS 7, om appen länkar mot iOS 7 SDK, kommer vykontrollanten att avvisa sig själv

även om den som ringer tillhandahåller en completionHandler. För att undvika detta, anroparens kompletteringHandler

ska inte avvisa visningskontrollanten.

När du använder iOS 6.1 SDK på OS X v10.8 Mountain Lion, om du använder iOS 5.0 eller iOS 5.1 Legacy

SDK i iOS Simulator, du kommer inte att kunna använda Twitter-funktioner: försöker logga in på Twitter

via fönstret Inställningar kommer att misslyckas och Twitter.framework kommer inte att fungera korrekt. Om du behöver testa

Twitter-funktioner måste du välja antingen en iOS 6.1 eller iOS 6.0 Simulator kördestination, eller

du kan testa med iOS 5.x på en enhet. Springboard

Anmärkningar

Aktiva beröringar avbryts inte längre när användaren tar en skärmdump.

Dynamisk bakgrund är inte tillgänglig på iPhone 4.

Sprite Kit

Anmärkningar

+[AVPlayer playerWithPlayerItem:] returnerar ett AVPlayer-objekt, men det aktuella objektet kommer att returnera

noll om spelaren skapades i en annan tråd.

butiker

Fixat i Seed 5

Vissa iPhone 4-enheter kan inte ladda ner innehåll från App Store och iTunes Store.

kända problem

Appnedladdningar kan fastna i läget "Väntar".

Lösning: Starta om enheten en eller två gånger för att lösa problemet och tillåta efterföljande nedladdningar

att fortsätta.

UIKit

Anmärkningar

Före Seed 4, snapshot API (snapshotView och

resizableSnapshotViewFromRect:withCapInsets:) skulle skjuta upp att ta ögonblicksbilden om vyn

hade aldrig begåtts eller hade lagts till i vyhierarkin i den aktuella transaktionen. Detta

beteendet har förändrats.

Ögonblicksbilder representerar nu alltid vyns aktuella, engagerade tillstånd. Försöker ta en ögonblicksbild

en vy som aldrig har begåtts loggar ett meddelande och returnerar nu noll.

Snapshot-metoder har uppdaterats och tar nu ett argument: afterUpdates. När inställd på

JA, detta instruerar ögonblicksbilden att vänta tills alla väntande ändringar av hierarkin har gjorts

engagerad. För att behålla pre-Seed 4-beteendet, godkänn NO och ögonblicksbilden kommer att fånga vad det är

för närvarande på skärmen. Se UIView.h för mer information.

När det inte finns tillräckligt med utrymme i navigeringsfältets layout för den fullständiga texten i bakåtknappens titel,

navigeringsfältet kommer att ersätta en generisk kort baksida (på engelska, "Back"). Om ens den strängen är

för lång, kommer stapeln att visa den bakre indikatorn chevron utan titel.

+[UIPasteboard pasteboardWithName:create:] och +[UIPasteboard

pasteboardWithUniqueName] nu unikt det angivna namnet för att endast tillåta dessa appar i samma

applikationsgruppen för att komma åt klippbordet. Om utvecklaren försöker skapa en pasteboard med en

namn som redan finns och de inte är en del av samma app-svit kommer de att få sin egen unika och privata pasteboard. Observera att detta inte påverkar de systemförsedda häftbrädorna, i allmänhet,

och hitta.

Från och med Seed 2 använder appar som standard den nya vykontrollerbaserade statusfältshanteringen

systemet. För att välja bort detta, lägg till värdet NO för

UIViewControllerBasedStatusBarAppearance-nyckel till din Info.plist.

När du använder Auto Layout för att placera en UIB-knapp, om du ställer in innehållskomprimeringsmotståndet eller

innehåll kramar prioritet till minimum, kommer knappen att ha en tvetydig layout.

Lösning: Använd inte ett innehållskomprimeringsmotstånd eller en prioritet för innehållskramning på mindre än

2 för UIButton.

UIScreenEdgePanGestureRecognizer låter dig utföra åtgärder som svar på svep över

kanten av skärmen med samma heuristik som systemet använder för sina egna gester. Använd detta

om du har en egen navigeringssemantik som inte använder UINavigationController men

bör inkludera denna gest (t.ex. Safari).

Den här gestigenkännaren har en egenskap som beskriver kanterna på vilka den är aktiv. UIRectEdge är

en ny uppräkningstyp som den här egenskapen och -[UIViewController edgesForExtendedLayout] kan

dela med sig. UIRectEdge ersätter UIExtendedEdge, som kommer att tas bort. Medlemmarna i båda har

samma värden. Använd Xcode för att ersätta alla instanser av "UIExtendedEdge" i ditt projekt med

"UIRectEdge".

UIButtonTypeInfoLight, UIButtonTypeInfoDark och UIButtonTypeDetailDisclosure

alla knappar ser likadana ut.

Suddiga lager är inte tillgängliga på iPhone 4.

Parallax är inte tillgängligt på iPhone 4.

Boktryckstext är inte tillgänglig på iPhone 4.

Fixat i Seed 5

Appens gränssnitt kan flyttas något efter att ha använt en mediaspelare i liggande läge.

kända problem

Lösenordsfält visas inte i varningsvyer för appar i landskapet (till exempel Game Center

autentisering eller köp i appen). Textinmatning fungerar fortfarande, även om du inte kan se vad du skriver.

Väder

Anmärkningar

Väderförhållandena är inte animerade på iPhone 4.

WebKit

Anmärkningar

Tidigare, när visningsportparametrarna ändrades, kasserades aldrig de gamla parametrarna.

Detta gjorde att viewportparametrarna var additiva.

Om du till exempel började med width=device-width och sedan ändrade den till initial-scale=1.0,

slutade med en beräknad visningsport av width=device-width, initial-scale=1.0. I iOS 7 har detta åtgärdats. Nu slutar du med en beräknad visningsport av initialscale=1.0.

Tidigare, vid användning, den

skalan kan vara felaktig efter rotation.

Nu, om en användare inte har skalat sidan explicit, återställs sidan till sin ursprungliga skala. Även

nuvarande skala är nu korrekt begränsad inom min-skalan, max-skalans gränser.

Vissa bilder för Retina-skärmar visas i dubbelt så stor storlek som de borde istället för att vara

skalas ner 50%. Det här problemet kan också uppstå med alla bilder som ska skalas och som är större än dess storlek

container och som använder antingen egenskapen background-size eller -webkit-background-size

fast egendom. Det här problemet påverkar både inbyggda appar som visar webbinnehåll och webbsidor som visas i

Safari för iPhone.

Egenskapen för bakgrunds-CSS-stenografi återställer nu värdet på egenskapen bakgrundsstorlek till

auto när bakgrundsstorlek inte är angiven. Detta nya beteende är enligt CSS-specifikationen och den gamla

beteende är endast tillgängligt för appar som är länkade till en SDK före iOS 7.0 när de körs på iOS 7 eller senare.

Lösning: Ange egenskapen background-size eller egenskapen -webkit-background-size

efter bakgrundsegenskapen i CSS-formatmallen för webbinnehållet

visas.

Webbappar och webbklipp skapade före Seed 4 stannar inte i mappar vid omstart.

Lösning: Ta bort den gamla webbappen eller webbklippet och återskapa den i detta frö genom att ladda innehållet

i Safari, tryck på åtgärdsknappen och sedan på "Lägg till på startskärmen."

Wi-Fi

Anmärkningar

Seed 4 och senare inkluderar ändringar av AWDL så att tekniker som använder det – som AirDrop och

MultiPeerConnectivity API:er – fungerar inte korrekt med äldre frön.