Read the transcript
Jeroen Leenarts: Hi, welcome to
the sixth sixth episode of my
podcast. My name is Leenarts.
And I've been developing
software for over 20 years
developing iOS apps for over
nine years and running that code
katfoe. For eight years. If
you're an iOS app developer, you
should listen to a podcast
because it will keep you updated
on interesting articles,
conferences and events you might
not have heard about. In this
episode, I'm going to talk about
hosting your Swift library docks
on GitHub Pages, special effects
with Swift UI, how to create
asynchronous swift command line
tool with async parsable
commands, how to more gracefully
handle non optional core data
properties in Swift and Xcode
through the years. Last week,
it's been a really busy week for
me, so I released a lot of
content. And there's one
specific thing that I really
want to talk about a little bit.
And that's the Twitter space
thing that I did with a
colleague of Stefan, it was
really enjoyable. And I was kind
of surprised with the amount of
people that showed up in the
Twitter space, because I was
expecting like, you know, maybe
five or 10 people. But in the
end, we had like, 50 people
listening. And I think at some
point, we had over 100 people
listening. So it's good thing
that I didn't see these
statistics while I was doing my
Twitter space, because probably
I would have caught some some
stage right then and there.
Because, yeah, it was a lot more
than I expected. And also, I
must say, the effects of the
Twitter space, and they've been
amazing. The tweets that we were
sharing before the fence about
Twitter space, they got a lot of
traction. So that was a good
thing. And yeah, we're gonna do
it again this week. And we're
going to focus the next Twitter
space that we're doing this
week, even more just on on the
stuff that we want to talk
about. So I hope you can join us
again, this week, it's going to
be Wednesday evening, in Central
European Time. And yeah, who
knows, just have a look at my
Twitter and can find the Twitter
space.
Another thing that was quite
interesting was a little script
that I wrote for my website.
It's really simple. It's a
parsing of the RSS feed of my
blog, and then are filtered on
attack that it adds to all my
interview episodes. And it's
basically a listing of all those
people. And I'm actually
approaching 70 people that I've
interviewed from a podcast, I
was kind of shocked by the sheer
number of people. And yeah, I
must say that that was very cool
to see that. In all the time
that I've been doing this
podcast, a little over a year
now that I was able to just
interact with so many people. So
h1, I've looked at it, I will
make sure to link it from the
show notes. Because this
specific page is not linked for
from a website yet. It's app
force one dotnet slash podcast
slash interviews.
On another note, here in the
Netherlands, most Corona
restrictions are now lifted
again, there's still a few
things in place, you can't go to
the can you can't go to the
restaurant or cafe or pub after
10 o'clock in the evening. In my
specific case, not a big issue
really. I'm just more looking
forward to the rest of the year.
Because one of the conferences I
plan on attending swift Heroes
is now selling tickets, and
never really good deal if you
want to get an online tickets as
well. So check them out at Swift
heroes.com. Also, I would like
to thank my sponsor runway,
check them out. They also have
open positions. So look at a
website runway dot team. So now
let's dive into the articles of
this week. First one I wanted to
talk about is hosting your Swift
library docks on GitHub pages.
So the better for Xcode 13.3
dropped yesterday, when it came
a released version of Swift 5.6.
And a bunch of neat additions
that the 5.6 release enables a
feature that Joseph was really
looking for are two things to
capability for plugins to extend
the commands available within
Swift package manager, and a
static hosting option that was
added to the documentation
compiler tool Doxie, that Apple
announced an open source this
past year, the two elements came
together with the initial
release of these fifth Doxy
plugin, a plugin to Swift
package manager that adds the
ability to generate
documentation on the command
line with the command Swift
package generate documentation.
And what this command enables
you to do is generate a static
version of your doc see
documentation. So that's
probably something you can host
on a static web service. So in
article by Joseph hack, he will
go into the steps that you need
to take to make sure that you
can host your doc see
documentation on GitHub Pages,
that's pretty much amazing
documentation that you can then
host on a free service. And I
think this is going to be very
interesting for a lot of open
source libraries. Because of
course the documentation is
available within Xcode. But how
cool would it be to just Have it
navigable and searchable on the
internet as well, right? There
are still some caveats and rough
edges around the generation of
documentation and publishing it
on GitHub Pages. And those are
all nicely listed on the website
by Joseph heck, check it out.
And let's dive into this new
Xcode better. And this is one of
the coolest features that's
actually in the new Xcode
release. The second article I
wanted to talk about was by Paul
Hudson, the special effects with
Swift UI. So I'm just going to
read a little bit of this
article. Everyone knows swift UI
does a great job of creating
standard system layouts with
lists, buttons, navigation
views, and more. And while it's
really useful, all doubts that
most people would call it fun.
In his article, Paul is going to
show you how to use fifth wire
to build something fun,
beautiful. And unlike anything
you've seen before, you'll need
at least Xcode 13 and iOS 15 or
later, but you also need to
download a single image from the
site by Paul Hudson. So in his
article, Paul details, a
particle system that requires
very few lines of code to
implement, and the effects that
it can generate are quite
substantial and interesting. So
just have a look through this
article, maybe play with sample
code a little bit, maybe follow
along with the article yourself
and just have a play with all
kinds of cool things that you
can do within iOS and Swift UI.
So the third article I wanted to
talk about is called How To
Create asynchronous swift
command line tool with async
parsable commands by Anton Swift
argparse package provides great
infrastructure to write command
line interfaces. And normally, a
CLI tool processes tasks in
synchronous ways, one command
after the other, but sometimes
when interacting with long
running tasks such as
communicating with remote
servers, you want to give your
users obviously like the
feedback about the progress, and
also to show any errors that
could have happened during the
processing. So currently, there
are different ways to create
asynchronous CLI commands using
Swift argument parser such as
run loop main run dispatch, main
and dispatch, semaphore, these
API's might regret but it's
quite complicated to integrate
into a command line interface in
his article and tries to
introduce you to a new incoming
feature on Swift argument
parser, which simplifies the
writing of asynchronous CLI
commands a lot by using async
await keywords and converting
your main entry commands into
async main, you can call your
asynchronous command sequence
with simple API's, but still
have things of course, happening
asynchronously. So have a look
at this article. It's quite a
nice overview of an incoming
feature on the Swift argument
parser. And I think you'll like
it, because once you get started
developing your own small little
command line utilities for
development, it's it's amazing,
it's a superpower, it allows you
to automate a lot of things. The
fourth article How to more
gracefully handle non optional
core data properties in Swift is
an article by Justice quires,
about some strategies that you
can use to make sure that non
optional core data properties
don't crash your app and how you
can deal with these in a
relatively graceful manner. So
if you're dealing with Core Data
a lot in your code base, and
you're having some runtime
issues with the occasional
random crash, have a look at
this article, because there's
bound to be some tips tools in
there that you can immediately
apply on your codebase to
improve your quality of life
with Core Data. And the final
article of this week is a sort
of, well throwback article. It's
by a Martian craft. It's written
by Corey Bohan. And it is Xcode
through the years. So it's a
nice overview of all the Xcode
versions that we have seen.
Right from the start when Xcode
was released, initially, almost
20 years ago. Of course, we are
talking a little bit about the
predecessors of Xcode swell,
mainly project builder. And it's
just awesome to see how right
from the start within the IDE
that Apple produced. There were
already some concepts in there
that we're still using today,
have a look at this article.
There's a lot of screenshots in
there that allow us to just have
a quick cursory overview of
everything that has happened to
the ID that we use every day.
And now to wrap things up.
Let's have a look at Tony's
Monday morning tweets. First
off, I was again one of the
first people to respond to
Danny's tweet. And my plans for
this week are to write an
article a newsletter record a
video and a podcast episodes
publish a newsletter, you can
sign up to that point from a
Twitter profile onboarding a new
team member co hosting a Twitter
space and running through a few
tutorial to check correctness
and then there's of course the
mandatory meetings that you have
to attend goal is to have a lot
of fun while doing that. I feel
that Nemecek came to the
realization that promoting his
own projects on this block is
quite a good idea. So he put in
Prescott iOS feeds in the apps
catalog and Django blocks on his
blog. Daniel Messiah published a
menu bar huge player to the Mac
App Store. He needs to want to
keep listening to DQ mix even
when he abruptly quits his
browser. So it's free by the
way, so have a look at that one.
Tim is enjoying some time off
from work and study after
passing his graduation
presentation and defending it
successfully. It's been a long
fun and interesting and somewhat
happy four years combined to
work and study but he's caught
there. Congratulations man.
Piazza Janeski is working on
some swift UI app for the next
weeks. His target is to use 100%
Swift UI without UI Kit code for
the MVP. So he hopes he can make
it. And he's definitely planning
on having a lot of fun. Francis
Fang mentioned that he got his
new app approved a bookmark
manager for Mac OS and iOS
earlier today. And he's now
working on a new feature for the
iOS version commutes mentioning
that he's adding subscriptions
to his app receipts see, using
revenue cat, and he's probably
going to enjoy that one because
revenue cat has an awesome API
flow, right? Skullz mentions
that he had an awesome weekend.
Last week, he hacked away at an
app, an Xcode extension, really,
that automatically localize the
Swift UI code. You just need to
select the Swift UI view or a
file and specify the language xe
localize. It just does
everything else. Unreal.
Eskalene has been working on a
new app, and he released it last
week. It's the Mac version of
email me app. So you can find
more about this app. At email me
app dotnet, Charles Albert
mentions that he publishes new
websites where he shares his
bike packing and backpacking
adventures. And he really likes
that he's able to combine code
design and his hobbies in one
package. So if you look at all
the tweets on Danny's Monday
morning tweets, it's basically
people adding new features and
launching them to the App Store.
And yeah, that's just amazing to
see small little tweaks that
just make the life of all their
users much better. So I'd say
keep at it and keep on pushing.
And I hope to talk to you again
next week. If you have any
feedback, please let me know on
Twitter, at Air Force One, you
can send me a message there or
send me a DM they're always
open. Talk to you again next
week.