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.