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 die
NSSearchPathForDirectoriesInDomains
Funktion oder dieURLForDirectory:inDomain:appropriateForURL:create:error:
Methode derNSFileManager
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:
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.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ückkehrennil
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 übergebenNCUpdateResult
. Widgets sollten die Rückkehr von NICHT blockierenviewWillAppear:
über die Ergebnisse dieser Operation. Stattdessen sollten Widgets den zwischengespeicherten Zustand ladenviewWillAppear:
um den Zustand der Ansicht vom letzten abzugleichenviewWillDisappear:
, 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
undNSURLSessionTaskPriorityHigh
.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 imNSURLSession.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:
Verbinden Sie das Gerät über USB mit Ihrem Mac
Starten Sie Xcode
Choose Window > Devices
Right-click on the device in left column, choose “Show Provisioning Profiles”
Klicken Sie auf das betreffende Bereitstellungsprofil
Drücken Sie den Knopf
Continue doing so to remove all affected profiles.
Installieren Sie die App erneut
Uikit
Notizen
UILabel
hat den Standardwert YES fürclipsToBounds
. Dies unterscheidet sich vom NormalzustandUIView
Standardeinstellung von NEIN.Das
leftLayoutGuide
undrightLayoutGuide
APIs wurden entfernt. Bitte nutzen Sie dielayoutMargins
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.