CouchDB client for Swift version 2
Recently, I’ve released a few new versions of the CouchDB client for Swift. The latest version is version 2, and it includes several key changes:
- Updated the minimum required Swift tools version to 6.0.
- Adopted Swift Concurrency. CouchDBClient has been updated to be an actor.
- Renamed the library from couchdb-vapor to couchdb-swift to better reflect its purpose as a general CouchDB client for Swift, beyond Vapor-specific use cases.
- Made some changes to the initializer. Instead of passing a lot of parameters, it now accepts a Config structure.
- You can pass your own HTTPClient instance to be used in the client.
- Added translations for error messages.
- Introduced a dedicated tutorial for integrating CouchDBClient with the Hummingbird server-side framework.
- Added a shutdown() method to properly release resources associated with the HTTPClient.
CouchDB Client on GitHub | Documentation with examples and tutorials.
comment commentsAdding translations to an app or a package with AI help
In the previous article, I've explained how to add a Strings Catalog to a Swift package to support localizations. Now, we'll try to translate it into more languages.
comment commentsLocalizing a Swift Package with a String Catalog
Recently, I've been working on a Swift Package with some strings that I wanted to localize. Apple's documentation on this topic seems to be a bit outdated. The documentation still suggests using language-specific directories for localizing resources and strings.
But, at WWDC 2023, Apple introduced String Catalogs. It's much more handy - just a JSON file that Xcode can fill with all the strings that need to be localized. Most of the examples you can find are about apps, not packages. So, I've spent some time trying to figure out how to use String Catalogs in a Swift package.
comment commentsFunny thing in macOS Sequoia with iPhone Mirroring
One of the new features in macOS Sequoia is iPhone Mirroring. You can connect to your iPhone, see its screen and control it.
My Mac is using 2 folders to store apps: one is in the user folder ~/Applications, the second is the system applications folder at /Applications.
One day I created a search filter in Finder and saved it to have all the available apps in one place, also did put it to the sidebar in the Favourites section.
But also I love to have a shortcut in the Dock. So I've added a grid here too. It worked as I expected until I updated to macOS Sequoia and tried the iPhone Mirroring app once. Now the grid shows some apps from my iPhone too:
An interesting thing is that only Dock's grid shortcut shows the apps from my iPhone, but not the search in Finder.
And here comes the funny part - that's what you'll see if you will try to launch an app from your iPhone:
macOS 18.0 or later? Really? I wonder if that's some feature planned for a future macOS update. Will see :)
comment commentsAppMetric 1.12.0
Вышло обновление для AppMetric, версия 1.12.0. Допиливал его в свободное время. Из нового в последних версиях:
- Ревьюверам Apple почему-то не нравится теперь OAuth-авторизация через Safari, пришлось переделать через встроенное окно с WKWebView. Надеюсь, в следующем SwiftUI наконец-то появится свой WebView, и больше не придется использовать обертку.
- Добавил кнопку для быстрого перехода на статистику приложения на сайте Appmetrica.
- Добавил просмотр статистики в виде графиков - как каждого показателя, так и всех показателей вместе. Всего спустя 7 лет после того, как один из пользователей попросил добавить графики :)
- Добавил перевод интерфейса на несколько языков. Благо, с помощью ИИ это сделать теперь совсем просто.
Revamping Documentation with AI
Recently, I’ve been updating docs for the CouchdbClient library. After struggling with some phrases, I decided to try AI to do that for me. Microsoft has Copilot as part of Bing search in the Edge browser.
comment commentsAppMetric 1.9
Обновил AppMetric для macOS - клиент для сервиса AppMetrica от Яндекса.
- Исправлена ошибка, когда при выборе сегодняшней даты она не обновлялась при смене дня.
- Добавлено форматирование цифр показателей (в зависимости от языка и региона в системе).
- Небольшие исправления.