iOS 7 Beta 4 Changelog – viele Fehler behoben, einige neue Dinge

  Nach dem Start iOS beta 7 4 An die Entwickler hat das Apple-Unternehmen auch das Änderungsprotokoll veröffentlicht, in dem alle in dieser Version des Betriebssystems vorgenommenen Änderungen hervorgehoben werden. Das Dokument, in dem alle diese Änderungen aufgelistet sind, hat nicht weniger als 12 Seiten, wir sprechen also von Hunderten von Fehlern, die behoben wurden, und der Implementierung neuer Dinge, und unten ist alles aufgelistet.

Hinweise und bekannte Probleme
Die folgenden Probleme beziehen sich auf die Verwendung von iOS SDK 7.0 zum Entwickeln von Code. Adressbuch
Notizen
Die Datenschutzunterstützung für das AddressBookUI-Framework wird für Apps, die mit dem iOS 7 SDK verknüpft sind, wieder aktiviert.
Apps, die mit älteren SDKs verknüpft sind, werden nicht geändert. Wenn Ihre App eine der Adressbuchansichten verwendet
Controller sollten Sie sicherstellen, dass es sich immer noch wie erwartet verhält.
AirDrop
Notizen
AirDrop in iOS 7 Seed 2 oder höher ist nicht kompatibel mit AirDrop in iOS 7 Seed 1.
Für den Support „Nur Kontakte“ ist Folgendes erforderlich:
Sie sind bei iCloud angemeldet.
Der Absender und der Empfänger haben die Apple-ID-E-Mail-Adressen des jeweils anderen in den Kontakten auf ihren Geräten.
Bekannte Probleme
Contact Only erfordert derzeit, dass Sie über eine aktive Internetverbindung verfügen.
Der App Store sollte die Möglichkeit unterstützen, eine App zu finden, die ein empfangenes Dokument öffnen kann
basierend auf dem Uniform Type Identifier (UTI) des Dokuments. Derzeit wird nur ein leerer Bildschirm angezeigt.
AV-Stiftung
Notizen
AVCaptureSession verwendet jetzt standardmäßig die AVAudioSession Ihrer App.
Kalender
Behoben in Seed 4
iCloud-Kalenderereignisse werden möglicherweise nicht wie erwartet durch Abrufen, Pushen oder manuelle Aktualisierung synchronisiert.
iCloud-Kalender oder -Erinnerungen können nach dem Hinzufügen neuer Ereignisse dupliziert werden.
Auto-Anzeige
Bekannte Probleme
Die Unterstützung für Car Display wird bereitgestellt, sobald kompatible Systeme verfügbar sind.
KontakteIn Seed 4 behoben
Einige hochauflösende Fotos werden nicht synchronisiert (über iCloud und andere Dienste), wenn sie als Kontakte festgelegt sind
Anrufer-ID-Foto.
Kernanimation
Notizen
Wenn der UIViewGroupOpacity-Schlüssel nicht vorhanden ist, ist der Standardwert jetzt YES. Der Standardwert war
vorher NEIN.
Das bedeutet, dass Unteransichten einer transparenten Ansicht zunächst in dieser transparenten Ansicht zusammengesetzt werden.
dann wird der vorkomposite Teilbaum als Ganzes auf den Hintergrund gezeichnet. Es ergibt sich eine NEIN-Einstellung
im kostengünstigeren, aber auch weniger genauen Compositing: Jede Ansicht im transparenten Teilbaum ist
entsprechend der Deckkraft des übergeordneten Elements im normalen Maler auf das darunterliegende Bild zusammengesetzt
Bestellalgorithmus.
Austausch
Notizen
Der Exchange DeviceIdentifier wurde wieder auf das Verhalten von iOS 6 geändert, wo er die Seriennummer verwendet
Anzahl.
Schriftarten
Notizen
Die Höhe der Schriftzeilen hat sich gegenüber den vorherigen Seeds geändert. Wenn Sie Ihre Schriftart zuvor manuell ausgerichtet haben,
Mit diesem Samen kann es sich leicht vertikal nach oben bewegen.
Foundation
Notizen
Eine NSMetadataQuery mit allgegenwärtigem Gültigkeitsbereich kann jetzt kMDItemContentTypeTree in Prädikaten verwenden.
Beispielsweise:
NSPredicate *p = [NSComparisonPredicate
predicateWithLeftExpression:[NSAusdruck
expressionForKeyPath:@“kMDItemContentTypeTree“]
rechterAusdruck:[NSAusdruck
expressionForConstantValue:@“public.rtf“]
Modifikator: NSAnyPredicateModifier
Typ:NSLikePredicateOperatorType
Optionen:0];
Beim Aufruf für Ergebnisse, die von Abfragen mit allgegenwärtigen Bereichen zurückgegeben werden, -[NSMetadataItem
valueForAttribute:NSMetadataItemDisplayNameKey] erzeugt jetzt denselben Wert wie -NSURL getResourceValue: forKey: NSURLLocalizedNameKey] und stimmt mit nonubiquitous überein
Abfragen.
iCloud
Notizen
Wenn Sie den iCloud-Schlüsselbund mit der Wiederherstellung verwenden, wird möglicherweise ein Dialogfeld angezeigt, das darauf hinweist, dass die Wiederherstellung durchgeführt wurde
aufgrund eines Serverwechsels deaktiviert. Das ist Absicht. Um die Funktionalität wieder zu aktivieren, befolgen Sie die Anweisungen
Anweisungen in der Benachrichtigung. Wenn Sie mehrere Warnungen sehen oder Probleme bei der erneuten Aktivierung bemerken
Wiederherstellung, reichen Sie bitte einen Fehlerbericht ein.
Der iCloud-Schlüsselbund in iOS 7 Seed 3 oder höher ist nicht abwärtskompatibel mit iOS 7 Seed 2 oder OS X
Mavericks Seed 2.
Wenn Sie den iCloud-Schlüsselbund und/oder die Schlüsselbundwiederherstellung ab iOS 7 Seed 2 aktiviert hatten, sind beide Funktionen verfügbar
beim Update auf iOS 7 Seed 3 oder höher deaktiviert.
Gehen Sie nach dem Update auf iOS 7 Seed 3 oder höher zu Einstellungen > iCloud > Schlüsselbund und aktivieren Sie iCloud erneut
Schlüsselbund auf Ihren Geräten.
Weitere Einzelheiten finden Sie in den Versionshinweisen zu OS X v10.9.
Die Aktivierungssperre, eine neue Funktion von „Mein iPhone suchen“, wird automatisch aktiviert, wenn „Mein iPhone suchen“ aktiviert ist
aktiviert auf jedem Gerät mit iOS 7. Die Aktivierungssperre erfordert die Eingabe ihrer Apple-ID und
Geben Sie ein Kennwort ein, um „Mein iPhone suchen“ zu deaktivieren, sich von iCloud abzumelden, das Gerät zu löschen oder das Gerät erneut zu aktivieren
nach einer Ära Es ist wichtig, einen der folgenden Schritte auszuführen, bevor Sie ein Gerät an einen neuen Benutzer übertragen:
Melden Sie sich von iCloud ab.
Deaktivieren Sie die Aktivierungssperre unter „Einstellungen“ > „iCloud“ > „Mein iPhone suchen“.
Behoben in Seed 4
Benutzern, die ein einzelnes Gerät mit aktiviertem iCloud-Schlüsselbund haben, wird nicht der richtige angezeigt
Einrichtungsbildschirme für den iCloud-Schlüsselbund nach der Wiederherstellung aus einem Backup.
Benutzer, die sich von iCloud abmelden, indem sie ihr iCloud-Konto löschen, alle Inhalte und Einstellungen löschen oder
Wenn Sie das Gerät über „Mein iPhone suchen“ löschen und sich erneut anmelden, wird nicht das richtige Gerät angezeigt
Einrichtungsbildschirme für den iCloud-Schlüsselbund.
In Safari-Einstellungen > AutoFill gelöschte Kreditkarten werden vom Gerät entfernt, nicht jedoch von anderen
Geräte.
Wenn Sie den iCloud-Schlüsselbund deaktivieren, können Sie ihn manchmal nicht wieder aktivieren.
Schlüsselbunde werden nicht zwischen Geräten synchronisiert, wenn sie sich in einem drahtlosen Netzwerk mit WEP-Sicherheit befinden.
Beim Einrichten des iCloud-Schlüsselbunds im Setup-Assistenten auf dem iPhone 4 und iPhone 4s die Tastatur
deckt das Eingabefeld für den iCloud-Sicherheitscode und den Link „Erweiterte Optionen“ ab.
Nicht gekaufte ePubs und PDFs werden bei der iCloud-Wiederherstellung eines iOS 7-Geräts mit einem nicht wiederhergestellt
Sicherung vor iOS 7. Gekaufte Inhalte werden ohne Probleme wiederhergestellt.
Bekannte Probleme
Sprachmemos werden nicht aus iCloud-Backups wiederhergestellt.
Problemumgehung: Stellen Sie sicher, dass Sie Sprachnotizen von Ihrem Gerät synchronisieren, bevor Sie sie von iCloud wiederherstellen. Server in der Schweiz, Frankreich, Spanien, Deutschland, Polen, Finnland und möglicherweise einigen anderen Ländern.
können ihre Schlüsselbunde mithilfe der Telefonnummernvalidierung nicht wiederherstellen.
Problemumgehung: Verwenden Sie einen zufälligen Sicherheitscode.
MAPK
Notizen
Wenn die Aufrufe von renderInContext auf der Ebene, die eine MKMapView unterstützt, außerhalb des Hauptthreads erfolgen,
Sie sollten entfernt oder in den Hauptthread verschoben werden. Andernfalls kann es zum Absturz der App kommen.
Verwenden Sie anstelle von renderInContext die neuen MKMapSnapshotter-APIs.
Medien
Notizen
iOS merkt sich jetzt die zuletzt verwendete Medien-App bei Neustarts und App-Abstürzen. Medien-Apps, die das können
Der Empfang von Fernsteuerungsereignissen sollte darauf vorbereitet sein, im Hintergrund und möglicherweise gestartet zu werden
Empfangen Sie ein Fernbedienungsereignis, um mit der Wiedergabe zu beginnen. Darüber hinaus ist es wichtig, dass Medien-Apps überwachen
und behandeln Sie das Ereignis zum Zurücksetzen des Medienservers, da die Medien-App möglicherweise eine Remote-Anforderung zum Fortsetzen erhält
Wiedergabe nach einem Reset. Benachrichtigungen zur Überwachung dieser Medienserverereignisse sind verfügbar in
AVAudioSession und die richtige Handhabung werden in den Allgemeinen Empfehlungen zur Handhabung beschrieben
kAudioSessionProperty_ServerDied.
Multipeer-Konnektivität
Notizen
In diesem Seed sind viele Aktualisierungen der MCSession-APIs enthalten. Die APIs funktionieren jetzt wie zuvor
vorgestellt auf der WWDC. Zu den wichtigsten Änderungen und Verbesserungen gehören:
Die folgende neue Methode auf MCSession wurde implementiert:
– (NSOutputStream *)startStreamWithName:(NSString *)streamName toPeer:(MCPeerID
*) PeerID-Fehler: (NSError **) Fehler
Diese Delegate-Methode wurde implementiert:
– (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream
withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID
Die folgende neue Methode auf MCSession wurde implementiert:
– (NSProgress *)sendResourceAtURL:(NSURL *)resourceURL withName:(NSString
*)resourceName toPeer:(MCPeerID *)peerID withCompletionHandler:(void(^)(NSError
*error))completionHandler
Die Delegate-Methode zum Starten des Empfangs einer Ressource vom Remote-Peer wurde wie folgt implementiert:
– (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString*)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress
Die Delegate-Methode, um den Empfang einer Ressource vom Remote-Peer abzuschließen und den Inhalt in einem zu speichern
Der temporäre Standort wird wie folgt implementiert:
– (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString
*)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:
(NSError *)Fehler
Hinweise: Die App ist dafür verantwortlich, die Datei an einen dauerhaften Speicherort in ihrer Sandbox zu verschieben.
MCAdvertiserAssistant ist eine praktische Klasse zum Implementieren eines Advertisers, der Folgendes verarbeitet
Einladungen und Verbindungen zu einer MCSession.
MCSession hat eine neue initWithPeer: Methode.
sendResource hat „with“ zum „completionHandler“ hinzugefügt.
Das Timeout wurde aus connectPeer:withNearbyConnectionData entfernt.
Weitere Informationen zu diesen APIs finden Sie im Video zur WWDC 2013-Sitzung 708, „Nearby
Vernetzung mit Multipeer-Konnektivität.“
Multitasking
Notizen
Die Richtlinie für die Aufgabenerledigungs-API wurde wieder geändert, um dem iOS 6-Verhalten, aber der Zeit, zu entsprechen
Das Limit für den Aufgabenabschluss wurde von 10 Minuten in iOS 6 gesenkt.
Networking
Behoben in Seed 4
Alle NSURL-Sitzungsaufgaben werden jetzt angehalten und nicht mehr ausgeführt. Auf diese Weise können Sie deren Status festlegen
bevor die Aufgabe gestartet wird.
Notizen
Mobilfunk-Fallback ist eine Technologie, die versucht, eine Verbindung über die Mobilfunkschnittstelle herzustellen, wenn a
Die Verbindung über die Wi-Fi-Schnittstelle gelingt nicht. Es gibt eine Reihe von Fällen, in denen
Über WLAN können Verbindungsfehler auftreten, z. B. wenn ein Kabelmodem neu gestartet werden muss oder eine Firewall installiert ist
Dadurch wird der Zugriff auf bestimmte Ressourcen blockiert.
Wenn Ihre App den Netzwerkbetrieb über das Mobilfunknetz einschränkt, überprüfen Sie, ob Ihr Code das verwendet
geeignete API zum Implementieren dieser Richtlinie.
Wenn Ihre App beispielsweise SCNetworkReachability auf überwacht
kSCNetworkReachabilityFlagsIsWWAN zur Überwachung, wenn WLAN verfügbar ist, verhält sich möglicherweise nicht
korrekt unter Mobilfunk-Fallback.
Wenn eine App diese Methode verwendet und dann versucht, eine Verbindung herzustellen, in der Annahme, dass sie eine Verbindung über WLAN herstellt, kann es sein, dass die App versehentlich eine Verbindung über das Mobilfunknetz herstellt. Das Fehlen der
kSCNetworkReachabilityFlagsIsWWAN ist keine Garantie dafür, dass Ihre Verbindung nicht unterbrochen wird
zellular. Wenn Ihr Code erzwingen muss, dass eine Verbindung nicht über Mobilfunk erfolgt, muss dies angegeben werden
das, wenn Sie eine Netzwerkanfrage stellen.
Legen Sie stattdessen für CFNetwork-Code, der CFSocketStream, CFHTTPStream oder ähnliche APIs verwendet, fest
Setzen Sie die kCFStreamPropertyNoCellular-Eigenschaft für das CF-Objekt vor dem Herstellen der Verbindung auf „true“.
Rufen Sie für NSURLRequests [request setAllowsCellularAccess: false] auf.
Stellen Sie außerdem sicher, dass Ihr Code aufgrund des Mobilfunks niemals über das Mobilfunknetz verbunden wird
Alternativ stellt dieser Anruf sicher, dass Ihr Code aufgrund des VPN niemals über das Mobilfunknetz verbunden wird
oder komplizierte Routing-Probleme (Verbindung zu IPv6 über Mobilfunk, da nur IPv4 verfügbar ist).
WLAN usw.).
Um zu überprüfen, ob sich Ihre App ordnungsgemäß verhält, sollten Sie sie mit einem defekten WLAN-Netzwerk testen. Der
Der einfachste Weg, ein defektes WLAN-Netzwerk einzurichten, besteht darin, eine Apple AirPort-Basisstation oder einen anderen WLAN-Zugangspunkt einzurichten, um eine DHCP-Adresse zu vergeben und den Zugangspunkt vom Netzwerk zu trennen
Internet. Eine weitere einfache Möglichkeit zum Testen besteht darin, das Kabel oder die DSL-Leitung von Ihrem Kabel oder DLS zu trennen
Modem.
Zwei Low-Level-Netzwerk-APIs, die früher eine MAC-Adresse zurückgaben, geben jetzt den festen Wert zurück
02:00:00:00:00:00. Die betreffenden APIs sind sysctl (NET_RT_IFLIST) und ioctl
(SIOCGIFCONF). Entwickler, die den Wert der MAC-Adresse verwenden, sollten auf solche Bezeichner umsteigen
als -[UIDevice IdentifierForVendor]. Diese Änderung betrifft alle Apps, die unter iOS 7 ausgeführt werden.
Objective-C-Laufzeit
Notizen
Aufgrund von Änderungen in der Implementierung des isa-Felds kann sich *self während der Aufzählung ändern (z
(z. B. wenn der Container einbehalten wird).
Problemumgehung: Legen Sie bei der Implementierung von countByEnumeratingWithState keinen Status fest.
>mutationsPtr = self.
Sparbuch
Notizen
Ab iOS 7 Seed 4 bietet Passbook Unterstützung für die Haupt- und Nebenfelder, um eine bessere Übereinstimmung mit den Feldern zu gewährleisten
Rest des iBeacon-Ökosystems. Die neuen Dur- und Moll-Tonarten sind unabhängig voneinander variabel und optional
neben ProximityUUID (erforderlich) in jedem Wörterbuch im Beacons-Array.
In früheren Versionen des iOS SDK hat Passbook die hinteren Felder auf Pässen nicht validiert
vollständig. Die Validierungsregeln haben sich nicht geändert, aber die Validierung umfasst jetzt auch Rückfelder.
Bitte überprüfen Sie das Konsolenprotokoll auf zusätzliche Protokolle.
Ab iOS 7 Seed 3 ist PKPassLibraryDidCancelAddPasses ein neuer Statuscode im
PKPassLibraryAddPassesStatus-Enumeration. Dies bedeutet, dass der Benutzer in einem Add-Pass auf „Abbrechen“ getippt hat
warnen.
Safarifixiert in Seed 4
Anmeldeinformationen für Safari-Websites werden nicht immer automatisch zwischen mobilen und Desktop-Versionen ausgefüllt.
Problemumgehung: Verwenden Sie die Desktop-Version, wenn die Website diese anbietet.
Ein Upgrade auf iOS kann die Einstellungen von Safari auf ihre Standardwerte zurücksetzen.
Sicherheit
Notizen
-[UIDevice uniqueIdentifier] wird bei Übermittlungen an den App Store nicht mehr akzeptiert. In iOS 7,
Apps, die sich bereits im Store oder auf den Geräten der Benutzer befinden und diese entfernte API aufrufen, werden nicht mehr verfügbar sein
hat die UDID zurückgegeben. Stattdessen gibt -[UIDevice uniqueIdentifier] eine 40-stellige Zeichenfolge zurück
Beginnend mit FFFFFFFF, gefolgt vom Hexadezimalwert von -[UIDevice IdentifierForVendor]. Es ist
Es ist wichtig zu überlegen, wie sich dies auf bestehende Apps auswirkt. Ich denke darüber nach, Updates einzureichen, die nicht vorhanden sind
mehr auf die UDID zugreifen.
iOS fordert jetzt die Zustimmung des Benutzers für Apps zur Nutzung der Audioeingabe auf allen iOS 7-Geräten an. Für verkaufte Geräte
In China wird iOS außerdem die Zustimmung des Benutzers einholen, damit Apps die Kamera-Hardware verwenden dürfen. Der Betrieb
Das System zeigt die Einwilligungswarnung an, wenn Sie die Kategorie der instanziierten Person festlegen
AVAudioSession. Die AVAudioSession-Kategorien, in denen die Warnung angezeigt wird, sind:
AVAudioSessionCategoryRecord und AVAudioSessionCategoryPlayAndRecord.
Wenn der Benutzer den Zugriff nicht zulässt, sind die Daten der Audiositzung ausschließlich Nullen (Stille). Für Geräte wo
Wenn der Benutzer Zugriff auf die Kamera anfordert und verweigert, ist die Videoaufnahmesitzung ein schwarzer Bildschirm.
Die API gethostuuid() wurde entfernt und wird nicht zur Übermittlung an den Store akzeptiert.
unabhängig vom Zielbetriebssystem. Für vorhandene Apps, die unter iOS 7 ausgeführt werden, gibt die Funktion ein uuid_t zurück
Darstellung der Anbieter-ID (-[UIDevice IdentifierForVendor]).
Einrichtung
Bekanntes Problem
Der Einrichtungsassistent kann abstürzen, wenn Sie ein neues Gerät mit einer bestehenden E-Mail-Adresse einrichten.
Problemumgehung: Fahren Sie mit dem Einrichtungsassistenten fort. Gehen Sie dann zu Einstellungen > iCloud und manuell
Aktivieren Sie die Dienste, die deaktiviert sind.
Siri
Notizen
Dieser Seed umfasst Entwicklungsversionen neuer männlicher und weiblicher Siri-Stimmen für US-Englisch und
Französisch und eine männliche Stimme für Deutsch.
Social Media
HinweiseÜber iOS 6 gilt bei Verwendung von TWTweetComposeViewController und SLComposeViewController (der
Letzteres gilt nur für Twitter und Weibo, nicht jedoch für Facebook. Wenn der Aufrufer einen CompletionHandler bereitstellt, wird der
Der bereitgestellte CompletionHandler ist für das Verwerfen des View-Controllers verantwortlich. Ab iOS 7, wenn die App
Bei Verknüpfungen mit dem iOS 7 SDK schließt sich der View Controller selbst dann, wenn der Anrufer eine angibt
Vervollständigungshandler. Um dies zu vermeiden, sollte der CompletionHandler des Aufrufers die Ansicht nicht verwerfen
Regler.
Bekanntes Problem
Bei Verwendung des iOS 6.1 SDK unter OS X v10.8 Mountain Lion, wenn Sie iOS 5.0 oder iOS 5.1 Legacy verwenden
SDK im iOS-Simulator können Sie die Twitter-Funktionen nicht nutzen: Versuchen Sie, sich über bei Twitter anzumelden
Der Einstellungsbereich schlägt fehl und Twitter.framework funktioniert nicht ordnungsgemäß. Wenn Sie Twitter testen müssen
Um die Funktionen zu nutzen, müssen Sie entweder ein iOS 6.1- oder ein iOS 6.0-Simulator-Ausführungsziel auswählen, oder Sie können dies auch tun
Testen Sie mit iOS 5.x auf einem Gerät.
Sprungbrett
Notizen
Aktive Berührungen werden nicht mehr abgebrochen, wenn der Benutzer einen Screenshot macht.
Dynamische Hintergrundbilder sind auf dem iPhone 4 nicht verfügbar.
Behoben in Seed 4
Springboard stürzt beim Zugriff auf einige Webclips im App Switcher ab.
Beim Wiederherstellen von einem iCloud-Backup auf einem Gerät mit Hunderten von Apps kann es zu einem Absturz von Springboard kommen
wiederholt.
Passwörter mit diakritischen Zeichen werden in diesem Seed nicht unterstützt. Wenn Sie diakritische Zeichen haben
Ändern Sie Ihr Passwort, bevor Sie auf Seed 3 aktualisieren, da Sie Ihr Gerät dann nicht entsperren können.
Sprite-Kit
Bekanntes Problem
+[AVPlayer playerWithPlayerItem:] gibt ein AVPlayer-Objekt zurück, aber das aktuelle Element wird zurückgegeben
Null, wenn der Player in einem anderen Thread erstellt wurde.
Shops
Bekanntes Problem
Einige iPhone 4-Geräte können keine Inhalte aus dem App Store und dem iTunes Store herunterladen.
Synchronisierung
In Seed 4 behoben: Die Wi-Fi-Synchronisierungsoption in iTunes ist aktiviert, Wi-Fi-Geräte werden jedoch nicht in iTunes angezeigt.
Uikit
Notizen
In früheren Seeds war die Snapshot-API (snapshotView und
resizableSnapshotViewFromRect:withCapInsets:) würde die Aufnahme des Schnappschusses verzögern, wenn die Ansicht
wurde nie festgeschrieben oder wurde in der aktuellen Transaktion zur Ansichtshierarchie hinzugefügt. Das
Das Verhalten hat sich geändert.
Snapshots stellen jetzt immer den aktuellen, festgeschriebenen Status der Ansicht dar. Es wird versucht, einen Schnappschuss zu machen
Eine Ansicht, die noch nie festgeschrieben wurde, protokolliert eine Nachricht und gibt jetzt Null zurück.
Snapshotting-Methoden wurden aktualisiert und akzeptieren jetzt ein Argument: afterUpdates. Wenn eingestellt auf
JA, dies weist den Snapshot an, zu warten, bis alle ausstehenden Änderungen an der Hierarchie vorgenommen wurden
engagiert. Um das Verhalten vor Seed 4 beizubehalten, übergeben Sie NEIN und der Snapshot erfasst das, was es ist
derzeit auf dem Bildschirm. Weitere Informationen finden Sie unter UIView.h.
Wenn im Layout der Navigationsleiste nicht genügend Platz für den vollständigen Text des Titels der Zurück-Schaltfläche vorhanden ist,
Die Navigationsleiste ersetzt einen generischen kurzen Titel (auf Englisch „Back“). Wenn überhaupt, ist diese Zeichenfolge
Wenn die Leiste zu lang ist, wird auf der Rückseite der Chevron-Indikator ohne Titel angezeigt.
+[UIPasteboard pasteboardWithName:create:] und +[UIPasteboard
pasteboardWithUniqueName] ist jetzt ein eindeutiger Vorname, um nur die Apps im selben zuzulassen
Anwendungsgruppe, um auf das Pasteboard zuzugreifen. Wenn der Entwickler versucht, ein Pasteboard mit einem zu erstellen
Namen, die bereits vorhanden sind und nicht Teil derselben App-Suite sind, erhalten sie einen eigenen eindeutigen Namen
und private Pappe. Beachten Sie, dass dies keine Auswirkungen auf die vom System bereitgestellten Pasteboards hat.
und finde.
Ab Seed 2 verwenden Apps standardmäßig die neue View-Controller-basierte Statusleistenverwaltung
System. Um dies zu deaktivieren, fügen Sie den Wert NEIN für hinzu
UIViewControllerBasedStatusBarAppearance-Schlüssel zu Ihrer Info.plist.
Wenn Sie das automatische Layout zum Positionieren eines UIButtons verwenden und den Inhaltskomprimierungswiderstand festlegen oder
Wenn die Priorität des Inhalts auf ein Minimum reduziert wird, weist die Schaltfläche ein mehrdeutiges Layout auf.
Problemumgehung: Verwenden Sie keinen Inhaltskomprimierungswiderstand oder eine Inhaltsüberdeckungspriorität von weniger als
2 für UIButton.
Mit UIScreenEdgePanGestureRecognizer können Sie Aktionen als Reaktion auf Wischen ausführen
Der Bildschirmrand wird mit derselben Heuristik bewegt, die das System auch für seine eigenen Gesten verwendet. Benutze das
wenn Sie über eine eigene Navigationssemantik verfügen, die UINavigationController aber nicht verwendet
sollte diese Geste enthalten (z. B. Safari).
Dieser Gestenerkenner verfügt über eine Eigenschaft, die die Kanten beschreibt, an denen er aktiv ist. UIRectEdge ist
ein neuer Aufzählungstyp, den diese Eigenschaft und -[UIViewController EdgesForExtendedLayout] können
Aktie. UIRectEdge ersetzt UIExtendedEdge, das entfernt wird. Die Mitglieder beider haben
die gleichen Werte. Verwenden Sie Xcode, um alle Instanzen von „UIExtendedEdge“ in Ihrem Projekt durch zu ersetzen
„UIRectEdge“.
UIButtonTypeInfoLight, UIButtonTypeInfoDark und UIButtonTypeDetailDisclosure
Die Knöpfe sehen alle gleich aus.
Unscharfe Ebenen sind auf dem iPhone 4 nicht verfügbar.
Parallax ist auf dem iPhone 4 nicht verfügbar.
Letterpress-Text ist auf dem iPhone 4.ixed in Seed 4 nicht verfügbar
Der UIImagePickerController zeigt keine Live-Vorschau an, wenn benutzerdefinierte Overlays verwendet werden.
UIPickerView mit benutzerdefinierten Ansichten zeigt die Ansichten nicht im Auswahlindikator an.
UIRefreshControl und die zugehörige Tabellenansicht werden unter der Navigationsleiste ausgeblendet, wenn
setTranslucent: ist NEIN.
Die IB-Unterstützung für -topLayoutGuide und -bottomLayoutGuide ist in diesem Seed nicht funktionsfähig.
Der Titel des UIRefreshControl erscheint unterhalb der Navigationsleiste.
Bekanntes Problem
Die Benutzeroberfläche Ihrer App kann sich leicht bewegen, nachdem Sie einen Mediaplayer im Querformat verwendet haben.
Wetter
Notizen
Wetterbedingungen werden auf dem iPhone 4 nicht animiert.
WebKit
Notizen
Bisher wurden die alten Parameter nie verworfen, wenn die Parameter des Ansichtsfensters geändert wurden.
Dies führte dazu, dass die Ansichtsfensterparameter additiv waren.
Wenn Sie beispielsweise mit width=device-width begonnen und es dann in initial-scale=1.0 geändert haben, sind Sie
endete mit einem berechneten Ansichtsfenster von width=device-width, initial-scale=1.0.
In iOS 7 wurde dieses Problem behoben. Jetzt erhalten Sie einen berechneten Ansichtsbereich von initialscale=1.0.
Zuvor bei der Verwendung , Die
Die Skala könnte nach der Drehung falsch sein.
Wenn ein Benutzer die Seite nun nicht explizit skaliert hat, wird die Seite auf ihren ursprünglichen Maßstab zurückgesetzt. Auch der
Der aktuelle Maßstab ist jetzt korrekt auf die Grenzen des minimalen und maximalen Maßstabs beschränkt.
Einige Bilder für Retina-Anzeigegeräte werden nicht so groß angezeigt, wie sie sollten
um 50 % verkleinert. Dieses Problem kann auch bei jedem zu skalierenden Bild auftreten, das größer als seine Größe ist
Container, der entweder die Eigenschaft „background-size“ oder die Eigenschaft „-webkit-background-size“ verwendet
Eigentum. Dieses Problem betrifft sowohl native Apps, die Webinhalte anzeigen, als auch Webseiten, die in angezeigt werden
Safari für iPhone.
Die CSS-Kurzschrifteigenschaft „background“ setzt jetzt den Wert der Eigenschaft „background-size“ auf zurück
Automatisch, wenn die Hintergrundgröße nicht angegeben ist. Dieses neue Verhalten entspricht der CSS-Spezifikation und der alten
Das Verhalten ist nur für Apps verfügbar, die mit einem SDK vor iOS 7.0 verknüpft sind, wenn sie unter iOS 7 oder höher ausgeführt werden.
Problemumgehung: Geben Sie die Eigenschaft „background-size“ oder „-webkit-background-size“ an
nach der Eigenschaft „background shorthand“ im CSS-Stylesheet für den Webinhalt
displayed.now Problem
Web-Apps und Web-Clips, die in früheren Seeds erstellt wurden, bleiben beim Neustart nicht in Ordnern.
Problemumgehung: Löschen Sie die alte Web-App oder den alten Web-Clip und erstellen Sie sie in diesem Seed neu, indem Sie den Inhalt laden
Tippen Sie in Safari auf die Aktionsschaltfläche und dann auf „Zum Startbildschirm hinzufügen“.
Wi-Fi
Notizen
Dieser Seed führt Änderungen an AWDL ein, sodass Technologien, die es verwenden – wie AirDrop und das
MultiPeerConnectivity-APIs – funktionieren mit älteren Seeds nicht ordnungsgemäß.