Simulator-Debugging-Ausgaben in Xcode stoppen

Wenn Sie in Xcode eine App im Simulator ausführen, erscheinen im Debugging-Bereich von Xcode (genaugenommen in der Konsole, das ist der rechte Teil des Debugging-Teilfensters) schier unendlich viele Meldungen, die in aller Regel niemanden interessieren. Wenn Sie in Ihrem Code selbst den einen oder anderen print-Aufruf eingebaut haben, dann gehen Ihre eigenen Ausgaben in der Simulator-Nachrichtenflut vollständig unter.

Eine mögliche Lösung besteht darin, die App auf einem echten iPhone, iPad oder Apple-TV-Gerät auszuführen. Um auch im Simulator etwas mehr »Ruhe« herzustellen, müssen Sie das Run-Schema verändern. Dazu führen Sie Product/Scheme/Edit Scheme aus, wählen das Run-Schema aus, wechseln in das Dialogblatt Arguments und fügen dann im Bereich Environment
Variables
die Einstellung OS_ACTIVITY_MODE = disable hinzu.

Diese Einstellung schafft himmlische Ruhe im Debugging-Bereich.
Diese Einstellung schafft himmlische Ruhe im Debugging-Bereich.

Beachten Sie aber, dass diese Einstellung einen offensichtlichen Nachteil hat: Mitunter verbergen sich in der Flut der Debugging-Ausgaben auch wichtige Informationen, z.B. dass Sie vergessen haben, in Info.plist einen Schlüssel einzustellen, damit die App um Erlaubnis fragt, ob sie Ortsdaten benutzen darf (This app has attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSLocationWhenInUseUsageDescription key with a string value explaining to the user how the app uses this data). Solche Meldungen gehen mit der Einstellung OS_ACTIVITY_MODE = disable verloren.

Quelle: http://stackoverflow.com/questions/37800790

Swift Playgrounds auf dem iPad ausprobiert

Apple bietet im App Store die kostenlose App Swift Playgrounds für iPads an. Die App soll vor allem Jugendlichen dabei helfen, die Grundkonzepte von Swift spielerisch zu erlernen. Die Animationen sprechen vermutlich eher acht- bis zehnjährige Kinder an, aber lassen Sie sich davon nicht abhalten: Die App hat wesentlich mehr Substanz, als die grafische Gestaltung vermuten lässt, und ist durchaus auch für erwachsene Einsteiger in die Swift-Programmierung interessant. In zahlreichen, allmählich anspruchsvolleren Übungen lernen Sie durchaus systematisch Methoden, Schleifen, if-Abfragen etc. kennen.

Durch die Definition einer eigenen Funktion und den Aufruf diverser  Methoden soll die Spielfigur »Byte« zum Ziel gesteuert werden.
Durch die Definition einer eigenen Funktion und den Aufruf diverser Methoden soll die Spielfigur »Byte« zum Ziel gesteuert werden.

Swift Playgrounds auf dem iPad ausprobiert weiterlesen

Fehler in Swift-Funktionen weitergeben (rethrows)

Die Array-Methode map ist ebenso wie unzählige weitere Collection-Methoden aus der Swift-Standardbibliothek mit dem Schlüsselwort rethrows deklariert:

// Definition von map in der Swift-Standardbibliothek
public struct Array<Element> : RandomAccessCollection, 
                               MutableCollection 
{
  public func map<T>(_ transform: (Element) throws -> T) rethrows 
                   -> [T]
}

Dieser Beitrag erklärt, was es mit rethrows auf sich hat und wie Sie rethrows in eigenen Funktionen bzw. Methoden verwenden.

Fehler in Swift-Funktionen weitergeben (rethrows) weiterlesen

Xcode-Verzeichnisse aufräumen

Xcode produziert GByte-weise Datenmüll auf Ihrer Festplatte/SSD. Diese Anleitung fasst zusammen, was Sie löschen dürfen. Die Platzersparnis betrug bei mir, nach einem Jahr intensivem Xcode-Betrieb, beachtliche 90 GByte!

Der perfekte Zeitpunkt zur Durchführung der hier beschriebenen Aufräumarbeiten ist übrigens vor der Installation des nun verfügbaren Xcode 8 GM (Gold Master).

Xcode-Verzeichnisse aufräumen weiterlesen

Raspberry-Pi-3-Buch erschienen

Soeben ist die dritte Auflage unseres Raspberry-Pi-Buchs erschienen.

pi3-buch

Und das sind die wichtigsten Neuerungen:

  • vollständig aktualisiert im Hinblick auf den Raspberry Pi 3 und den Raspberry Pi Zero
  • berücksichtigt das aktuelle Raspbian Jessie sowie Raspbian Lite
  • LibreELEC
  • Fernwartung mit RDP, neue Werkzeuge zur Bluetooth-Konfiguration, Systemd
  • offizielles Raspberry-Pi-Display (DSI-Anschluss), neues Kamera-Modul, Noise-Sensor, StromPi-Erweiterungsboard
  • raspi-gpio-Kommando, gpiozero-Modul
  • neue Projekte
    • Fitness-Tracker/Süßigkeitenkiste
    • Blitz-Sensor (Gewitter-Warnung)
    • Klingel-Pi (Geräusch-Sensor, Der Pi als Türglockenverstärker samt Twitter-Unterstützung)
    • DLNA-Server (Multimedia-Server)

Hier finden Sie alle weiteren Details!

Pläne für Swift 3.0

Mit der Geheimniskrämerei ist es vorbei: Seit Swift ein Open-Source-Projekt ist, verläuft die Entwicklung transparent. Dieser Beitrag fasst zusammen, wie Swift 3 voraussichtlich aussehen wird. Diese Pläne ändern sich laufend. Dieser Beitrag wird deswegen regelmäßig aktualisiert. (Erste Version 11.12.2015, letztes Update: 1.8.2016.)

PS: Die Liste der Änderungen hat inzwischen schon fast epische Ausmaße angenommen. Dieser Blogbeitrag ist eine Zusammenfassung der Neuerung, die mir am wichtigsten erscheinen, aber keine vollständige Referenz. Werfen Sie gegebenenfalls einen Blick auf die Seite https://github.com/apple/swift-evolution!

Pläne für Swift 3.0 weiterlesen

Fedora 24

Natürlich ist es mir nicht entgangen, dass Fedora 24 schon seit fast zwei Wochen verfügbar ist. Aber ich bin erst jetzt dazu gekommen, zumindest einen kurzen Blick auf die Distribution zu werfen.

Vielleicht lag meine mangelnde Motivation auch daran, dass es — zumindest aus Desktop-Sicht — wenig relevante Neuerungen gab. Das haben anscheinend auch die Fedora-Entwickler so gesehen: Sie haben sich gar nicht erst die Mühe gemacht, Release Notes zusammenzustellen. Marketing-mäßig suboptimal, wenn ich das mal so sagen darf …

Fedora 24 weiterlesen