Cheat-sheets Version 1.26

EN

We fixed one critical issue, crashing the app on particular devices during text formatting. The coast is clear!

DE

Wir haben einen kritischen Fehler beim Textformatierung beseitigt, welcher App auf bestimmten Geräten zum Absturz brachte. Die Luft ist rein!

RU

Исправлена критическая ошибка, которая возникала на определенных устройствах во время редактирования текста. Теперь все в порядке!

Cheat-sheets Version 1.25

EN

The last text formatting feature contained a little bug. The text color at the Apple Watch became dark after applying of text formatting. Not anymore!

DE

Die Textformatierung hatte noch einen kleinen Fehler. Auf der Apple Watch war die Schrift etwas dunkel nachdem man Formatierung angewendet hatte. Jetzt nicht mehr!

RU

Исправлена ошибка форматирование текста записей. После применения форматирование текст на часах Apple Watch отображается в нужном цвете.

Cheat-sheets Version 1.24

EN

The next highly desirable feature is coming: text formatting. Three options are available: bold, italic, underline. Formatted text can be imported from .rtf files.

DE

Das nächste häufig angefragte Feature ist da: Textformatierung. Drei Möglichkeiten stehen hierbei zur Verfügung: Fett, Kursiv, Unterstrichen. Formatierter Text kann auch aus .rtf-Dateien importiert werden.

RU

Продолжаем идти вперед уверенным шагом: добавлена возможность форматирования текста. Курсив, жирный, подчеркивание. Форматированный текст можно также импортировать из файлов .rtf.

PolterApp Version 2.15

In der aktuellen Version der PolterApp wurde wieder eine Exel-Besonderheit mit dem Import von Plättchennummern mit führenden Nullen gerade gebogen. Außerdem startet die App nun in der Polter-Liste und nicht in Polter-Details-View wie vorher. In der Einzelstammerfassung wurde das Feld “Güte” an eine andere Position nach dem Feld “Durchmesser” verschoben.

PolterApp Verisonen 2.12-2.14

Im Sektionsverfahren ist es möglich geworden, alternativ zur Gesamtpolterlänge, die feste Sektionslänge anzugeben. Dabei wird die Gesamtpolterlänge aus der Summe einzelner Sektionen errechnet. Des Weiteren wird beim Generieren des PDF-Dokuments ein Google-Maps Link generiert, der Koordinaten des Polters enthält.

Cheat-sheets Version 1.23

EN

Photos attached to the favorite notes are now synchronized with your Apple Watch! The new update of the Cheat-sheets app will be in shortly available in iTunes. In the next release of the app it will be also possible to change the quality of the photos synchronized with the Apple Watch 

DE

Auch Photos werden nun mit Deiner Apple Watch synchronisiert! Die neue Version der App steht in Kürze bei iTunes zum Installieren bereit. Im nächsten Release der Spicker-App wird auch ermöglicht die Photo-Qualität auf der Apple Watch zu verändern. 

RU

Картинки теперь тоже синхронизируются с Apple Watch! Обновление приложения будет доступно в ближайшее время. В последующих версиях Шпаргалок станет возможным также менять качество синхронизируемся картинок.

Cheat-sheets Version 1.22

EN

Changing the font size of the notes at your Apple Watch became possible with the latest version of Cheat-sheets. The new setting can be found in the Watch app of your iphone. The size is relative to the system font size.

DE

Es ist möglich geworden, die Schriftgröße der Notizen auf der Apple Watch zu verändern. Dafür gibt es eine neue Option in der Watch-App. Die Angabe der Schriftgröße ist relativ zur Systemschriftgröße.

RU

Изменять размера шрифта записей на Apple Watch теперь возможно через приложение Apple Watch. Размер задается относительно размера системного шрифта.

Swift: How to add Settings to the Apple Watch App?

One of the most asked features of the Cheat-sheets app was to add the possibility to change the font size of the cheats/notes on the users’ Apple Watch. Yesterday this feature was added to the app.

So, how to add settings to the Apple Watch? In general there are two ways to proceed. One option is to add some custom “Settings” button in your iOS app and let user to configure Watch-settings. Maybe this is also the way I’ll go in the future. But for now I decided for the second option to utilize the standard way that Apple suggests, i.e. settings bundle.

How to add Settings-Watch.bundle to your app is best describe at the Apple’s docs. I also found useful this blog posting. Following steps are required:

  1. Add Settings-Watch.bundle file to your iOS target. Yes, to your iOS app and not the WatchKit target 😉
  2. Enable the App Groups capability for your iOS app, WatchKit extension, and Watch app
  3. Important: add the ApplicationGroupContainerIdentifier key to the Root.plist file of your Settings-Watch bundle. Place the key somewhere at the top level of your property list. Set its value to the identifier you specified in the App Groups capability
  4. Define your settings
  5. To localize your settings bundle just duplicate lproj folders and call them like de.lproj or ru.lproj. Use Root.strings files for translations.

So now the settings must be visible in the Watch-App of your iPhone like this:

To access the settings in your Watch app, i.e. some WKInterfaceController just use the code:

let defaults = NSUserDefaults(suiteName: "group.com.example.MyWatchKitApp")
let enabled = defaults?.boolForKey("enabled_preference")

In the Cheat-sheets app the changes of the Settings are immediately seen in the Watch-App. Be aware that your Watch app will not be notified about changes in your NSUserDefaults, because they are changes in another process. That is why this will not work:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "loadFontSize", name: NSUserDefaultsDidChangeNotification, object: nil)

You have to add KVO observer to every parameter in your NSUserDefaults:

let preferencesUserDefaults = UserDefaults(suiteName: "group.com.example.MyWatchKitApp")
                preferencesUserDefaults?.addObserver(self, forKeyPath: "enabled_preference", options: NSKeyValueObservingOptions.new, context: nil)

To listen to the changes just override the function:

    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        
     // do your stuff here
    }

And of course do not forget to unregister the observer if you do not need it anymore.

Cheat-sheets version 1.21

EN

Photos! Actually, Cheat-sheets was initially planned to be a pure text based app. But this feature was so frequently asked, that it cannot be ignored anymore 😉

DE

Fotos! Eigentlich wurde Spicker anfangs als reine Text-Anwendung für kurze Notizen. Doch die Einbindung von Fotos wurde so oft gefragt, dass es nicht mehr ignoriert werden konnte 😉

RU

Фотки! Вообще то, изначально Шпаргалки задумывались как приложение исключительно для быстрых, коротких текстовых заметок. Использование фотографий осознанно не подразумевалось. Однако пользователи так часто спрашивали, что игнорировать общее настроение стало уже просто неприлично 😉