Das Änderungsprotokoll zu iOS 8.2 Beta 3 enthüllt die von Apple implementierten Neuigkeiten

8.2 iOS beta

  Apple gestartet iOS beta 8.2 3 cu doar cateva zeci de minute in urma pentru posesorii de iPhone, iPad si iPod Touch, noua versiune a sistemului de operare fiind disponibila pentru dezvoltatorii de aplicatii pentru iPhone, iPad si iPod Touch. Din pacate compania Apple nu a mentionat in informatiile oferite la actualizare ce tip de modificari a implementat pentru dezvoltatori, insa a publicat un changelog detaliat in portalul dedicat acestora pe website-ul sau.

  In baza acestui changelog putem afla noutatile iOS beta 8.2 3, adica tot ceea ce a schimbat Apple la suprafata sau in interiorul sistemului de operare, majoritatea modificarilor fiind facute in ceea ce priveste codul sursa si nu functiile vizibile. iOS 8.2 beta 3 este doar una dintre versiunile beta lansate de catre compania Apple pentru iOS 8.2, cei din Cupertino oferind aceasta versiune a sistemului de operare pentru dezvoltatorii dornici sa testeze aplicatiile pentru Apple Watch.

iOS 8.2 Beta 3 Änderungsprotokoll

Hinweise und bekannte Probleme

Die folgenden Probleme beziehen sich auf die Verwendung von iOS SDK 8.2 zum Entwickeln von Code.

CloudKit

Note

Ein einzelner CKAsset Die Instanz kann nicht mehr als Wert für mehrere CKRecords festgelegt werden.

Dokumentanbieter

Notizen

  • Ihre App benötigt die iCloud-Berechtigung, um als Dokumentenanbieter genutzt werden zu können.

  • Das com.apple.developer.icloud-container-identifiers Anspruch erforderlich ist.

Bekannte Probleme

  • Nachdem Sie die Dokumentenauswahl ins Querformat gedreht haben, wird die Statusleiste ausgeblendet.

  • Beim Aufrufen der Dokumentenauswahl im Querformat wird die enthaltende Ansicht möglicherweise unter die Navigationsleiste verschoben.

App-Erweiterungen

Notizen

  • App-Erweiterungen benötigen ein arm64-Slice, um auf 64-Bit-Geräten ausgeführt zu werden. Wenn Sie versuchen, das armv7-Slice auf einem 64-Bit-Gerät auszuführen, funktioniert es nicht.

  • Apps müssen über ein Arm64-Slice verfügen, wenn das Bundle ein Framework enthält, mit dem sowohl die App als auch die App-Erweiterung verknüpft sind.

Dateisystem

Note

Das Dateisystemlayout von App-Containern auf der Festplatte hat sich geändert. Anstatt sich auf eine fest codierte Verzeichnisstruktur zu verlassen, verwenden Sie die NSSearchPathForDirectoriesInDomains Funktion oder die URLForDirectory:inDomain:appropriateForURL:create:error: Methode der NSFileManagerKlasse. Sehen Zugriff auf Dateien und Verzeichnisse in Handbuch zur Dateisystem-Programmierung.

Schriftarten

Note

Die thailändische Systemschriftart wurde vergrößert, um die Lesbarkeit zu verbessern. Dies führt an vielen Stellen Ihrer Benutzeroberfläche zu Clipping, wenn Sie nicht die entsprechenden Maßnahmen ergreifen:

  1. Verwenden Sie die UILabel so viel wie möglich. Wenn Sie Interface Builder verwenden, stellen Sie sicher, dass Clip Subviews nicht aktiviert ist. UIKit vergrößert den Ausschneidebereich nach Bedarf, um keinen Text auszuschneiden.

  2. Verwenden Sie den dynamischen Typ. Dadurch wird sichergestellt, dass es in mehrzeiligen Beschriftungen oder Textfeldern keine überlappenden Glyphen gibt.

Wenn Sie 1 und 2 nicht ausführen können, weil Sie Ihre eigenen Ansichten implementieren, müssen Sie Maßnahmen ergreifen, um ein Abschneiden zu verhindern. Sie können CoreText verwenden, um den geeigneten Beschneidungsbereich für eine Textzeile zu ermitteln, indem Sie Folgendes aufrufen:

CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);

Passen Sie die Zeilenhöhe an, um überlappende Glyphen in mehrzeiligen Textelementen zu vermeiden. Weitere 30 % werden empfohlen.

Diese Maßnahme trägt auch dazu bei, dass Ihre App in anderen Sprachen, einschließlich Arabisch, Hindi und Vietnamesisch, eine bessere Leistung erbringt.

iCloud

Note

Die E-Mail-Übergabe und AirDrop funktionieren möglicherweise nicht mehr, nachdem Sie Ihr iCloud-Passwort unter appleid.apple.com geändert haben.

Workaround: Melden Sie sich auf dem Gerät bei iCloud ab und wieder an.

icloud-Laufwerk

Note

URLForUbiquityContainerIdentifier: könnte zurückkehren nil wenn Sie Ihre Anwendung in Xcode ausführen. Wenn ja, öffnen Sie die Systemeinstellungen, navigieren Sie zu iCloud > iCloud Drive und aktivieren Sie Xcode.

Account Beiträge

In Beta 3 behoben

Ihr Gerät kann in einen Zustand geraten, in dem das Abhören von Nachrichtenkonversationen lange dauern kann.

Notification Center

Note

Der Zeitplan und die beabsichtigte Verwendung von widgetPerformUpdateWithCompletionHandler: ist als praktisches Zuhause für die gesamte Daten-/Modellaktualisierungslogik gedacht. Falls implementiert, ruft das System zu geeigneten Zeiten das Widget auf, um seinen Status zu aktualisieren, sowohl wenn das Benachrichtigungscenter sichtbar ist als auch im Hintergrund. Um Hintergrundaktualisierungen zu ermöglichen, ist eine Implementierung erforderlich. Es wird erwartet, dass das Widget die Aktualisierungsarbeit so weit wie möglich asynchron und außerhalb des Hauptthreads durchführt. Widgets sollten den Argumentblock aufrufen, wenn die Arbeit abgeschlossen ist, und das entsprechende übergeben NCUpdateResult. Widgets sollten die Rückkehr von NICHT blockieren viewWillAppear: über die Ergebnisse dieser Operation. Stattdessen sollten Widgets den zwischengespeicherten Zustand laden viewWillAppear: um den Zustand der Ansicht vom letzten abzugleichen viewWillDisappear:, und dann reibungslos auf die neuen Daten umsteigen, wenn diese eintreffen.

NSURLSession

Note

Das NSURLSessionTask Die Klasse stellt eine neue „Prioritäts“-Eigenschaft mit drei zugehörigen Konstanten bereit: NSURLSessionTaskPriorityDefault, NSURLSessionTaskPriorityLow und NSURLSessionTaskPriorityHigh. NSURLSessionTask Mithilfe von Prioritäten kann angegeben werden, wie mehrere Anfragen und Antworten an denselben Host priorisiert werden sollen. Beachten Sie, dass die Priorität ein Hinweis und keine strikte Garantie dafür ist NSURLSessionTask Leistung.

Für vollständige Nutzungsdetails von NSURLSessionTask Prioritäten finden Sie im NSURLSession.h Header-Datei, die vom Foundation-Framework bereitgestellt wird.

Telefon

Note

Um die Wi-Fi-Anruffunktion für T-Mobile (nur USA) zu aktivieren, gehen Sie folgendermaßen vor:

  • Gehen Sie zu Einstellungen > Telefon > WLAN-Anrufe.

  • Stellen Sie den Schalter für Wi-Fi-Anrufe auf EIN.

  • Wenn der Mobilfunkanbieter nicht über die registrierte Notfalladresse des Benutzers verfügt, werden Sie aufgefordert, diese hinzuzufügen, bevor die Funktion aktiviert wird.

Fotos

Notizen

  • Erstellen Sie vor der Aktivierung und während der Nutzung der Betaversion der iCloud-Fotobibliothek ein Backup Ihrer Fotobibliothek, indem Sie:

    • Importieren auf Ihren Mac mit iPhoto

    • Importieren auf Ihren Mac mit Image Capture

  • Die Betaversion der iCloud-Fotobibliothek lädt keine Fotos und Videos herunter, die von iTunes mit Ihrem Gerät synchronisiert wurden. Alle von iTunes mit Ihrem Gerät synchronisierten Fotos und Videos werden entfernt, wenn Sie die Betaversion der iCloud-Fotobibliothek aktivieren.

  • iPhoto für iOS wird nicht mit iOS 8 Beta gestartet. Wenn Sie Photos.app starten, werden Ihre iPhoto-Bearbeitungen in die iOS 8-Fotobibliothek migriert. Stellen Sie sicher, dass Ihre iPhoto für iOS-Daten in Ihrer Gerätesicherung enthalten sind.

  • Die Möglichkeit zur automatischen Optimierung des Gerätespeichers ist für alle Konten mit mehr als 5 GB aktiviert.

  • Bei Verwendung der iCloud-Familienfreigabe sind sowohl die iCloud-Fotofreigabe als auch „Mein Fotostream“ aktiviert.

Bereitstellungsprofile

Bekanntes Problem

Wenn Sie von früheren iOS 8.2-Betaversionen auf die Betaversion 8 aktualisiert haben, kann es sein, dass Ihre Apps aufgrund von Problemen mit dem Bereitstellungsprofil abstürzen.

Workaround:

  1. Verbinden Sie das Gerät über USB mit Ihrem Mac.

  2. Starten Sie Xcode.

  3. Wählen Sie „Fenster“ > „Geräte“.

  4. Klicken Sie mit der rechten Maustaste auf das Gerät in der linken Spalte und wählen Sie „Bereitstellungsprofile anzeigen“.

  5. Klicken Sie auf das betreffende Bereitstellungsprofil.

  6. Drücken Sie den Knopf.

  7. Entfernen Sie weiterhin alle betroffenen Profile.

  8. Installieren Sie die App neu.

Uikit

Notizen

  • UILabel hat den Standardwert YES für clipsToBounds. Dies unterscheidet sich vom Normalzustand UIView Standardeinstellung von NEIN.

  • Das leftLayoutGuide und rightLayoutGuide APIs wurden entfernt. Bitte nutzen Sie die layoutMargins Eigentum statt.

WatchKit

Notizen

  • Das WKInterfaceMap API hat sich geändert. Speziell, setMapRect: und setCoordinateRegion: wurden ersetzt durch setVisibleMapRect: und setRegion: beziehungsweise.

  • Das WKInterfaceController Methode initWithContext: ist veraltet. Benutzen Sie bitte awakeWithContext: stattdessen. Der designierte Initialisierer für WKInterfaceController ist jetzt init.

  • Das WKInterfaceDevice API hat sich geändert. Speziell, addCachedImage:name: und addCachedImageWithData:name: jetzt zurück BOOL um den Erfolg oder Misserfolg des Hinzufügens eines Bildes zum Cache anzuzeigen. Beachten Sie, dass diese Methoden NEIN zurückgeben, wenn die Cachegröße ihr Limit erreicht hat. Bilder per Aufruf aus dem Cache löschen removeCachedImageWithName: or removeAllCachedImages.

  • Eine seitenbasierte WatchKit-App kann die Seiten auf der Stammebene dynamisch neu anordnen reloadRootControllersWithNames:contexts:.

  • Zeilen in a WKInterfaceTable haben jetzt ein Standard-Erscheinungsbild. Dieses Erscheinungsbild kann überschrieben werden, indem im Interface Builder die Werte für Hintergrundfarbe, Rand, Eckenradius und Höhe für die Zeile angegeben werden.

In Beta 3 behoben

  • In iOS Simulator, the Emoji button should now be visible, regardless of the selected input mode.

  • Das WKInterfaceController Methode openParentApplication:reply: now launches the containing app in the background when the iPhone (or iOS Simulator) is unlocked or locked.

  • Das WKInterfaceController Methode presentTextInputControllerWithSuggestions:completion: is now fully supported in iOS Simulator.

Bekanntes Problem

  • Einfügen, Löschen oder Aktualisieren von Zeilen von a WKInterfaceTable kann dazu führen, dass die Größe der Tabelle vorübergehend falsch ist. Durch Scrollen Ihres Schnittstellencontrollers sollte die Tabelle wieder die richtige Größe haben.

WLAN-Anrufe (nur T-Mobile US)

Note

Der Name des Netzbetreibers in der Statusleiste zeigt „T-Mobile Wi-Fi“ an, wenn das Gerät WLAN-Anrufe tätigen und empfangen kann.