iOS 8.1 Beta 2 Änderungsprotokoll

 

  iOS beta 8.1 2 este disponibil din cursul acestei seri pentru dezvoltatorii de aplicatii pentru platforma iOS si daca sunteti interesati sa aflati care sunt schimbarile pe care Apple nu le va mentiona vreodata, ei bine mai jos le gasiti. iOS 8.1 Beta 2 Änderungsprotokoll dezvaluie tot ceea ce a schimbat compania Apple in interiorul software-ului sau pentru iDevice-urile noastre, aceste modificari imbunatatind functionalitatea generala si rezolvand diverse probleme pe care dezvoltatorii le-au intalnit dupa instalarea iOS beta 8.1 1.

  leider noutatile sunt putine si era de asteptat, avand in vedere ca Apple grabeste lansarea iOS 8.1 cu lansari de versiuni beta noi in fiecare saptamana, in locul traditionalei asteptari de 2 saptamani intre furnizarea lor.

iOS 8.1 beta 2 CHANGELOG

Hinweise und bekannte Probleme

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

AVCapture

Bekanntes Problem

Verwendung der neuen Konstante, AVCaptureISOCurrent, führt zu inkonsistenten ISO-Werten (wie in der ISO-Eigenschaft beobachtet), wennsetExposureModeCustomWithDuration:ISO:completionHandler: wird wiederholt aufgerufen.

CloudKit

Note

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

Kontakt

Note

Die Personenauswahl der Adressbuch-Benutzeroberfläche wurde für iOS 8 geändert. Es wurde ein neuer Modus mit neuer API hinzugefügt, bei dem die App keinen Zugriff auf die Kontakte des Benutzers benötigt und der Benutzer nicht zum Zugriff aufgefordert wird. Eine temporäre Kopie der ausgewählten Person wird an die App zurückgegeben. EWR ABPeoplePickerNavigationController.h für weitere Informationen an.

Sehen Sie sich das neue Beispielprojekt „PeoplePicker: Auswahl einer Person oder Eigenschaft“ an, das die Verwendung des neuen Modus demonstriert.

Dokumentanbieter

Notizen

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

  • Die Berechtigung „com.apple.developer.icloud-container-identifiers“ ist erforderlich, wenn iOS 8.1 veröffentlicht wird.

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.

Erweiterungsoptionen

Notizen

  • 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 dieNSSearchPathForDirectoriesInDomains Funktion oder die URLForDirectory:inDomain:appropriateForURL:create:error:Methode der NSFileManager Klasse. 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.

HealthKit

Note

  • Code, der versucht, Trainingsinformationen in HealthKit zu lesen, kann möglicherweise keine nachfolgenden Abfragen an HealthKit stellen.

    Wenn Sie HKWorkouts verwenden, sollten Sie das Lesen von Workouts vermeiden, wenn Sie auf iOS-Versionen vor 8.1 laufen mit:

    NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0};
    if ([[NSProcessInfo ProcessInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) {
    // Trainingsinformationen lesen und in das Gesundheitskit schreiben.
    } Else {
    // Trainingsinformationen in das Gesundheitskit schreiben
    }

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 Backup-

Fixed in iOS 8.1 Beta 2

Nach der Wiederherstellung aus dem iCloud-Backup können Sie möglicherweise keine neuen Musik- oder Filminhalte von iTunes synchronisieren.

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.

Tastaturen

Bekanntes Problem

  • Additional Keyboards, including 3rd party keyboards, may not appear in Safari, Maps, or 3rd party apps on the Simulator.

    Workaround: Tastaturen sollten in Kalender, Spotlight, Kontakten und Fotos testbar sein.

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 blockierenviewWillAppear: ü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 istNSURLSessionTask Leistung.

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

Telefon

Notizen

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 unter iOS 8 Beta nicht 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.

Fixed in iOS 8.1 Beta 2

  • If iCloud Photo Library beta is enabled, Settings > iCloud > Photos may crash.

    Workaround: Use Settings > Photos & Camera to manage settings for Photos.

Bekannte Probleme

  • 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 iOS 8.1 Betas auf die 8 Beta 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. Choose Window > Devices

  4. Right-click on the device in left column, choose “Show Provisioning Profiles”

  5. Klicken Sie auf das betreffende Bereitstellungsprofil

  6. Drücken Sie den Knopf

  7. Continue doing so to remove all affected profiles.

  8. Installieren Sie die App erneut

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.

WebKit

Notizen

  • Die Navigation Timing API wurde aufgrund von Leistungsproblemen nur auf iOS deaktiviert.

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.