When I read a book in a foreign language, I use Google Translate to help me understand my vocabulary. I built an app to import my favorite translations and help me learn them.

If I want to save some words from Google Translate, I mark them as favorites, pressing the star button for each word.

This is very useful because if I go to https://translate.google.es/ and sign in with the same account, I can export that words into an XLSX file that will be stored automatically in my Google Drive.

I’ll use this app as a playground to try and learn more about iOS, and I’ll write some articles about it.

First steps 🐣

How to create a SwiftUI project with UIKit App Delegate life cycle?

Google Cloud Platform ☁️

How to obtain an API key?

URL Types configuration 🔗

To store the Google API key.

Google Sign In, SwiftUI implementation 👤

To download Google Drive spreadsheets.

Don’t upload API Keys to Git 🔐

Or any other sensitive data.

Fetch spreadsheets 📄

Using Google Drive API.

Parse spreadsheets 🔎

Using CoreXLSX.

MVVM in SwiftUI 🗂

Is a good pattern in SwiftUI?

Core Data in background ⏳

Storing thousands of objects requires time…

Background and concurrency in SwiftUI 🧵

How to handle concurrent tasks?

Dynamic Type 💤

Make text bigger (or smaller).

VoiceOver 🗣

Read screen aloud.

Haptics 📳

Default vs customizable vibrations.

Internationalization and Localization 🌍

Are the same?

Spotlight 📱

How to create shortcuts to the app in the Spotlight menu?

Widget 🔨

How to create a widget for the home screen?

Widget Bundles 🧰

How to create more than one kind of bundle?

Quick Actions ⚡️

How to register quick actions?

Open the app 🎯

With UIApplicationShortcutItem and NSUserActivity.

Siri shortcuts 🩳

How to register a shortcut?

Reading text in screen 💬

Using AVSpeechSynthesisVoice.