Read the transcript
Jeroen Leenarts: Hi, my name is
John Lennon's and I've been
developing software for over 18
years developing iOS apps for
over nine years and I've been
running the Dutch Coco's for
close to eight years. If you're
an iOS app developer, you should
listen to my podcast because it
will keep you updated on
interesting articles, and events
you might not have heard about.
In this episode, I'm going to
talk about automatically switch
to build lock for Xcode
shortcuts to get back your
screenspace to jump bar in Xcode
implementing drag and drop for
collection view, Swift UI swipe
actions, unit testing to
pragmatic guides are where to
start async await in Swift
explained with code examples.
Modern concurrency in Swift
introduction, cooperative task
cancellation, Swift actors
tutorial a beginner's guide to
thread safe concurrency copy on
assignment versus copy on write
in Swift, fixing a hard to find
buck in dark mode, and how to
fix math Oh, header code
0x 72613 C two one when you try
to export your app in Xcode. So
as you can notice, that's a lot
that we need to talk about. But
there's a reason for that. And
you might have noticed that if
you listen to my podcast every
episode, there's been something
different over the past two
weeks. And that's been because I
was on vacation for two weeks.
So I pre recorded all my stuff
for the past two weeks and
published it right before my
vacation, scheduled everything.
And then when my mirror away and
enjoyed some time off with my
family. I hope you enjoyed my
modification as well as much as
I did, because the content was
still coming. But the only
drawback is that I have like a
ton and ton of links to go
through. And after my first
selection, I ended up with 22
links. And I've been able to
reduce those to the 13 links
that I just mentioned. Before we
dive in, I really want to do a
big shout out to Chris Jackson.
He's a bot fan member on my pot
fan page. And yeah, he thinks my
podcast is awesome, and he wants
to support my work. And if
that's something that you would
like to consider as well have a
look at my pot fan page bottle
fan slash app Force One, have a
look there and you will get
early access to my recordings
with interview guests. And it
can be a couple of weeks before
I can actually publish an
interview. At the moment, I
already have two interviews in
raw format available. By the end
of this week, there will be two
more that will be available in
raw format as well. And that
will be cleaned up and published
at a later date. So just to get
things started, let's dive into
a section of a few X codes.
tips. The first article is by
adults don't automatically
switch to build lock. One often
overlooked feature of Xcode are
behaviors. In his article,
Dustin will go into more detail
about behaviors and how he can
use them in his daily workflow
with Xcode. In his first article
on this topic, he already has a
nice little tip that allows you
to switch to the build log when
you actually create a bill. So
you don't have to navigate to
those areas yourself. But of
course, there's a lot more to
these behaviors and have a look
at this article and then have a
look in Xcode. And I think there
are some settings in there that
you might like to enable or
specifically even disable. The
second article I want to talk
about is by saloon for Xcode
shortcuts to get back your
screenspace. Working with Xcode
without an external monitor is a
nightmare. It's specifically the
nightmare of saloon to screen
resources and limited one on a
MacBook and many parts of Xcode
try to take a lot of space on
your screen. So he has a
screenshot of how an Xcode
projects might on how an Xcode
project might look on an on a
MacBook. And in this article, a
saloon would like to share four
Xcode shortcuts that you can
quickly press to get back some
screen space. So these are the
shortcuts to toggle the debug
area, the Navigate area, the
inspector area and the focus
editor. Have a look at his
article to figure out what these
key commands are. And two of
these I actually use day to day
and I'm trying to get some
muscle memory for one or two
more of these shortcuts that CRN
has mentioned because they're
very convenient. And once you
have like FM in your workflow,
you can just work in Xcode and
grab back some screenspace when
you need it.
The third article is called the
jump bar in Xcode. It's also an
article by gusto. And this is a
this is something that I use for
one specific area as well.
That's the Ctrl six shortcut
tried in Xcode right now if you
can, or remember to try it when
you get back at your machine.
But Dustin goes into a number of
other shortcuts that are based
on the control 123456 type. So
apparently there's a lot of cool
features in the job. part you
can just access by pressing Ctrl
and then a numeric key, look at
the article by desktop and see
if there's something in there
that can really improve your
workflow and make using Xcode a
little bit more convenient for
you. Now, the second batch of
articles that I want to mention
are more in the area of UI
development. The first article I
want to mention in this area is
implementing drag and drop for
collection view. Philip Nemecek
has written an article on
implementing drag, drag and drop
for collection views. While he
was working on switch buddy for
iPads, he got the idea for drag
and drop, which would allow us
to open the app with files for
example, side beside and then
drag images from his app to the
files app. So he discovered that
getting basic drag and drop to
work is not complicated. And in
his article, he will show you
the minimum implementation that
you need to do to get drag and
drop to work so that you have a
starting points to develop upon.
Next up is Keith Harris with his
useful your loaf blog. He has a
similar article as Phillip
Nemecek. But then on the
specific topic of Swift UI,
swipe actions, Apple added table
row, swipe X to UI Kit back in
iOS 11. In iOS 15, they come to
Swift UI. And in this article,
he showcases how you can
actually use these actions, the
swipe actions in Swift UI in iOS
15. So it's an iOS 15 specific
API that you're dealing with.
But it's so convenient and so
easy to add swipe actions to, to
yourself that it's, it's just
too good not to try. And then
onwards to the next topic that's
on unit testing. It's an article
by Marina Gordon Mustapha. It's
called unit testing the
pragmatic guide to where to
start up sorry, I should correct
myself unit testing the
propeller guide on where to
start. So when you decide you
want to start unit testing your
code in your project, you might
be working alone or in a small
team. And you might feel a bit
uncertain on where to start
because unit testing is a very
broad topic. And there's a lot
of things that you have to
consider and that you actually
get from need to get familiar
with to be able to start doing
unit testing in some meaningful
form. The article by Marina is
specifically for you, if you
want to get started with unit
testing. There are many great
resources about testing. And
what Marina has done is create
an article with a step by step
guide on things that you need to
consider when you want to start
unit testing in Xcode. So
there's a bit little bit of of
practical things that you need
to do some references to
resource that are very
worthwhile to spend some time on
and to read before you actually
dive in. And also the basics on
how you need to configure your
project to be able to do unit
testing on your projects. And
then there's also some advice on
on when, where and how you
should run your test. So that
involves basic GitHub actions,
for example, or other CI
solutions that you can do to
actually run your unit test. So
it's a very wide ranging article
that that is a good preparation,
if you want to get started with
unit testing. And even me who's
done a lot of unit testing over
the years already, I was able
to, to pick up a couple things
that I'd forgotten about and to
just be reminded on some things
on why you actually want to do
unit testing. So very
recommended that you read this
article. And then there's the
next big topic and that's the
async await actor stuff, I have
a couple of articles in this
area. The first one is by Anton
formulae. He has an article
called async await. And swift
explained with code examples.
It's a very practical article, a
type of article that you that
you should be familiar with if
you read articles by Antoine
more often, and it's a very
convenient overview you can just
casually read this look at some
code, maybe try out some some of
the statements and just get some
familiarity what async await can
do in Swift for you. So a very
thorough read again by Antoine
and I must say that his articles
been like really like hitting it
for me over the last couple of
months. So if you want to get
some familiarity with async
await definitely have a read on
the article by Antoine and then
there's on the same topic pretty
much modern concurrency in
Swift, an article series by
unevenness. He's been working on
this for a while he recently
updated it to the latest better
form of Xcode and he already is
me looked at up
he's already six articles in
with writing about modern
concurrency in Swift. So he has
a number of articles and I will
link to the to the landing page
to introductory article that
links to all the other articles.
So he has articles on
understanding async await and
swift converting closure based
code into async await structured
concurrency in Swift structured
closure with group task
introduction to unstructured
concurrency and unstructured
concurrency with detached
detached tasks in Swift. So if
you Read Antoine's article, and
you feel like you're ready to
really dive in and get some
familiarity with the more
involved concepts, go to the
block of, of Andy and he will
have everything that you need to
really take a deep dive in
concurrency in Swift, or the new
concurrency in Swift, I should
say. On top of that, there was
one article that I wanted to
add, as well. It's an article by
pizza freezer. And that's called
cooperative task cancellation.
Of course, if you're running
concurrent tasks, you need some
way to actually cancel those
tasks. Sometimes maybe because
user does a cancellation or
something happens with another
task that causes that all the
other sync, asynchronous tasks
are more not useful anymore. You
want to like, save some battery
and stop this execution from
continuing in his article Peter
dives in on how you can actually
do a task cancellation on tasks
that are related to each other,
and that you want to stop if
something fails or something
needs to be stopped. It's an
it's another one of those
articles that you never know,
you never knew that you need
this until you actually do and
then you just want to know how
you should do it. And this
article tells you how. Just to
top things off on the
concurrency spectrum. I also
have an article by debo
Bowditch. It's an article called
swift actors tutorial, a
beginner's guide to thread safe
concurrency. I just wanted to
add this article by Tibor
because he has such a cool lava
graphic at the top of the
article. Well, not just that,
but also because it's such a
great article in itself, which
also explains a little bit on
why you want to be concerned
with things like thread safety
and data races. It's not
something that's really
explicitly mentioned in the
previous articles. But Timo
gives a nice addition on top of
these previous articles that
really, really will round out
your knowledge on trading and
concurrency in Swift. So it's a
bit more of a deep dive in the
basics of concurrency and thread
safety, because Grand Central
Dispatch is mentioned and some
things related to that. But it's
a really a solid article to
round out your knowledge on
concurrency and threading and
such topics on the iOS platform,
or any swift related platform
really. And then the final
articles I have for you are
three articles that are really
like, they're a bit out there,
but I just enjoyed reading them
so much. The first one is by
Iman fuzzy, by Iman fears, it's
copy on assignment versus copy
on write in Swift, it's a
technical explanation of what
the differences between these
two ways of assigning memory in
the Swift runtime copy on
assignment and copy on write is
something that is very familiar
if you have a more functional
background, in the sense of
functional programming. But
Swift, because it has some
functional programming
characteristics. It's good to
know about these concepts of
copy on assignment and copy on
write because it really allows
you to understand why certain
things work in a certain way, in
Swift. So it's it's a, it's a
fun, read some code examples,
and really some stuff to really
think about when you are just
writing some Swift code. And
then there's an article by
Justice squires fixing a hard to
find book in dark mode. I
included this article, because
it's so well written overview of
strange behavior that, that
Jesse has observed when using
dark mode. And he seems to have
spent and ton of time on
figuring out what was going on
with his book. But he is able in
his article to really bring
things down to basics and give a
concise overview of what was
going wrong, why it was going
wrong, what the behavior of the
bug was, and how he was able to
fix it. And the last one article
is by a Christian teacher, it's
called How to Fix a mock our
header codes, some long codes,
and when you try to export your
app in Xcode, it is something
that I ran into myself
personally. And I just wanted to
include this article because it
pretty much saved my bacon. Like
two weeks ago, I really ran into
the same issue myself. And it
just struck a nerve with me
because it was very close to me
in my day to day work. So big
shout out to Christian for this
article. You really helped me
out with this one. So I just
wanted this to share this. This
victory with with everybody
that's listening to my podcast.
Okay, and then we're already
back at dawn is Monday morning
tweets. Yeah, I can I can really
dive into it. But my episode is
already quite long. I can give
an overview. What I've noticed
on all the responses that Danny
has been getting over the last
three, Monday's I should say,
Yeah, three Monday. So that's
today. And the Monday of the
last two weeks is that, again,
people are releasing a lot of
new app updates. But people are
also really enjoying their
vacations. I'm seeing lots and
lots of pretty pictures of
landscapes and fun poolside
events, and people just enjoying
themselves and traveling within
limits due to the whole Crona
thing that we won't dive into
that too much. But it's just
great to see that so many people
are taking the time during the
summer to spend some time with
their families and friends or
other loved ones. And just
basically just try and unwind a
little bit after the craziness
of the last 18 months. So that's
really good. And I will dive
into the Monday morning sweet
but Donnie, a bit more next
week. So again, thanks for your
time. Thanks for listening. And
I'm already getting closer and
closer to 100 episodes on my
podcast because this is episode
40. But it also done a lot of
interviews. And if you combine
those together, then I'm already
past 80 recordings that I
published. So yeah, seems to be
going on right, this whole
podcast thing so talk to you
again next week. And again, if
you want to support my podcast
have a look at bots dot fan
slash app force one