AppForce1 Podcast: news and information for iOS app developers
← All episodes

Everybody switches sometime

10:08

In this episode

Read the transcript
Jeroen Leenarts: Hi, welcome to the 29th episode of my podcast. I had to switch things around a little bit this week. So a Monday, when our record my normal episodes, I didn't have any space available in my house to be able to do a proper recording. So I published my interview of Thursday on Monday and today, Thursday, I am releasing my regular episode. Just to speed things up a little bit. This week, this is what I'm going to talk about permanent and temporary tabs in Xcode connected to Wi Fi programmatically in iOS with Swift, thread safety in Swift. How necessary are the program fundamentals, dynamic libraries, and code replacements in Swift file private versus private in Swift, the differences explained, packaged swift getting started with the SPM manifest file. So let's dive in and get started. This is something that I see a lot of people miss in Xcode, and that's the permanent and temporary taps feature. In his article, Leonardo explains what the permanent and temporary taps feature is about in Xcode. It is something that is quite normal in pretty much any decent cocoa app on a Mac. But it is something you need to be aware of. Have look at Xcode and see that the tab titles can either be italic or regular font. The regular formed bonds are permanent, and the italic fonts are temporary. So if you open another file, then temporary tap gets changed. Double click on the type and the file becomes a permanent tap. More details in article by Leonardo. For his app switch buddy, Philip had to come up with a way to actually be able to change the Wi Fi network of the current users device. In his article Philip explains with some network extension code and some other professions, how you can actually request the system to change the Wi Fi network to a specific network that should be available when you try. It's a nice rate and a short overview of features that is not used too much in iOS. thread safety in Swift concurrency is the entry point for the most complicated and bizarre bugs a programmer will ever experience because we all at the application level have no real control over the threats and the hardware. There's no real way of creating unit tests that guarantee your system to behave correctly when used by multiple threads at the same time. In his article, Bruno likes to share some of his favorite methods of assurance, thread safety, as well as analyzing the performance of many different mechanisms. BRUNO also wrote an article with the title how necessary are the Programming Fundamentals? It's a bit of a long form writing that Bruno has created to actually reflect upon the fundamentals that underlie computer programming and fundamentals. Then I'm talking about more computer science type of things, knowing how specific algorithms work, what specific data structures are like, in this article, Bruno reflects on these topics and tries to evaluate how important these things actually are. And actually also why specific companies are actually very intentful on querying and quizzing you on the specific topics in any job interview that I'd like you to take. So I think it's it's a very nice overview of some reasoning that might be behind companies, querying a querying new on these topics, but also, it gives you some backstory on why investing some time to learn some fundamentals about the fundamentals can be very worthwhile for your regular programming work as well. Tabor is again back with a nice article on dynamic library packages. Debo is again back with a nice article on dynamic libraries and cult replacements in Swift, how to load a dynamic library and use native methods whistling in Swift. In his article, he explains all about the magic behind swift UI prefuse. He already published an article about building static and dynamic libraries using the Swift compiler. So if you don't know what a dynamic library is, follow the link in his article and learn a bit more about that before starting on this article. It's a it's a very in depth technical article that explains a lot of the details that are involved with libraries and dynamic libraries in Swift. So if you want to know a bit more on how things work internally, this is definitely one of those articles that you want to read from start to finish. And to bring things back a bit more to practical day to day applications of Swift language features. Here's an article by Antoine formulae. It's about file private versus private in Swift and the differences explains. File private and private are part of the access modifiers in Swift these key words together with internal public Open make it possible to restrict access to parts of your code from code of other source files and modules. The private access level is the lowest and most restrictive, whereas open access is the highest and least restrictive. In his blog post, Antoine will explain the difference between two very close friends on these access modifiers namely found private and private. It's a very useful modifiers use File private, but in his article Antoine explains a bit what it does, what scope it provides, and when it's actually useful to use File private instead of private. And as a final article that I want to mention, Leo has an article on pecks, Swift again, which is a very practical article that explains how you can get started with the SPM. Manifest file. It's a very useful and practical guides to get a bit more introduced to get introduced a bit more into this topic. So if you don't know too much yet about the NPM, package manager and SPM manifest file, definitely check out the article and the previous article that Leo has written on these topics. And these articles of the past one and a half week I want to mention or maybe the matchable protocol by elegant chaos. For the last few years, the default setting for all the Swift code that elegant chaos has written has been open sourced as a result, elegant chaos has accumulated a vast number of Gator proposals and Swift package manager packages. However, aggregate chaos has been really bad at telling people that they exist in this post he tries. In this post elegant case tries to fix that by talking about one small package that elegant chaos has recently created being matchable. The match bowl protocol defines a way to compare two objects structures over L is for equality. Unlike equatable protocol match pool works by trial and error when it accounts when it encounters a mismatch. You can view this as a sort of assertion of equality. The original motivation for the matchable protocol has been unit testing, where it's often necessary to compare two instances of something and useful to be able to identify the exact point of divergence. Elegant chaos still sees this as the primary use case of for the protocol. But elegant chaos has split it out to a standalone package, and it may be useful for other people, you could probably guess where you need to look. I mentioned the name already eight times away. That's nine. So elegant chaos.com And that's 10. I'm not going to do the donees Monday morning tweets this time around, because it's not Monday. But I will be back with that topic on my next episode that I plan to record come Monday. The good news is is that of the home remodeling all over inside is now done and the end result is simply amazing. So I look forward to enjoying my house now again, in a more normal fashion without all these builders walking in and around my house. I have some cool stuff planned for you all. I did recordings with Jordi, Phillip, Dominic and Reiner. They subscribe to my feeds and you will get it the moment that it becomes available. If you become a bot fan at pop dot fan slash app Force One, you can get early access and I will upload the raw recordings sometime tomorrow. And that's it short and sweet. Talk to you again next time.

Keep listening

More from the show

Image
Title