AppForce1: news and info for iOS app developers

Some handy steps on installing RBEnv and friends.

November 02, 2021 Jeroen Leenarts Episode 53
AppForce1: news and info for iOS app developers
Some handy steps on installing RBEnv and friends.
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, 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.