Read the transcript
Jeroen Leenarts: Hi, welcome to
the fifth seventh episode of our
podcast. My name is Nora
Leenarts. I've been developing
software for over 90 years
developing iOS apps for over
nine years and I'm running the
Dutch cocoa has for over eight
years. In this episode, I will
talk about adding Doxy to an
existing Swift package, how to
digitally sign a PDF using UB
key confirmation dialogues in
Swift UI, mastering progress
view in Swift, UI, Swift actors,
how do they work and what kinds
of problems to resolve. So let's
get started. November is almost
over when I'm recording this.
And it's been an interesting
month for me, first of all,
started a new job, which is
going great. I'm really enjoying
myself, so no issues there. The
other thing is that my wife, she
suffered a concussion and she's
now in her fourth week
recovering from that. So it's
bit of a, it's a bit of a
handful for me to keep
everything running while she is
sort of like getting better
every day. Just running errands,
running the kids doing a new
job, making sure that she's
comfortable when she needs some
help, because she can do all the
things that you would normally
expect from your partner. But
she does get targets a lot more
quickly compared to what she
usually as in her energy levels.
So getting through it, and it's
almost Sinterklaas here in the
Netherlands, not going to go
into too much of the details in
the history of this children's
feast in the Netherlands. But I
do know that my kids are really
looking forward to it. My
daughter she is now at the other
side. She knows how things
really are. But my son, he's
still in the in the age group
that you completely believe that
Sinterklaas is real. And that
there's like this old guy coming
from Spain, bring presents to
kids. So it's a crazy tradition
in the Netherlands, you should
look it up and have a laugh. And
also have some thoughts on the
historical context of this feast
and how this actually fits in
the current timeframe with
inclusivity. And such things
because it's a difficult topic
in the Netherlands to talk
about, just know that I'm on the
site, that I really enjoy the
feast for my kids. But I do note
that we have to take into
account the sensitivities that
historically might be attached
to some of the portrayal of
characters with this feast. So
just wanted to say that after
since class, my kids will have
the next best thing that's like
birthday, because then my son
will have his fourth birthday, a
couple of weeks later. And once
we survive that, then it's time
for Christmas, even more
presence, so even more crazy
kids. So I'm going to be happy
once it's January a second,
because of course January 1 is
also a festive day. And then
yeah, we have survived the
December month, and hopefully,
only one piece. There's some
trouble in the Netherlands. So
with COVID Still, we have like a
somewhat of a some restrictions
are in place for at least three
weeks. So hopefully, they will
work and we can get out of these
restrictions soon. Otherwise,
they will be extended. But we'll
just have to see. In the
Netherlands, we're really
dealing with the Delta version
of the virus like the rest of
the world, really. And now
there's all this story of this
Omicron fresh enough to fire. So
I'm at the stage that I'll just
do whatever the government is,
has requested of us and keep a
sane mind as much as possible.
So that's a little bit of
exercise, just enjoying my work,
enjoying my family, and just
making sure that we stay sane
and in one piece here in the
Netherlands. So let's just dig
into the articles of this week.
The first article I want to talk
to talk about is adding Doxy to
an existing Swift package. So
during WWDC 21, Apple announced
that they would be open source
and documentation tooling Doxy.
That's the tool that Apple used
internally to build and provide
documentation. And at the end of
October 2021, the initial
version of Doxie was released,
available on GitHub scattered
through multiple repositories,
Apple hosts documentation about
Doxie at its developer
documentation sites, but there
is still some things to figure
out with Doxie. And in his
article, Joseph explains his
experience with using Doxie and
how he can use to document an
existing Swift package. It's a
nice overview of the syntax that
you need to use and some caveats
that you need to be aware of and
how you can make sure that the
doc see comments, show up in X
codes and actually help you in
your development process. So
almost to an article by
pspdfkit. How to digitally sign
a PDF using the YubiKey. So why
did I pick this article? It's
it's an interesting topic to me
using the YubiKey to increase
your security. For people that
don't know a YubiKey is a
hardware device manufactured by
at Yubico that supports public
key cryptography. It's the
ciphers size of a small USB
drive. And it's commonly used to
protect access to computers,
encrypted documents and sign
files. There are several YubiKey
models on the market. Some of
them support USB connection,
other support wireless
connectify NFC in the article by
piece PDF kits, they explain how
you should prepare your YubiKey
with some certificates, and how
you can create an iOS project
that integrates the YubiKey SDK,
with the PS PDF kits PDF SDK, so
that you can sign PS PDF, so
that you can sign PDF files with
BT it
is difficult. So Rich can sign
PDF files with pspdfkit, while
using the YubiKey SDK, so a lot
of things in there. But what was
very interesting to me is that
this is a nice example of how
you can use the iOS SDK provided
by Yubico. To integrate YubiKey
into your own application. And I
think if you have higher
requirements for security, then
using YubiKey is an excellent
solution. And also, it's fun to
just play around with the
YubiKey. Because I have a couple
at home myself, I use them for
logging into various things. But
I always want to get it into an
IRS code base. And this is a
nice sample to get started. And
to get some experience in how
you can actually integrate a
YubiKey into your code. Better
Felicia has a article called
confirmation dialogues in Swift
UI. It's a article in which he
tries to replicate Apple's
Reminders app. It's a nice
overview of a specific dialogue
in Reminders app. And what Peter
tries to do is see if it's
possible to replicate Apple's
reminder app using just pure
swift UI. And Firebase, because
Peter is the developer advocates
of Google Firebase. So he can be
sure that he's using their own
software, while creating this
nice sample application. So it's
a it's a nice overview that
walks you through an
implementation of a confirmation
dialog for the edit screen of
the sample that Peter is using.
And he was pretty successful
with replicating the apples
Reminders app as closely as
possible. But of course, there
are still some things that Apple
keeps to themselves. And that
was difficult for Peter to
replicate with just pure swift
UI, as within Majid, has written
an article called Mastering
progress view in Swift UI. So
many of your apps do heavy work
on background threads, like
networking, or data processing,
and you usually want to display
some sort of progress or
activity to the end user about
your work that's still ongoing.
In this week's article, Majeed
shows you how you can use
progress shield to present both
indeterminate and determinant
progress and swift UI. So
indeterminate progress is of
course, just a spinner, usually,
maybe with some text attached to
it, and determined progress.
That's like a progress bar. So
that's, for instance, there's
like 10 items of work of a total
of 100 items done. So then you
have a progress bar that is 10%
completed, and you still have to
wait for the rest of the
progress bar to fill. So what
magic does is show these kinds
of activities slash progress
indicators, and how you can use
this view that might seem very
simple, but it provides an
excellent, excellent, but it
provides an excellent level of
customization and styling
options, and Majeed hopes that
he is able to show you that in
his article. The final article
of this week is by Johnsonville,
on his blog, Swift by sono, it's
about Swift actors, how do they
work and what kinds of problems
to resolve. Since the very first
version of Swift, you've been
able to define various types of
either classes structs or enums.
But now it's the launch of Swift
5.5. And its built in
concurrency system a new type
declaration cute has been added
to the mix it's actor. So in
John's article, you can explore
the concepts of an actor and
what kinds of problems that you
would be able to solve by
defining a custom actor type put
in your own code base. So he
goes into several topics. So
being preventing data races, how
the actor can prevent race
conditions in your code. Of
course, if you do things wrong,
or if you actually do some
things incorrectly, then the
race conditions can of course
still happen. But John clearly
indicates access are a fantastic
tool when you want to implement
a type that supports concurrent
access to its underlying state
in a very safe way. It is
important though, that you
remember that turning a type
into an actor will require you
to interact with in an
asynchronous manner. And that
usually makes it requirements
that such calls are a little bit
more complex, and maybe even
slower to execute. John hopes
that this article gives you a
few ideas on how you could make
use of access within your code
that you're working on. And now
onwards to done these Monday
morning tweets. Let's just start
at the top
Daniel Steinberg is playing with
Swift package manager and
developing in public. So he's
working on an app that produces
slides using code highlighting
style to make producing videos
quicker flow read codes, writes
that he hopes that Don is doing
well. And yesterday started work
on new Mac OS app forge for any
developers. It makes it super
easy to create marketing images
for your apps. Adam Rush is busy
writing articles for his new
swiftly rush blog site. And he
hopes he had a great weekend.
Jurek mentions that his app got
approved today. So that's the
advanced screen share app, and
he posts a link to the in the
App Catalog. If Ben Porat says
good morning, Donnie, and we are
celebrating Hanukkah this week.
And he's still recovering from
the booster shot that he got
last week. And Kaku just
launched an update starting to
integrate his app with others
through deep links. And
hopefully, his users will
appreciate that and calculus
Japanese dictionary app for with
collaboration features in it.
Paul mentions that the finished
product with Paul Hudson this
week, it took way longer than he
expected to read this book
Francois says that he's Mohammed
mentions that he's reading a new
book. Obviously, it's a book by
Tony practical corded, you
should have a look at it as
well. It's a great book, Trent
is wrapping up some
documentation for his strip to
our pagination carousel package.
It's available for use now. But
readme still needed some
attention. topload giraffe, made
some markers for officials to
the code and wrote something
about the making of them. And
they shoki finished a Jaffa
project for college. So a lot of
things people are doing, it's a
bit all over the place, which
you could expect because for the
US listeners, they are aware
that it's Thanksgiving. A lot of
people have some time off. And
then usually the fun begins with
all kinds of weird and
interesting things you can do
with with source code provided
cash through time between all
the family engagements. So all
in all, I hope everybody who's
into this had a nice
Thanksgiving. And if you're not
into this, then hey, by all
means enjoy December because
that's going to be a festive
month as well. I think there's
some other holidays ongoing or
happening soon or already have
happened. So irregardless of
what holidays you adhere to. I
hope you will enjoy them and
talk to you again next week.