Apple: Entwicklungsumgebung Xcode in Version 8.2 erschienen

Apple hat die Entwicklungsumgebung Xcode in der Version 8.2 veröffentlicht (Mac-App-Store-Partnerlink). Das Update bietet Stabilitätsverbesserungen und zusätzliche Aktionen für die Touch-Bar-Funktionsleiste der neuen MacBook-Pro-Generation. Außerdem lässt sich die Touch-Bar nun in weiteren Programmbereichen individuell anpassen. Ebenfalls neu: der Xcode-Simulator ermöglicht jetzt die App-Installation per Drag & Drop.

Xcode 8.0

Screenshot von Xcode.
Bild: Apple.



Darüber hinaus wurden zahlreiche Fehlerkorrekturen in Xcode 8.2 vorgenommen. Nähere Informationen dazu sind auf dieser Web-Seite zu finden. Xcode 8.2 enthält Entwicklerkits für iOS 10.2, macOS 10.12.2, tvOS 10.1 und watchOS 3.1.1. Die Finalversion von macOS 10.12.2 erscheint in Kürze. Xcode 8.2 setzt OS X El Capitan oder neuer voraus und ermöglicht die Entwicklung von Software für Mac, iPhone, iPad, Apple TV und Apple Watch. Die Entwicklungsumgebung ist für Programmiersprachen wie Swift, Objective-C, C oder C++ ausgelegt.

Kommentare

Xcode 8.2 mit Bugs

Genau wie schon in Xcode 8, ab Swift 3, sind zwei Bugs immer noch nicht gefixt. Beide Bugs wurden schon vor Monaten von mir gemeldet. Der eine Bug betrifft Type-Extensions wenn diese auf mehrere Swift-Source-Dateien verteilt werden und einen neu definierten Typ erweitern, dann kann das ganze Projekt nur noch mit Whole-Module-Optimization kompiliert werden, sonst kommt ein Compiler-Abbruch. Das macht dann natürlich das Debuggen völlig unmöglich. Der zweite Fehler betrifft die Verwaltung von Arrays, wbei die Indizierung nicht ordentlich optimiert wird, was zur Folge hat, dass solche Aufrufe etwa zehn (!) mal so langsam laufen wie unter Swift 2.2. Bei mir sind da fast alle Projekte von betroffen, einige sind insgesamt fast zehn mal lnagsamer als unter Swift 2.2, manche nur ein viertel so langsam (weil ja nicht ständig Arrays benötigt werden). Alles in Allem ist die Performance unter Swift 3 im Vergleich mit Swift 2.2 jedenfalls deutlich schlechter.