Old Driver iOS Weekly #222 | 2022.11.07

Original link: https://github.com/SwiftOldDriver/iOS-Weekly/releases/tag/%23222

ios-weekly

The old driver iOS weekly report, only presents valuable information for you.

You can also contribute to this project. If you find valuable information, articles, tools, etc., you can submit it to us in Issues , and we will deal with it as soon as possible. Remember to write the reason for your recommendation. Suggestions and comments are also welcome to Issues .

The editorial team of the weekly newspaper has a newcomer~ Welcome to Cooper Chen to join the weekly newspaper organization. Jiali is currently focusing on Mac desktop application development and architecture design, and also has research on compilers, linkers, and CI/CD. I hope that the addition of Jiali will also bring you more diversified content output!

news

Challenge the island: adapt to real-time activities and smart islands

Real-time activity is used to display the latest information from the app on the iPhone lock screen and smart island, helping users to check the progress of current tasks and events in time. By participating in this event, developers will learn how to design and develop real-time events, and how to use Smart Island to bring a better user experience.

The development team participating in the lecture can sign up for real-time activities and Smart Island adaptation challenges on the day of the lecture. After passing the review, they can get one-on-one consultation and in-depth counseling. Teams that participate in the challenge and can complete the adaptation and launch before December 20, 2022 will have the opportunity to get more promotion opportunities for the app. Please register by November 8, 2022.

The second ByteDance Technology iOS Technology Salon is officially open for registration

@Barney : The second ByteDance Technology iOS Technology Salon is officially open for registration!

This salon will focus on 5 major technical directions, including static analysis , video playback quality optimization , homepage feed reconstruction , automated service and end-to-end intelligent technology exploration . The salon will meet you in the form of free online live broadcast at 2 pm on November 12th . .

The following are specific topics:

  • Douyin iOS from static analysis to access system: “Zhong Kui” of the attack
  • Douyin iOS video playback quality optimization practice
  • Douyin iOS Homepage Feed Reconstruction Exploration and Practice
  • Douyin iOS Automation Service: Toolchain Evolution and Optimization Practice
  • Exploration and practice of machine learning technology in Douyin iOS

article

?The practice and implementation of automated testing in Meituan Takeaway

@EyreFree : With the development of Meituan Daojia business, the complexity of the system continues to grow, and there are many technical forms of each page of takeaway. In addition to Native code, it also includes Mach (self-developed dynamic framework for takeaway), React Native, and Meituan applet , H5, etc. R&D personnel spend half of their time developing and half of their time in the simulation environment and self-testing. Therefore, it is very necessary to introduce automated testing. This article introduces some explorations and practices of Meituan Waimai in the direction of automated testing, including traceable automated testing, cross-app playback use cases, recording and playback of buried points, etc. It is recommended to be engaged in related Students working in the field read.

? Towards the next generation of XNU memory safety: kalloc_type

@Damien : Memory safety vulnerabilities are the most common and widely exploited vulnerability problem, and almost all popular user devices today rely on core system code written in programming languages ​​such as C and C++ that are considered “memory unsafe”, this paper The article from Apple’s official security engineering and architecture team shows the public Apple’s efforts in solving memory security vulnerabilities. This article will give us a complete introduction to the new generation of memory allocator kalloc_type from the following perspectives

  • An introduction to safety issues, including goals, design principles, and challenges that must be overcome.
  • The technical implementation of the kalloc_type safe allocator.
  • Security analysis and assessment, including strengths and weaknesses.

This article is the first in a series of articles on security issues. Interested students can subscribe to the official Apple Blog.

?In -depth understanding of virtual keywords

@Lianshu : virtual is one of the most commonly used keywords in C++. Most students may still have a superficial understanding of virtual. They think that if we need to override the method of the parent class, we need to mark the corresponding method as virtual. Although this habit cannot be said to be wrong, the essence is still a blind man touching an elephant. This article briefly introduces why virtual can solve the problems encountered in inheritance for us, the difference between virtual and integration, and finally briefly introduces the implementation principle of virtual, which is very suitable for students who usually need to write C++. , the ROI is very high (harvest/read time).

? Talk about pixel alignment in iOS

@Smalfly : Pixel alignment is a relatively basic concept in UI development. Misalignment of pixels may result in unexpected visual effects and additional performance losses. This article uses a familiar and easy-to-understand method to introduce the effects of pixel misalignment in the iOS system and how to deal with pixel alignment in different scenarios.

? Resolver for iOS Dependency Injection

@JonyFang : Resolver is a dependency injection/service location framework, and its core logic is the design and implementation of service location. The core of Resolver mainly consists of three parts: ResolverRegistration , ResolverScope , Resolver , each of which has its own responsibilities, follows the design principle of single responsibility, and implements a highly extensible strategy pattern. This article is an introductory tutorial provided by RAYWENDERLICH.COM, you can understand the use of Resolver according to the example Demo.

?Meituan high-performance terminal real-time log system construction practice

@Cooper Chen : This article introduces how Meituan built a high-performance terminal real-time log system Logan from 0 to 1, which serves real-time log solutions in mobile App, Web, applet, IoT and other terminal scenarios, aiming to provide Real-time log service with high scalability, high performance and high reliability, including log collection, upload, processing, consumption, delivery, query and analysis capabilities, among which the implementation results are as follows:

  • core link restoration
  • Troubleshooting in the beta phase
  • Log data analysis

Hope to bring you some help and inspiration.

? The Road to Smart Testing Practice – UI Traversal Technology

@Laofeng : UI testing plays an important role in many scenarios such as large-scale network disconnection drills, online problem inspections, functional regression testing, buried point coverage, pipeline quality access control, etc., but traditional UI traversal technology relies on uiautomator and wda framework to obtain The page Dom data structure has certain pain points in terms of stability, performance, and compatibility. This article is JD.com’s exploration and practice in the direction of intelligent testing by combining traditional dump hierarchy to obtain view tree and openCV page segmentation, including the following content:

  • Intelligent segmentation and recognition to obtain page elements
  • Use image vision and AI recognition to handle traversal process pop-ups
  • Identify pages using image hash and segmentation contour features
  • Multi-terminal compatible specified page traversal scheme
  • Multiple assertion methods leveraging AI OCR CV technology

? iOS Smart Island Development Practice

@水水: The author of this article fully describes the development and practice process of Smart Island from the basic concept, development preparation, project idea, project code practice to final result display based on the cases of snap-up purchases commonly used in e-commerce, which is a very good reference. material. If you are interested in the development of Smart Island, you can learn about it~

Key words:

  • Max system version, compiler and iOS system version: >=MacOS12.4, >=Xcode14.0+beta4, >=iOS16.1+beta
  • ActivityKit
  • SwiftUI
  • Widget

?Hema iOS Live Activity & “Smart Island” delivery scene practice

@J_Knight_ : The Hema team implemented the Smart Island technology in the 30-minute delivery scenario of Hema. As the first batch of adapted apps, it was recommended by Apple Store Today. This article first shares the business landing effect, and combines the overall technical solutions to share the technical difficulties encountered in the development process (such as real-time update, model adaptation, transition animation, etc.) and solutions.

?Cross -platform technology based on Youku business characteristics | GaiaX open source interpretation

@xuyafei86 : The GaiaX cross-end template engine is a native dynamic solution widely used in Ali Youku, TaopiaoPiao, and Damai. It uses a custom DSL to build the UI, and the native native UI components are used for rendering. Use json and css to describe UI elements, data binding and dynamic extension information. GaiaX also has dynamic capabilities and provides related development tools. Interested students can pay attention to this series of articles.

? Swift Package Manager Engineering Practice

@AidenRao : This article introduces in detail the relevant knowledge and practical experience that the Huyou team has explored and accumulated in the introduction of Swift Package Manager for engineering practice, from structural design, resource processing, selection of linking methods, compilation and linking parameter settings, exception handling, These five areas are covered in detail, and a summary of best practices is provided at the end of each subsection. Hope this helps other developers who want to try Swift Package Manager make the transition smoothly.

Recommended by kingnight

Moyu Weekly

@Moyu Weekly #73 : The 73rd issue of Moyu Weekly is here, let’s take a look at the summary of this issue:

  • Topics in this issue: Apple Search Ads added new advertising space, encountered doubts; macOS Ventura first experience, more like iOS, more powerful.
  • This week’s learning: Swift function dispatch summary
  • Content recommendation: network monitoring content recommendation, iOS blogger’s mental journey of finding a job in New Zealand
  • Touch the fish: a tripartite library for elegantly processing parameters in multiple scripting languages; Yuanshen Assistant Mac version

push in

Restarted to update the “iOS Reliable Internal Push Topic”, and sorted out the positions that were recently recruited for your reference.

  • [Beijing/Hangzhou/Shanghai] Douyin – Watermelon Video – iOS
  • [Shanghai/Beijing] Xiaohongshu – Customer Infrastructure Technical Team – iOS – P6/P7/P8
  • [Beijing] ByteDance – APM Client Team – iOS

For specific information, please go to: https://www.yuque.com/iosalliance/article/bhutav to view (if you have any recruitment needs, please contact iTDriverr)

Follow us

We are “Old Driver Technology Weekly”, a technical public account that continues to pursue high-quality iOS content. Welcome to pay attention.

Follow Youli, pay attention to [Old Driver Technology Weekly], reply to “2021”, and receive 2017/2018/2019/2020 internal reference

Also supports RSS feeds: https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom .

illustrate

? means a tool is needed, ? means editor’s recommendation

Estimated reading time: ? Read quickly (1 – 10 mins); ? Moderate (10 – 20 mins); ? Slow (20+ mins)

This article is reprinted from: https://github.com/SwiftOldDriver/iOS-Weekly/releases/tag/%23222
This site is for inclusion only, and the copyright belongs to the original author.