Read the transcript
Jeroen Leenarts: Hi, and welcome
to the fifth third episode of my
podcast. My name is Sean Lennon
and I've been developing
software for over 19 years
developing iOS apps for over
nine years. And I'm running the
Dutch Cocottes for over eight
years. If you're an iOS app
developer, you should listen to
my podcast because we'll keep
you updated on interesting
articles, conference and events
you might not have heard about.
In this episode, I'm going to
talk about what's new in Xcode
13 to beta one, how to capture
touch events outside you if you
bounce, Josh and one Mac
development environment,
dangerous logging in Swift,
Xcode benchmarks. And of course
done is Monday morning tweet. So
today, it's been a big day for
me, I had my first day working
at my new job. And it went well,
not overwhelmed yet going to
fetch my new laptop tomorrow. So
and then after that, I'll be
setting up my environment on
that system, and then really
dive into code and see what
things I can do on my job and
things I can learn goal is to
have an onboarding process that
lasts me three months. So that's
quite significant. And I'm
really looking forward to having
some more conversations with my
new colleagues later this week.
Mango for now is just to get
started and get familiar with
the people. And after that, it's
time to dive into all the
technical details of the
implementation that we're
working on at stream. So all in
all, very positive first day,
one day is not much yet, but who
knows what I can mention next
week. On a more personal note,
we had some good news. My three
year old is allowed to start his
swimming classes for real on
November 27. So he's been dying
to get into the pool every week,
we've been taking him since he's
three months old. And now he's
having more like playtime
classes in his in a swimming
class, but from November 27,
it's actually aimed at getting
him to swim properly, and ended
up with a swimming diploma. It's
something that you need in the
Netherlands, because there's a
lot of water here. Once we told
him he was very happy. But then
of course, the next day, in his
small three year old minds, he
was mentioning that he am a
little bit scared of these new
classes. So will I do okay,
which is very fun to hear him
express it so well. Even with
this young age, I think he'll
manage not much else to mention.
So let's dive into the first
article of this week. And that's
what's new in Xcode 13 to better
one. And well, maybe you haven't
heard but Xcode 13 Datu will
definitely be remembered as the
release that brought us swift
concurrency backward
compatibility, yes, you heard
that correctly, despite just
that big fact already. There's
also some very cool swift UI
updates in there, and Federico
Donatello takes us on a tour of
what's new in Xcode 13.2.
Normally, I don't mention Xcode
versions on the podcast. But I
did want to mention this one,
especially in the article by
Federico because he has some
nice screenshots with code
examples on what's new in Xcode
13, the two better one, so if
you want to update yourself
quickly, have a look at his
article. The next article I want
to mention is by Pete Smith,
it's on how to capture touch
events outside UFCU bounds. When
working with touch events in iOS
UI Kit provides most of what you
need. In the case of UI button,
you register the action you want
to take when a user taps the
button. For example, when a user
taps anywhere on the screen and
the tap is inside frame of your
button. UI Kit identifies your
button as the target and the
specified action is performed.
However, when a taps inside the
frame of your button, but
outside the bounds of its parent
field, by default, the action
will not be called. It's a very
specific scenario. And what B
does is take you on a tour on
how I was able to figure out how
we can have the behavior that he
was looking for, mainly a button
that is outside of its parent
fuse, bounce and still register
defense. What's funny about this
article is that it takes you on
a tour on what respondent
objects are and why they are
important in the context of UI
kid based application. It's
pretty much some trivia, but
once you know what to respond to
and respond to changes, you can
do some really fun things with
that in future implementations
of your app.
So have a look at the article
and let me know what you think
of responders and respond to
changes in your code. The next
article is by Josh Holtz. He's
been on a bit of a vision quest
you could say on how to get an M
one Mac development environment
set up correctly with homebrew
seashell, Ruby and Python
version managers. what Jesus has
done he's been successful in
creating such an environment and
he recorded a video about it and
he also wrote a blog post about
it. So I'm linking to the blog
post because I like articles
written form. And it's a solid
overview of what challenges he
ran into and why it could be
difficult on your M on why it
could be difficult on your M one
Mac to set up a decent
development environment. If you
are dependent on some external
third party tools. Daniel jacket
wrote a nice article called
Dangerous logging in Swift, it's
it's a simple situation that he
ran into while using NS log from
his Swift code. But the
simplicity of the issue that he
ran into is what makes it hard
to discover and too hard to
debug why things are going
wrong. Basically, what it boiled
down to is that when he was
using NS log to log information
to the console, a swift string
that the interpolated swift
style, into the NS log as the
first argument, so happens to
contain formatting that is
pretty much Objective C style
template strings. So that's the
case that you do an NS lock with
a percentage at and that you
have to pass in a variadic
argument to fill in those blanks
in your format string. So very
fun. Little discovery that
Daniel did it support, it's, of
course, it is all of course,
working as Deepika. It is, of
course, all working as designs.
But this is one of those cases
where language interrupt between
Objective C and Swift can really
bite you in the, you know where.
So have a look at the article
and see what you think of this
and maybe do a look in your own
code to see if you could
actually run into the same issue
as well. Now, of course, we all
know that there's been some
great new hardware released by
Apple, and a lot of us are
either running all the Intel
Macs, or we're running em one
max of last year's make a model
by Apple. And a lot of people
have been feeling sort of like a
bit of FOMO about this. Of
course, the new MacBooks
announced by Apple are pretty
hefty in its price. And I've
seen some interesting
discussions about people who are
doing just Xcode compilation,
thinking that they need like the
Pro and Pro Max all decked out
versions of these MacBook Pros.
This LinkedIn I'm going to share
with you called Xcode benchmark
is pretty much just sort of a
benchmark of a bit code base on
different hardware come and have
different hardware combinations
of different hardware and Xcode
combinations, to see what
performance gains you could
expect when going for a new or
better spec machine. What I find
interesting is that, for
example, on MacBook Pro, 13 inch
2020 model, with 16 gigs of RAM.
So that's the M one eight core
does a compilation in this
benchmark, of course, in 130
seconds. And that's the new 14
inch MacBook Pro, which has also
as m one pro eight core with 16
gigs of RAM, that one does it in
109 seconds. So that's a
difference of 21 seconds. That's
a significant difference. But to
me, it does feel like is it
worth the investment to do this
upgrade for that price, while
the M one Mac is still a very
good and solid machine to do iOS
development on. Of course, if
you go for the all specs out and
one max or the M one pro with a
lot of memory, then the
difference gets a little bit
better even but then you only
end up like at 98 or 102 seconds
compilation time. So to jump
from an M one pro eight core Mac
to an M one pro 10 core or M one
max time core. It's really small
it's it's expressed in like 11
to nine seconds really it's
expressed as difference of 11 to
about seven seconds really and
you could really consider well
not going beyond the baseline
model of the M one Pro is worth
the investment but of course
make up your own minds and I
must say the new machines did
look really cool. On picture at
least on pictures at least.
So in those were links of this
week, I want to keep my episode
a bit shorter this week. Of
course has done is Monday
morning sweet. So let's have a
look at that. Stuart Lynch is
releasing a new video and he
surprised by how popular still,
Lynch released a new video this
week and he surprised by how
popular this specific topic has
been. It's one of his most
popular videos in a long time.
And he wished that he knew why
this one is more popular than
others. The video is about Xcode
configurations and flags. And of
course, there's a lot of things
that you configure that you can.
There are a lot of things that
you can configure in Xcode. And
this video by Stewart goes into
a lot of detail of that. Okay,
he's busy bug fixing any swift
UI experts that know why
notification back button and
notification by title sometimes
overlap, and how to force a
refresh of the navigation bar.
Tony actually thinks it might be
a bug in Swift UI. So he's
suggesting to file a feedback.
Daniel Steinberg is busy
finishing some book updates by
Tuesday. And then it's time to
decide on what the next project
will be that he's going to work
on. And Franklin Delano Stallone
is hoping to get started on a
new paid app. He finished an
update on the first fr app,
which is a bookmark manager. And
it's a nice project, but it's
got quite a bit of use. So he's
a little bit tempted to focus on
improving the M one Mac
experience, even if it's a free
app. Run this cough is working
on the website for their new
mountain bike trail. And he's
getting his MacBook Pro ready.
Feedback is working on some
SceneKit. So holiday for him.
It's more like a Sunday on
Monday, is asking what plans
Donnie has. Nick Woods is six
weeks into a new Fahim project
with a great team. And it's the
first time that is fully working
on the switch wiring combined
code based. So he's glad to read
the books by Donnie that he
bought earlier this year. Think
tap work is trying to get the
word out on their latest app
update. And to hire is finishing
up some backend work to
integrate with draft newcath web
hooks feature, user interface is
done. And ready. So real time
subscription purchase
notifications are a new
possibility. Amir is learning
more and more about Swift and
more has taken two extra days of
this week. So that means
avoiding procrastinating and
getting this portfolio website
done, at least as the first
version, then job applications
and swift UI reading. So good
luck mo on your days off and
your plans for the next two
days. And it was a nice overview
too. It seems that the community
is settling down a little bit.
Of course, the big announcement
was X squared 13.2 Right after
the new hardware that's been
available. So there was a lot of
buzz about that right after the
keynote. And then it settled
down a little bit. And you do
notice that people are receiving
the new hardware. And yeah, it
does feel like people are still
figuring out what Xcode 13.2
Better is going to bring to the
table once it's final. So I
really look forward to the
articles that people are going
to write on these new features
that are now available on Xcode.
And that's it for this week. On
Thursday, my regular interview
again. And I hope to talk to you
again next week. If you have any
feedback, just let me know on
Twitter at app Force One. If you
want to support my podcast app,
look at pod dot fan slash app
force one on my GitHub profile.
Talk to you again soon.