AppForce1: news and info for iOS app developers

Big cudly bear hugs to all iOS developers out there

August 02, 2021 Jeroen Leenarts Episode 40
AppForce1: news and info for iOS app developers
Big cudly bear hugs to all iOS developers out there
AppForce1: news and info for iOS app developers +
Help us continue making great content for listeners everywhere.
Starting at $3/month
Support
Show Notes 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