Old driver iOS weekly, just for you to present valuable information.

You can also contribute to the project, if you find valuable information, articles, tools, etc., please send it to us in Issues, we will deal with it as soon as possible. Be sure to include a reason for your recommendation. Suggestions and comments are also welcome to Issues.

news

🐎 Universal purchase can now include the Mac App

Shuishui: You can now include the macOS version of your app in the Universal Purchase, allowing users to use your app and in-App purchase items on iOS, iPadOS, macOS, watchOS and Apple tvOS with just one purchase. To get started, simply bind your cross-platform apps with the same Bundle ID in Xcode and set up app records for universal purchases in App Store Connect.

The novice recommended

🐢 How the NSNumericSearch option works in string comparisons

@Speedboy: Comparing version numbers is a common requirement in our development. In strings, we often use NSNumericSearch to compare the numbers in the corresponding period. This article mainly introduces the results and principles of comparing strings by NSNumericSearch in various cases.

The article

🌟 🐢 Apple operating system executable file Mach-o

@j_KNight_ : Mach-o is used in operating systems (macOS, iPadOS and iOS) with a Mach kernel. Learning it helps you understand how programs are loaded into these systems and how they are executed, as well as symbol lookup, function call stack symbolization, and so on. This article combines the code, from the construction method of Mach-O, how to organize, how to work, import and export methods, to make a more detailed introduction to it. For readers who want to learn Mach-O, this article is a good introduction to Mach-O.

🌟 🐎 Why ByteDance chose Flutter: Not the ultimate cross-platform choice, but could it be a different future

@ looping: This article is an InfoQ interview with Huihui Yuan, the Flutter architect of ByteDance’s mobile platform division and the author of the popular blog Gityuan. He analyzes why byteDance believes in Flutter and why byteDance chooses Flutter. He also shared some problems and resistance encountered in the practice and promotion of Flutter within the company, and finally put forward his personal views on cross-platform technology, which can be used as a reference for us to choose the cross-platform technology.

🐕 A Look Into ArgumentParser

Xiaofei86: Apple recently opened source the Swift Argument Parser implemented by Swift for parsing command line arguments. After understanding the basics of ArgumentParser, this article will take you deep into the internal implementation of ArgumentParser, understanding the complexity behind the ParsableCommand protocol and the four attribute wrappers. In this article, you can see how much effort the Swift team put into implementing elegant interfaces, and hopefully you can appreciate these elegant designs as well.

🐕 Vector Graphics solutions for iOS (SVG)

SVG is currently the most popular vector format on the Web, and iOS support is a long story to tell. The paper lists several existing implementations, which can be said to have their own advantages and disadvantages, the specific use of which scheme according to their actual needs to choose.

🐕 The most detailed network! Dark Mode practice on Trip.com App

Red Paper: This paper is a summary of ctrip team’s practice on adapting Dark Mode. It elaborates the differences between Dark and Light in design from the perspectives of visual design and design scheme (color mapping and illustration design). Finally, there are iOS/Android/RN three-terminal adaptation solutions for developers to refer to.

Two articles from the previous weekly are recommended: Office Developer DarkModeKit and How To Adopt DarkMode In Your iOS App 🌙

🐕 Kotlin/Native and Xcode integration insights

Kotlin/Native is a technology that compiles Kotlin code into Native binaries based on LLVM, which can run without virtual machine. This article introduces the integration of Kotlin/Native tool set implementation in Xcode, so as to achieve iOS call Kotlin common business code base specific operation process, interested readers can further understand.

🐕 Hook Method is realized by static pile insertion

Parsifal: Meituan Ouyang Daliu’s article on “Simple Implementation of Static Interception of Method calls of iOS objects” was recommended by the weekly magazine of 1999. This article proposed a new idea of Method Hook from another novel perspective: “Static libraries will save external symbols referenced by themselves in a separate table”. This article is based on this theory to complete the practice. In this paper, the author summarizes some problems encountered in the process of practice, including the understanding of static libraries and object files, the pit of Python implementation, etc., which is worth our reference.

This article is self-recommended by the author Maniackk.

tool

Echo

EyreFree: Echo is a simple and easy to use, plug-in easy to expand, large screen display and operation of the client development and debugging tool, you can view all kinds of App data in real time (network requests, logs, buried points, etc.), you can also quickly modify the effect of the preview App without changing the code. It also has the following advantages over other Debug tools:

  • Large screen: better display effect, does not affect the user operation of the original App, better use experience;
  • Extensibility: Built-in common templates and plug-in mechanisms can quickly extend new functions, just focus on the service data, reducing the cost of new function extension;
  • Convergence type: convergence client development and debugging tools into one, improve the efficiency of RD and QA students;
  • Cache mechanism: The plug-in has its own cache mechanism. If there is a problem, it can be quickly connected to locate the problem even if it is disconnected from the large screen.

code

🐎 TextureSwiftSupport

JimQ: Facebook’s Texture has been widely adopted, swiftui-style Texture is now available (unofficially) based on Function builders introduced by Swift for SwiftUI.

Audio and video

Long road 30: engineering students how to go to the United States graduate school?

@Zhang Jiafu: The guest of GGTalk this time is the former chief of the family who is currently working in the United States. The total length of the program is nearly five hours, divided into three episodes according to the content. In the first session, the professor mainly talked about the process of studying in CMU, from preparation, application to various experiences after admission.

ATP 371: Interview with Chris Lattner

Chris Lattner is once again at ATP, and this time we will talk about:

  • Swift for TensorFlow
  • MLIR (source of this issue’s title)
  • Swift rules the world
  • SwiftUI & Combine
  • Swift ABI Stability

Before talking about MLIR, Chris asked the host if the topic was too geeky for him. 🤣

There’s another project called MLIR. Have you heard of anything about that? Do you want to talk about that? Or is that too geeky for John Siracusa?

In general, this programme is highly recommended to listen to. In addition, readers who have not heard the last interview can also read the transcript of Chris Lattner’s interview compiled by the chief commentator.

push

Senior driver Weekly team combined knowledge collection and SwiftGG Translation group included a reliable internal promotion position.

If you want to looking for a job, click here: www.yuque.com/iosalliance…

If you want to recruit people, click here: www.yuque.com/iosalliance…

Of course, you are also welcome to pay attention to our weekly report, we will update the editorial post at the bottom of each weekly report.

Pay attention to our

We have opened an official account, and every issue will be released on the official account (OldDriverWeekly), welcome to follow.

RSS feeds are also supported: github.com/SwiftOldDri… .

instructions

🚧 indicates the need to climb the wall, and 🌟 indicates the editor’s recommendation

Estimated reading time: 🐎 in a short time (1-10 mins); 🐕 medium (10-20 mins); 🐢 slow (20+ mins)