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.
notice
Tomorrow is the National Day holiday, this is the last weekly before the National Day, the weekly newspaper during the holiday will be suspended, after the normal rhythm. I wish you all a happy holiday ~
news
Swift Release Process
Siniang: Swift announced that the next version 5.2 will focus on improving performance.
The React Native component library Beeshell 2.0 is available
Looping: The React Native component library Beeshell 2.0 has been released by Meituan. Beeshell 2.0 has 38 open source features (33 components and 5 tools). At the same time, this paper also explains the system design and scheme implementation of this set of components in detail, and describes the exploration of this set of tools in testing and development and debugging, and finally lists their long-term planning for the open source construction of the component library. Those of you who are interested can keep watching.
The novice recommended
IOS practice checklist
Parsifal: A detailed iOS project practice checklist lists some details that need to be paid attention to in different stages of iOS project from “creation – development – tuning – release”. It is suitable for newcomers to do self-check in the first few projects.
The article
🐎 Migrate Flutter_web to Flutter1.9 +
The biggest feature of Flutter 1.9, which was announced at Google Conference recently, is its official support for the Web. This article briefly translates how to migrate the Web to Flutter 1.9. Read as needed.
Flutter Web has several problems
- Existing performance issues have not been resolved
- Hot Reload is not supported
- Flutter plugins are not supported
- Dart: IO is not supported and only HTTP is used
- Platform.is is not yet supported
🐕 Flutter has no trace burial point
CrazyCoderShi: No trace burial point is a direction that is being explored by all sides. Because of the recent birth of Flutter, there is very little information on this topic. The author explored many solutions from the source of Flutter, which is a good reference. Also attached is the buried site scheme of Flutter of salted fish Technology group for supplementary reference:
- Revelation! How to design a high accuracy buried point frame for Flutter
This article by maple from piaozero self-recommendation.
🐢 Apple Push Notification Device Tokens
Following the release of iOS 13, a number of push vendors have been telling developers to update the SDK. Mattt wrote about the change.
The type of APNS DeviceToken is actually Data, and the specific meaning and format are black boxes. However, after the App gets the Data, it needs to submit it to the respective server, which involves the format conversion of Data.
IOS Foundation before 7 no NSData – base64EncodedStringWithOptions method, developers find can use NSData output description method to transform again, Description is actually a Debug method, and the implementation can change at any time.
🐎 Flutter Face Detection
This is a basic tutorial on facial recognition with Flutter and Firebase.
The author describes how to use the Firebase ML Kit in combination with the CustomPainter class in Flutter to display face positions directly on images.
Overall, it’s a good primer, if you’re interested.
🐕 IOS 13 adaptation summary
Anotheren: It’s been almost two weeks since the official release of iOS 13, and this article summarizes various migration issues both seen and unseen. If you haven’t already, it’s time to get started. Such changes as Dark Mode/Sign In with Apple require linkage products and design, and need to be prepared as early as possible.
🐕 Xcode 11 first experience
J_Knight_ : The author of this article introduces the update content of Xcode 11 from the aspects of workflow, editor, design tool, code management, Debug tool, performance analysis tool, simulator, etc. This article is well illustrated and introduced comprehensively, which is worth reference.
🐢 SwiftNIO — Swift version of Netty
Xiaofeu86: SwfitNIO is an event-driven cross-platform web application development framework, whose goal is to help developers quickly develop high-performance and easy to maintain server-side and client-side application protocols. This article is an integral article, from several network programming concurrency model to Netty introduction to SwfitNIO, the content is more comprehensive, suitable for people who want to understand SwfitNIO and concurrent programming reading.
🐕 Swift Concurrency Manifesto
Speed Boy: This article is intended to discuss a first-class concurrency model for Swfit. This proposal mainly provides two different methods: async/await and Actor. For more information, please refer to the author’s text.
🚧 🐎 A delegate was declared a strong reference and quietly changed
JimQ: This tip is from a tweet. UIViewController. PresentationController. Delegate delegate in iOS 13 before the statement is strong, lead to delegate the ends of the strong reference to each other to release, Apple quietly changed it to weak in iOS 13, but this memory leak will always be present in iOS 12 and earlier versions, so those of you using UIPresentationController should be aware.
🐎 WCCgiMock – An introduction to the client simulation network packet back tool
Red paper: The CgiMock tool helps developers build mock data to simulate network backpackings without intruding into the code. WCCgiMock implements two working modes:
- The first is to intercept the request during the Cgi request phase and return the preconfigured mock data to the business layer.
- The second mode is not to intercept in the request phase, and after the background returns the packet, the simulated data is merged with the background packet, and then returned to the business layer.
At the same time, the tool has the following features: cross-platform programming language, internal DSL design, responsive data, use case organization capabilities, hot update debugging, and more. Unfortunately, WCCgiMock is not open source yet, and the authors are working on it.
🐕 An implementation that looks at all external objects referenced in a Block
@looping: This article analyzes the internal layout structure of a Block to view the external objects referenced by a Block. The principle is as follows:
- When compiling a block, the system copies all external objects or variables to be accessed inside the block object instance.
- When a block has references to external objects or variables, its
Block_layout->flags
There’s going to beBLOCK_HAS_EXTENDED_LAYOUT
Mark; - If you have
BLOCK_HAS_EXTENDED_LAYOUT
Flag, so that all referenced external data members of the extended description information can be in the blockBlock_layout->descriptor
Found in; - Where the layout description information can be in
Block_descriptor->layout
, including the type and number of pointer modifications to reference objects; - In this way, you can calculate the offset to get the address of the external object and turn it into an OC object output.
In this paper, the author not only analyzes and explains the block structure, but also gives a complete code implementation and usage, which is a good learning material.
🐎 I developed a SwiftUI library to bring CSS to iOS development
Damonwong: This year’s WWDC SwiftUI is a completely different interface development approach to iOS. It’s a brand new design. Frankly, the whole design is closer to current Web development. Seeing this, the author explored whether CSS design could be incorporated into SwiftUI and wrote some summaries. And open source Swiftui-CSS for those interested can know.
Of course, SwiftUI is still in the extremely unstable stage at present, so it is not recommended for everyone to blindly follow the trend of learning. It is good to have the spare power to know a little about SwiftUI, but it is unrealistic to learn and apply it to practical applications at this stage.
Audio and video
Ggtalk | from oil to iOS, listen to gemany career experience
Parsifal: Readers of our weekly will remember @Sketchk as he is the designer of our current Logo. This time GGTalk siqi and Liang Da talked about how he successfully transformed from petroleum related major to iOS development process.
Liang da: among the people I know, Si qi is definitely the most severe that batch. I’m not talking about talent, of course. Some people are geniuses, and you can’t beat them no matter how hard you try. Siqi’s strengths lie in her ability to think, analyze and execute. Start with the idea of changing careers, gather information, understand the industry, analyze different positions, and finally decide on iOS. Then start a career change, training classes, self-study, open source projects, post articles, prepare for interviews, get offers. Since joining Meituan, I have improved my knowledge system, tried different directions, and constantly challenged myself. Every year, I have made rapid growth.
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)