iOS beta 7 5 werd vanavond gelanceerd door het bedrijf Apple, en nu hebben we de volledige changelog van deze versie van het besturingssysteem beschikbaar. Natuurlijk vinden we daarin vooral heronderzoek van eerdere problemen en prestatieverbeteringen, maar de ontwerpers van het bedrijf bleven verschillende subtiele veranderingen in de gebruikersinterface doorvoeren.
Opmerkingen en bekende problemen
De volgende problemen hebben betrekking op het gebruik van iOS SDK 7.0 om code te ontwikkelen
Opmerkingen
De klassen in het AddressBookUI-framework staan nu expliciet subklassen niet toe. Voor apps die zijn gekoppeld aan de iOS 7 SDK, levert een poging om een subklasse van een van deze klassen te initialiseren nul op. Voor apps die zijn gekoppeld aan oudere SDK's is de enige gedragsverandering een waarschuwing die in de console wordt geregistreerd.
Vanaf Seed 4 wordt privacyondersteuning voor het AddressBookUI-framework opnieuw ingeschakeld voor apps die zijn gekoppeld aan de iOS 7 SDK. Apps die zijn gekoppeld aan oudere SDK's worden niet gewijzigd. Als uw app een van de adresboekweergavecontrollers gebruikt, moet u controleren of deze zich nog steeds naar verwachting gedraagt.
AirDrop
Opmerkingen
AirDrop in iOS 7 Seed 2 of hoger is niet compatibel met AirDrop in iOS 7 Seed 1.
Contacten Alleen ondersteuning vereist dat:
U bent ingelogd bij iCloud.
De afzender en ontvanger hebben elkaars Apple ID-e-mailadressen in Contacten op hun apparaten.
Opgelost in zaad 5
Contact Only vereist momenteel dat je een actieve internetverbinding hebt.
De App Store zou de mogelijkheid moeten ondersteunen om een app te vinden die een ontvangen document kan openen op basis van de Uniform Type Identifier (UTI) van het document. Momenteel wordt alleen een leeg scherm weergegeven.
Stichting AV
Opmerkingen
AVCaptureSession gebruikt nu standaard de AVAudioSession van uw app.
Kernanimatie
Opmerkingen
Als de UIViewGroupOpacity-sleutel niet aanwezig is, is de standaardwaarde nu JA. De standaardwaarde was voorheen NEE.
Dit betekent dat deelaanzichten van een transparant aanzicht eerst op dat transparante aanzicht worden samengevoegd en vervolgens de vooraf samengestelde subboom als geheel op de achtergrond wordt getekend. Een NEE-instelling resulteert in een goedkopere, maar ook minder nauwkeurige compositie: elke weergave in de transparante subboom wordt samengesteld op wat zich eronder bevindt, volgens de dekking van de ouder, in de normale volgorde van het schilderalgoritme.
Opmerkingen
In Seed 4 en hoger is de Exchange DeviceIdentifier terug gewijzigd naar het gedrag van iOS 6, waarbij het serienummer wordt gebruikt.
fonts
Opmerkingen
In Seed 4 zijn nieuwe lettertypelijnhoogten geïntroduceerd. Als u uw lettertype in eerdere Seeds handmatig had uitgelijnd, kan het in latere Seeds iets verticaal omhoog bewegen.
Foundation
Opmerkingen
Een NSMetadataQuery met een alomtegenwoordig bereik kan nu kMDItemContentTypeTree in predikaten gebruiken.
Bijvoorbeeld:
NSPredicaat *p = [NSVergelijkingsPredicaat
predicateWithLeftExpression:[NSExpressie
expressionForKeyPath:@”kMDItemContentTypeTree”]
rightExpressie:[NSExpressie
expressionForConstantValue:@”public.rtf”]
modifier: NSAnyPredicateModifier
type:NSLikePredicateOperatorType
opties:0];
Wanneer een beroep wordt gedaan op resultaten die worden geretourneerd door query's met een alomtegenwoordig bereik, wordt -[NSMetadataItem
valueForAttribute:NSMetadataItemDisplayNameKey] produceert nu dezelfde waarde als –
[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], overeenkomend met niet-alomtegenwoordige
queries.
iCloud
Opmerkingen
Als u iCloud-sleutelhanger met herstel gebruikt, ziet u mogelijk een dialoogvenster waarin wordt aangegeven dat het herstel is uitgeschakeld vanwege een serverwijziging. Dit is opzettelijk. Volg de instructies in de melding om de functionaliteit opnieuw in te schakelen. Als u meerdere waarschuwingen ziet of problemen opmerkt bij het opnieuw inschakelen van het herstel, dient u een bugrapport in.
iCloud-sleutelhanger in iOS 7 Seed 3 of hoger is niet achterwaarts compatibel met iOS 7 Seed 2 of OS X
Mavericks-zaad 2.
Als u iCloud-sleutelhanger en/of sleutelhangerherstel had ingeschakeld vanaf iOS 7 Seed 2, worden beide functies uitgeschakeld bij het updaten naar iOS 7 Seed 3 of later.
Ga na het updaten naar iOS 7 Seed 3 of hoger naar Instellingen > iCloud > Sleutelhanger en schakel iCloudKeychain opnieuw in op uw apparaten.
Zie OS X v10.9 Release-opmerkingen voor meer details.
Activatieslot, een nieuwe functie van Zoek mijn iPhone, wordt automatisch ingeschakeld wanneer Zoek mijn iPhone is ingeschakeld op elk apparaat met iOS 7. Activatieslot vereist dat gebruikers hun Apple ID en wachtwoord invoeren om Zoek mijn iPhone in te schakelen en uit te loggen bij iCloud , wis het apparaat of activeer het apparaat opnieuw na het wissen. Het is belangrijk om een van de volgende handelingen uit te voeren voordat u een apparaat overdraagt aan een nieuwe gebruiker:
Meld u af bij iCloud.
Schakel het activeringsslot in via Instellingen > iCloud > Zoek mijn iPhone.
Opgelost in zaad 5
Spraakmemo's worden niet hersteld vanuit iCloud-back-ups.
Gebruikers in Zwitserland, Frankrijk, Spanje, Duitsland, Polen, Finland en mogelijk enkele andere landen kunnen hun sleutelhangers niet herstellen met behulp van telefoonnummervalidatie.
bekende problemen
Wachtwoordvelden worden niet weergegeven in waarschuwingsweergaven voor apps in liggende modus (bijvoorbeeld Game Center-authenticatie of in-app-aankoop). Tekstinvoer werkt nog steeds, hoewel u niet kunt zien wat u typt.
MAPK
Opmerkingen
Als de aanroepen om renderInContext op de laag die een MKMapView ondersteunt, vanuit de hoofdthread worden gedaan, moeten ze worden geëlimineerd of naar de hoofdthread worden verplaatst. Als u dit niet doet, kan dit een app-crash veroorzaken.
Gebruik in plaats van renderInContext de nieuwe MKMapSnapshotter API's.
Media
Opmerkingen
iOS onthoudt nu de laatst gebruikte media-app tijdens het opnieuw opstarten en crashen van de app. Media-apps die afstandsbedieningsgebeurtenissen kunnen ontvangen, moeten voorbereid zijn om op de achtergrond te worden gestart en mogelijk een afstandsbedieningsgebeurtenis te ontvangen om het afspelen te starten. Bovendien is het belangrijk dat media-apps de resetgebeurtenis van de mediaserver controleren en afhandelen, omdat de media-app mogelijk een extern verzoek ontvangt om het afspelen te hervatten na een reset. Meldingen om deze mediaservergebeurtenissen te monitoren zijn beschikbaar in
AVAudioSession en de juiste behandeling worden beschreven in Algemene aanbevelingen voor gebruik
kAudioSessionProperty_ServerDied.
Multipeer-connectiviteit
Opmerkingen
In deze Seed zijn veel updates van de MCSession API's opgenomen. De API's functioneren nu zoals ze werden gepresenteerd op WWDC. Belangrijke veranderingen en verbeteringen zijn onder meer: De volgende nieuwe methode op MCSession is geïmplementeerd:
– (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID
*)peerID-fout:(NSError **)fout
Deze gedelegeerde methode is geïmplementeerd:
– (nietig)sessie:(MCSession *)sessie didReceiveStream:(NSInputStream *)stream
withName:(NSString *)streamName van Peer:(MCPeerID *)peerID
De volgende nieuwe methode op MCSession is geïmplementeerd:
– (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL metNaam:(NSString
*)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError
*fout))completionHandler
De gedelegeerde methode om te beginnen met het ontvangen van een bron van een externe peer is geïmplementeerd als:
– (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString
*)bronnaam vanPeer:(MCPeerID *)peerID withProgress:(NSProgress *)voortgang
De gedelegeerde methode om het ontvangen van een bron van een externe peer te voltooien en de inhoud op te slaan in een
tijdelijke locatie wordt geïmplementeerd als:
– (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString
*)bronnaam vanPeer:(MCPeerID *)peerID atURL:(NSURL *)lokaleURL met fout:
(NSError *)fout
Opmerkingen: De app is verantwoordelijk voor het verplaatsen van het bestand naar een permanente locatie binnen de sandbox.
MCAdvertiserAssistant is een gemaksklasse voor het implementeren van een adverteerder, die uitnodigingen en verbindingen met een MCSession afhandelt.
MCSession heeft een nieuwe initWithPeer: methode.
sendResource heeft "with" toegevoegd aan de completeringHandler.
De time-out is verwijderd uit connectPeer:withNearbyConnectionData.
Bekijk voor meer informatie over deze API's de video voor WWDC 2013 Session 708, “Nearby
Netwerken met Multipeer-connectiviteit.”
multitasking
Opmerkingen
AVAudioSession kan niet meer actief worden door apps op de achtergrond die wakker worden vanwege
Ophalen op de achtergrond, achtergrondoverdrachten en gebeurtenissen voor externe meldingen.
Het beleid voor de taakvoltooiings-API is weer gewijzigd om overeen te komen met het iOS 6-gedrag, maar de tijdslimiet voor het voltooien van taken is verlaagd van 10 minuten in iOS 6.
NetwerkOpmerkingen
De cellulaire fallback-technologie die aanwezig was in eerdere zaden is verwijderd vanaf Seed 5.
Twee low-level netwerk-API's die vroeger een MAC-adres retourneerden, retourneren nu de vaste waarde
02:00:00:00:00:00. De betreffende API's zijn sysctl (NET_RT_IFLIST) en ioctl
(SIOCGIFCONF). Ontwikkelaars die de waarde van het MAC-adres gebruiken, moeten naar dergelijke identificatiegegevens migreren
as -[UIDevice identifierForVendor]. Deze wijziging is van invloed op alle apps die op iOS 7 draaien.
Doelstelling-C Runtime
Opmerkingen
Als gevolg van veranderingen in de manier waarop het isa-veld wordt geïmplementeerd, kan *zelf veranderen tijdens de opsomming (want Apple heeft zojuist iOS 7 beta 5 uitgebracht voor de iPhone, iPad, iPad mini en iPod touch en nu is ook het volledige wijzigingslogboek beschikbaar gemaakt). De nieuwste iOS 7-bèta werd eerst vrijgegeven voor ontwikkelaars als een OTA-update (over the air), zoals altijd het geval is, maar we hebben vernomen dat de nieuwe besturingssysteembestanden nu beschikbaar zijn om te downloaden op de online ontwikkelaarsportal van Apple. Apple heeft ook het volledige wijzigingslogboek voor iOS 7 bèta 5 gepost, met een lijst van alle software-updates die het bedrijf in zijn nieuwste bèta-besturingssysteem heeft weten te verwerken. BGR heeft een kopie ontvangen van Apple's wijzigingslogboek voor iOS 7 bèta 5, en alle details volgen hieronder.
Opmerkingen en bekende problemen
De volgende problemen hebben betrekking op het gebruik van iOS SDK 7.0 om code te ontwikkelen
Opmerkingen
De klassen in het AddressBookUI-framework staan nu expliciet subklassen niet toe. Voor apps die zijn gekoppeld aan de iOS 7 SDK, levert een poging om een subklasse van een van deze klassen te initialiseren nul op. Voor apps die zijn gekoppeld aan oudere SDK's is de enige gedragsverandering een waarschuwing die in de console wordt geregistreerd.
Vanaf Seed 4 wordt privacyondersteuning voor het AddressBookUI-framework opnieuw ingeschakeld voor apps die zijn gekoppeld aan de iOS 7 SDK. Apps die zijn gekoppeld aan oudere SDK's worden niet gewijzigd. Als uw app een van de adresboekweergavecontrollers gebruikt, moet u controleren of deze zich nog steeds naar verwachting gedraagt.
AirDrop
Opmerkingen
AirDrop in iOS 7 Seed 2 of hoger is niet compatibel met AirDrop in iOS 7 Seed 1.
Contacten Alleen ondersteuning vereist dat:
U bent ingelogd bij iCloud.
De afzender en ontvanger hebben elkaars Apple ID-e-mailadressen in Contacten op hun apparaten.
Opgelost in zaad 5
Contact Only vereist momenteel dat je een actieve internetverbinding hebt.
De App Store zou de mogelijkheid moeten ondersteunen om een app te vinden die een ontvangen document kan openen op basis van de Uniform Type Identifier (UTI) van het document. Momenteel wordt alleen een leeg scherm weergegeven.
Stichting AV
Opmerkingen
AVCaptureSession gebruikt nu standaard de AVAudioSession van uw app.
Kernanimatie
Opmerkingen
Als de UIViewGroupOpacity-sleutel niet aanwezig is, is de standaardwaarde nu JA. De standaardwaarde was voorheen NEE.
Dit betekent dat deelaanzichten van een transparant aanzicht eerst op dat transparante aanzicht worden samengevoegd en vervolgens de vooraf samengestelde subboom als geheel op de achtergrond wordt getekend. Een NEE-instelling resulteert in een goedkopere, maar ook minder nauwkeurige compositie: elke weergave in de transparante subboom wordt samengesteld op wat zich eronder bevindt, volgens de dekking van de ouder, in de normale volgorde van het schilderalgoritme.
Opmerkingen
In Seed 4 en hoger is de Exchange DeviceIdentifier terug gewijzigd naar het gedrag van iOS 6, waarbij het serienummer wordt gebruikt.
fonts
Opmerkingen
In Seed 4 zijn nieuwe lettertypelijnhoogten geïntroduceerd. Als u uw lettertype in eerdere Seeds handmatig had uitgelijnd, kan het in latere Seeds iets verticaal omhoog bewegen.
Foundation
Opmerkingen
Een NSMetadataQuery met een alomtegenwoordig bereik kan nu kMDItemContentTypeTree in predikaten gebruiken.
Bijvoorbeeld:
NSPredicaat *p = [NSVergelijkingsPredicaat
predicateWithLeftExpression:[NSExpressie
expressionForKeyPath:@”kMDItemContentTypeTree”]
rightExpressie:[NSExpressie
expressionForConstantValue:@”public.rtf”]
modifier: NSAnyPredicateModifier
type:NSLikePredicateOperatorType
opties:0];
Wanneer een beroep wordt gedaan op resultaten die worden geretourneerd door query's met een alomtegenwoordig bereik, wordt -[NSMetadataItem
valueForAttribute:NSMetadataItemDisplayNameKey] produceert nu dezelfde waarde als –
[NSURL getResourceValue: forKey: NSURLLocalizedNameKey], overeenkomend met niet-alomtegenwoordige
queries.
iCloud
Opmerkingen
Als u iCloud-sleutelhanger met herstel gebruikt, ziet u mogelijk een dialoogvenster waarin wordt aangegeven dat het herstel is uitgeschakeld vanwege een serverwijziging. Dit is opzettelijk. Volg de instructies in de melding om de functionaliteit opnieuw in te schakelen. Als u meerdere waarschuwingen ziet of problemen opmerkt bij het opnieuw inschakelen van het herstel, dient u een bugrapport in.
iCloud-sleutelhanger in iOS 7 Seed 3 of hoger is niet achterwaarts compatibel met iOS 7 Seed 2 of OS X
Mavericks-zaad 2.
Als u iCloud-sleutelhanger en/of sleutelhangerherstel had ingeschakeld vanaf iOS 7 Seed 2, worden beide functies uitgeschakeld bij het updaten naar iOS 7 Seed 3 of later.
Ga na het updaten naar iOS 7 Seed 3 of hoger naar Instellingen > iCloud > Sleutelhanger en schakel iCloudKeychain opnieuw in op uw apparaten.
Zie OS X v10.9 Release-opmerkingen voor meer details.
Activatieslot, een nieuwe functie van Zoek mijn iPhone, wordt automatisch ingeschakeld wanneer Zoek mijn iPhone is ingeschakeld op elk apparaat met iOS 7. Activatieslot vereist dat gebruikers hun Apple ID en wachtwoord invoeren om Zoek mijn iPhone in te schakelen en uit te loggen bij iCloud , wis het apparaat of activeer het apparaat opnieuw na het wissen. Het is belangrijk om een van de volgende handelingen uit te voeren voordat u een apparaat overdraagt aan een nieuwe gebruiker:
Meld u af bij iCloud.
Schakel het activeringsslot in via Instellingen > iCloud > Zoek mijn iPhone.
Opgelost in zaad 5
Spraakmemo's worden niet hersteld vanuit iCloud-back-ups.
Gebruikers in Zwitserland, Frankrijk, Spanje, Duitsland, Polen, Finland en mogelijk enkele andere landen kunnen hun sleutelhangers niet herstellen met behulp van telefoonnummervalidatie.
bekende problemen
Wachtwoordvelden worden niet weergegeven in waarschuwingsweergaven voor apps in liggende modus (bijvoorbeeld Game Center-authenticatie of in-app-aankoop). Tekstinvoer werkt nog steeds, hoewel u niet kunt zien wat u typt.
MAPK
Opmerkingen
Als de aanroepen om renderInContext op de laag die een MKMapView ondersteunt, vanuit de hoofdthread worden gedaan, moeten ze worden geëlimineerd of naar de hoofdthread worden verplaatst. Als u dit niet doet, kan dit een app-crash veroorzaken.
Gebruik in plaats van renderInContext de nieuwe MKMapSnapshotter API's.
Media
Opmerkingen
iOS onthoudt nu de laatst gebruikte media-app tijdens het opnieuw opstarten en crashen van de app. Media-apps die afstandsbedieningsgebeurtenissen kunnen ontvangen, moeten voorbereid zijn om op de achtergrond te worden gestart en mogelijk een afstandsbedieningsgebeurtenis te ontvangen om het afspelen te starten. Bovendien is het belangrijk dat media-apps de resetgebeurtenis van de mediaserver controleren en afhandelen, omdat de media-app mogelijk een extern verzoek ontvangt om het afspelen te hervatten na een reset. Meldingen om deze mediaservergebeurtenissen te monitoren zijn beschikbaar in
AVAudioSession en de juiste behandeling worden beschreven in Algemene aanbevelingen voor gebruik
kAudioSessionProperty_ServerDied.
Multipeer-connectiviteit
Opmerkingen
In deze Seed zijn veel updates van de MCSession API's opgenomen. De API's functioneren nu zoals ze werden gepresenteerd op WWDC. Belangrijke veranderingen en verbeteringen zijn onder meer: De volgende nieuwe methode op MCSession is geïmplementeerd:
– (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID
*)peerID-fout:(NSError **)fout
Deze gedelegeerde methode is geïmplementeerd:
– (nietig)sessie:(MCSession *)sessie didReceiveStream:(NSInputStream *)stream
withName:(NSString *)streamName van Peer:(MCPeerID *)peerID
De volgende nieuwe methode op MCSession is geïmplementeerd:
– (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL metNaam:(NSString
*)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError
*fout))completionHandler
De gedelegeerde methode om te beginnen met het ontvangen van een bron van een externe peer is geïmplementeerd als:
– (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString
*)bronnaam vanPeer:(MCPeerID *)peerID withProgress:(NSProgress *)voortgang
De gedelegeerde methode om het ontvangen van een bron van een externe peer te voltooien en de inhoud op te slaan in een
tijdelijke locatie wordt geïmplementeerd als:
– (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString
*)bronnaam vanPeer:(MCPeerID *)peerID atURL:(NSURL *)lokaleURL met fout:
(NSError *)fout
Opmerkingen: De app is verantwoordelijk voor het verplaatsen van het bestand naar een permanente locatie binnen de sandbox.
MCAdvertiserAssistant is een gemaksklasse voor het implementeren van een adverteerder, die uitnodigingen en verbindingen met een MCSession afhandelt.
MCSession heeft een nieuwe initWithPeer: methode.
sendResource heeft "with" toegevoegd aan de completeringHandler.
De time-out is verwijderd uit connectPeer:withNearbyConnectionData.
Bekijk voor meer informatie over deze API's de video voor WWDC 2013 Session 708, “Nearby
Netwerken met Multipeer-connectiviteit.”
multitasking
Opmerkingen
AVAudioSession kan niet meer actief worden door apps op de achtergrond die wakker worden vanwege
Ophalen op de achtergrond, achtergrondoverdrachten en gebeurtenissen voor externe meldingen.
Het beleid voor de taakvoltooiings-API is weer gewijzigd om overeen te komen met het iOS 6-gedrag, maar de tijdslimiet voor het voltooien van taken is verlaagd van 10 minuten in iOS 6.
NetwerkOpmerkingen
De cellulaire fallback-technologie die aanwezig was in eerdere zaden is verwijderd vanaf Seed 5.
Twee low-level netwerk-API's die vroeger een MAC-adres retourneerden, retourneren nu de vaste waarde
02:00:00:00:00:00. De betreffende API's zijn sysctl (NET_RT_IFLIST) en ioctl
(SIOCGIFCONF). Ontwikkelaars die de waarde van het MAC-adres gebruiken, moeten naar dergelijke identificatiegegevens migreren
as -[UIDevice identifierForVendor]. Deze wijziging is van invloed op alle apps die op iOS 7 draaien.
Doelstelling-C Runtime
Opmerkingen
Als gevolg van veranderingen in de manier waarop het isa-veld wordt geïmplementeerd, kan *self tijdens de opsomming veranderen (bijv
als de container bijvoorbeeld wordt vastgehouden).
Tijdelijke oplossing: stel bij het implementeren van countByEnumeratingWithState geen state-
>mutatiesPtr = zelf.
Rekening-courantboekje
Opmerkingen
Vanaf iOS 7 Seed 4 heeft Passbook ondersteuning toegevoegd voor de grote en kleine velden om beter op elkaar aan te sluiten
rest van het iBeacon-ecosysteem. De nieuwe majeur- en mineurtoonsoorten zijn onafhankelijk variabel optioneel
naast proximityUUID (vereist) in elk woordenboek in de bakenarray.
In eerdere versies van de iOS SDK valideerde Passbook de achtervelden van passen niet
volledig. De validatieregels zijn niet veranderd, maar de validatie omvat nu ook backfields.
Controleer het consolelogboek voor aanvullende logboeken.
Vanaf iOS 7 Seed 3 is PKPassLibraryDidCancelAddPasses een nieuwe statuscode in de
PKPassLibraryAddPassesStatus enum. Het betekent dat de gebruiker op Annuleren heeft getikt in een add-passes
alert.
Foto's
Opmerkingen
Bij het upgraden van een eerder zaadje verschijnen er korte tijd geen fotominiaturen in de Foto's-app
terwijl.
Safari
Opgelost in zaad 5
Bij een upgrade naar iOS worden de instellingen van Safari mogelijk teruggezet naar hun standaardwaarden.
Beveiligingsopmerkingen
-[UIDevice uniqueIdentifier] wordt niet langer geaccepteerd in inzendingen voor de App Store. In iOS 7,
apps die al in de winkel staan of op de apparaten van gebruikers die deze verwijderde API aanroepen, zullen dat niet meer zijn
heeft de UDID geretourneerd. In plaats daarvan retourneert -[UIDevice uniqueIdentifier] een tekenreeks van 40 tekens
beginnend met FFFFFFFF, gevolgd door de hexadecimale waarde van -[UIDevice identifierForVendor]. Het is
Het is belangrijk om na te denken over de gevolgen hiervan voor bestaande apps. Ik overweeg om updates in te dienen die nee zijn
langer toegang tot de UDID.
iOS vraagt nu toestemming van gebruikers om apps audio-invoer te laten gebruiken op alle iOS 7-apparaten. Voor apparaten die zijn verkocht
China, iOS zal ook toestemming van de gebruiker vragen voor apps om de camerahardware te gebruiken. De operationele
het systeem zal de toestemmingswaarschuwing weergeven wanneer u de categorie van het geïnstantieerde instelt
AVaudiosessie. De AVAudioSession-categorieën die de waarschuwing zullen presenteren zijn
AVAudioSessionCategoryRecord en AVAudioSessionCategoryPlayAndRecord.
Als de gebruiker geen toegang verleent, bestaan de gegevens van de audiosessie uit allemaal nullen (stilte). Voor apparaten waar
cameratoegang wordt aangevraagd en geweigerd door de gebruiker, de video-opnamesessie is een zwart scherm.
De API gethostuuid() is verwijderd en wordt niet geaccepteerd voor verzending naar de winkel,
ongeacht het beoogde besturingssysteem. Voor bestaande apps die op iOS 7 draaien, retourneert de functie een uuid_t
weergave van de leveranciers-ID (-[UIDevice identifierForVendor]).
Setup
Opgelost in zaad 5
De configuratie-assistent kan crashen bij het instellen van een nieuw apparaat met een bestaand e-mailadres.
Siri
Opmerkingen
Dit zaad bevat ontwikkelingsversies van nieuwe mannelijke en vrouwelijke Siri-stemmen voor Amerikaans Engels, Frans,
en Duits.
Social
Opmerkingen
Via iOS 6, bij gebruik van TWTweetComposeViewController en SLComposeViewController
(deze laatste alleen voor Twitter en Weibo, maar niet voor Facebook), als de beller een
completeringHandler, de geleverde completeringHandler is verantwoordelijk voor het sluiten van de weergave
controleur. Vanaf iOS 7 zal de weergavecontroller zichzelf negeren als de app koppelt aan de iOS 7 SDK
zelfs als de aanroeper een completeringshandler levert. Om dit te voorkomen, is de completeHandler
mag de weergavecontroller niet negeren.
Bij gebruik van de iOS 6.1 SDK op OS X v10.8 Mountain Lion, als u iOS 5.0 of iOS 5.1 Legacy gebruikt
SDK in iOS Simulator, kunt u de Twitter-functies niet gebruiken: u probeert in te loggen bij Twitter
via het paneel Instellingen zal mislukken en Twitter.framework zal niet correct werken. Als je moet testen
Twitter-functies, moet u een iOS 6.1- of iOS 6.0 Simulator-runbestemming kiezen, of
je kunt testen met iOS 5.x op een apparaat Springboard
Opmerkingen
Actieve aanrakingen worden niet langer geannuleerd wanneer de gebruiker een screenshot maakt.
Dynamische achtergrond is niet beschikbaar op iPhone 4.
Sprite-kit
Opmerkingen
+[AVPlayer playerWithPlayerItem:] retourneert een AVPlayer-object, maar het huidige item keert terug
nul als de speler in een andere thread is gemaakt.
Winkels
Opgelost in zaad 5
Sommige iPhone 4-apparaten kunnen geen inhoud downloaden van de App Store en de iTunes Store.
bekende problemen
App-downloads kunnen vastlopen in de status 'Wachten'.
Tijdelijke oplossing: Start uw apparaat een of twee keer opnieuw op om het probleem op te lossen en daaropvolgende downloads mogelijk te maken
te gaan.
UIKit
Opmerkingen
Vóór Seed 4 was de snapshot-API (snapshotView en
resizableSnapshotViewFromRect:withCapInsets:) zou het maken van de momentopname uitstellen als de weergave
was nooit vastgelegd of was toegevoegd aan de weergavehiërarchie in de huidige transactie. Dit
gedrag is veranderd.
Snapshots vertegenwoordigen nu altijd de huidige, vastgelegde status van de weergave. Poging tot momentopname
een weergave die nog nooit is vastgelegd, registreert een bericht en retourneert nu nul.
De methoden voor het maken van momentopnamen zijn bijgewerkt en hebben nu een argument: afterUpdates. Wanneer ingesteld op
JA, hierdoor wordt de momentopname opgedragen te wachten totdat alle openstaande wijzigingen in de hiërarchie zijn aangebracht
betrokken. Om het pre-Seed 4-gedrag te behouden, geeft u NO door en de momentopname legt vast wat het is
momenteel op het scherm. Zie UIView.h voor meer details.
Als er niet genoeg ruimte is in de navigatiebalkindeling voor de volledige tekst van de titel van de terugknop,
de navigatiebalk vervangt een algemene korte titel (in het Engels: “Terug”). Als die string dat ook is
te lang is, toont de balk de chevron met de achterste indicator zonder titel.
+[UIPasteboard pasteboardWithName:create:] en +[UIPasteboard
pasteboardWithUniqueName] maakt nu de opgegeven naam uniek, zodat alleen die apps dezelfde naam hebben
toepassingsgroep om toegang te krijgen tot het plakbord. Als de ontwikkelaar probeert een plakbord te maken met een
naam die al bestaat en ze geen deel uitmaken van dezelfde app-suite, krijgen ze hun eigen unieke en privé-plakbord. Houd er rekening mee dat dit in het algemeen geen invloed heeft op de door het systeem geleverde plakborden.
en vind.
Vanaf Seed 2 gebruiken apps standaard het nieuwe, op de viewcontroller gebaseerde statusbalkbeheer
systeem. Als u zich hiervoor wilt afmelden, voegt u de waarde NO toe voor de
UIViewControllerBasedStatusBarAppearance-sleutel voor uw Info.plist.
Wanneer u Auto Layout gebruikt om een UIButton te positioneren, en u de compressieweerstand van de inhoud instelt of
inhoud die de prioriteit tot een minimum beperkt, zal de knop een dubbelzinnige lay-out hebben.
Tijdelijke oplossing: gebruik geen inhoudscompressieweerstand of inhoudsknuffelprioriteit van minder dan
2 voor UIButton.
Met UIScreenEdgePanGestureRecognizer kunt u acties uitvoeren als reactie op veegbewegingen
de rand van het scherm met behulp van dezelfde heuristieken die het systeem gebruikt voor zijn eigen gebaren. Gebruik dit
als u zelf een navigatiesemantiek heeft die geen UINavigationController gebruikt, maar
zou dit gebaar moeten bevatten (bijvoorbeeld Safari).
Deze gebarenherkenner heeft een eigenschap die de randen beschrijft waarop hij actief is. UIRectEdge is
een nieuw enumtype dat deze eigenschap en -[UIViewController edgeForExtendedLayout] kunnen
deel. UIRectEdge vervangt UUIExtendedEdge, die zal worden verwijderd. De leden van beide hebben
dezelfde waarden. Gebruik Xcode om alle exemplaren van "UIExtendedEdge" in uw project te vervangen door
"UIRectEdge".
UIButtonTypeInfoLight, UIButtonTypeInfoDark en UIButtonTypeDetailDisclosure
knoppen zien er allemaal hetzelfde uit.
Wazige lagen zijn niet beschikbaar op iPhone 4.
Parallax is niet beschikbaar op iPhone 4.
Boekdruktekst is niet beschikbaar op iPhone 4.
Opgelost in zaad 5
De gebruikersinterface van uw app kan iets bewegen na gebruik van een mediaspeler in liggende modus.
bekende problemen
Wachtwoordvelden worden niet weergegeven in waarschuwingsweergaven voor apps in landschapsmodus (bijvoorbeeld Game Center).
authenticatie of in-app-aankoop). Tekstinvoer werkt nog steeds, hoewel u niet kunt zien wat u typt.
Weer
Opmerkingen
Weersomstandigheden zijn niet geanimeerd op iPhone 4.
WebKit
Opmerkingen
Als voorheen de viewportparameters werden gewijzigd, werden de oude parameters nooit verwijderd.
Dit zorgde ervoor dat de viewport-parameters additief waren.
Als u bijvoorbeeld bent begonnen met width=device-width en dit vervolgens hebt gewijzigd in initial-scale=1.0,
eindigde met een berekende viewport van width=device-width, initial-scale=1.0. In iOS 7 is dit aangepakt. Nu krijg je een berekende viewport met initiële schaal = 1.0.
Vroeger, bij gebruik
Schaal kan na rotatie onjuist zijn.
Als een gebruiker de pagina nu niet expliciet heeft geschaald, wordt de pagina hersteld naar de oorspronkelijke schaal. Ook de
de huidige schaal is nu correct beperkt binnen de grenzen van de minimale schaal en de maximale schaal.
Sommige afbeeldingen voor Retina-weergaveapparaten worden twee keer zo groot weergegeven als ze zouden moeten zijn, in plaats van dat ze zo groot zijn
50% verkleind. Dit probleem kan zich ook voordoen bij elke afbeelding die moet worden geschaald en die groter is dan de grootte ervan
container en die de eigenschap background-size of de -webkit-background-size gebruikt
eigendom. Dit probleem is van invloed op zowel native apps die webinhoud weergeven als op webpagina's die worden bekeken
Safari voor iPhone.
De achtergrond-CSS-steno-eigenschap stelt nu de waarde van de achtergrondgrootte-eigenschap opnieuw in
automatisch als de achtergrondgrootte niet is opgegeven. Dit nieuwe gedrag is conform de CSS-specificatie en het oude
gedrag is alleen beschikbaar voor apps die zijn gekoppeld aan een SDK vóór iOS 7.0 wanneer ze worden uitgevoerd op iOS 7 of hoger.
Tijdelijke oplossing: geef de eigenschap background-size of de eigenschap -webkit-background-size op
na de achtergrond-steno-eigenschap in het CSS-stylesheet voor de webinhoud
weergegeven.
Webapps en webclips die vóór Seed 4 zijn gemaakt, blijven niet in mappen staan tijdens het opnieuw opstarten.
Tijdelijke oplossing: verwijder de oude web-app of webclip en maak deze opnieuw in dit zaad door de inhoud te laden
in Safari tikt u op de knop Actie en vervolgens op 'Toevoegen aan startscherm'.
Wi-Fi
Opmerkingen
Seed 4 en later bevatten wijzigingen in AWDL, zodat technologieën die er gebruik van maken, zoals AirDrop en de
MultiPeerConnectivity API's: werken niet goed met oudere seeds.