Old Driver iOS Weekly #252 | 2023-07-17

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

ios-weekly

The old driver’s 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 them to us in Issues , and we will deal with them as soon as possible. Remember to write down the reason for the recommendation. Suggestions and comments are also welcome to Issues .

“WWDC23 Internal Reference”

This week we have updated 7 more internal reference articles, each of which is of very high quality. Due to space constraints, we recommend three articles at the beginning that may be more interesting to you, and put the rest at the end of the weekly report~

? WWDC23 10055 – New features in UIKit

Sharker: This article mainly introduces UIKit’s new features in iOS 17, core architecture improvements and iPad OS application improvements, and provides a number of general enhancements, such as Xcode preview support, custom features, interactive text manipulation, etc. These enhancements provide application developers with a better design and user experience, while also improving language support and performance.

? WWDC23 10197 – SF Symbols 5 Usage Guide

Mim0sa: In order to make it easier for readers who have no experience in SF Symbols to understand, we also summarize the relevant content of SF Symbols in previous years. This article starts from the characteristics of SF Symbols, discusses the advantages of SF Symbols, a symbol library supported by system fonts, and how to use it. In this WWDC 2023, in addition to increasing the number of symbols to 5000+, there is also a new function that allows the symbols to “move”, making SF Symbols, a sharp weapon, even more handy and sharp.

? WWDC23 10028 – Bringing Your Widgets to Life

Raydon: Widgets now support display on the desktop of the Mac, the lock screen of the iPad, the StandBy of the iPhone, and the Smart Stack of the Apple Watch. When the content of the widget is refreshed, the animation effect of SwiftUI is added to make the content change more smoothly. Using SwiftUI and AppIntents, you can use Button and Toggle interactive components on widgets to bring your widgets to life.

article

?? Stack memory protection in iOS: ____stack_chk_fail and pointer verification mechanism of ARMv8.3

@莲友:Stack overflow attack is a very common attack method. The attacker overwrites the return value of the function to jump to the unexpected code for execution. This article introduces two commonly used stack overflow attacks ____stack_chk_fail and pointer authentication, and builds a reproduction environment for ____stack_chk_fail in iOS. Interested friends can study it.

? Lightweight iOS animation framework

@J_Knight_ : This article first lists the advantages and disadvantages of several commonly used animation libraries, and throws out the implementation scenarios of animation serial and parallel. Then combined with the flow chart and code, I shared a lightweight solution to the animation callback nesting problem, which made the code structure of the combined animation clearer and facilitated development and subsequent iterative modification.

? How much do you know about InkWell & Ink of Flutter tips

@CrazyCoderShi : This article takes you to learn more about the click event water ripple effect component series in Flutter UI components, including InkWell and Ink original components, and explains in detail how to use the Ink series components to add water ripple click effects to other components. Flutter Xiaobai students can learn ?

? Baidu APP iOS terminal package size 50M optimization practice (4) code optimization

@JonyFang : This article introduces the LinkMap file format in turn, and code-related optimization schemes in package size reduction (useless class optimization, useless module reduction, useless method reduction, reduction of repeated code, tool class reduction and AB experiment curing).

Code optimization is also the highlight of package size optimization, but compared with image and resource optimization, code modification has a wider impact, and OC language has a variety of dynamic calling methods, which makes code deletion more likely to cause quality problems, so It is relatively difficult to optimize the revenue landing. Baidu APP unearthed 20M revenue during the optimization practice process, and after two quarters, it landed about 8M. If there is a demand for package size optimization, the overall idea may be referred to below.

A review of the series of articles on iOS package size optimization practice:

? @backDeployed to extend function availability to older OS releases

@Smallfly : In the past, Apple used @available to identify new APIs in high versions, thereby restricting the use of low system versions. However, in some scenarios, the newly added APIs are just packages of the original low version APIs. In fact, on low versions Still available. In Swift 5.8, the @backDeployed feature keyword was added to mark the new API as being forward compatible.

? Introducing Swift HTTP Types

@Damien : Want to try writing server-side projects in Swift? Swift has officially announced the release of a new open source package called Swift HTTP Types. This package aims to provide a shared set of common types for client/server HTTP operations in Swift. Swift HTTP Types provide a common representation of the core building blocks of HTTP messages, including HTTPRequest and HTTPResponse. Students who want to use Swift to complete server-side projects may wish to try it out.

design

? First Attempt at Designing for visionOS

@EyreFree : The author of the well-known iOS Widgets application Widgetsmith shared his experience of adapting visionOS for the application. Friends who are interested in visionOS should not miss it.

WWDC23 internal reference update

? WWDC23 10191 – Using Object Capture on iOS

Canoe: This year, Apple brought Object Capture technology to the iOS platform. Using this technology, you can use your mobile device to create 3D models for objects around you anytime, anywhere. It can be used in projects, previewed on your phone, and even viewed on the newly released Apple Vision Pro. Let’s explore this exciting technology together.

? WWDC23 10188 – Sync iCloud with CKSyncEngine

LabLawliet: This article will combine several actual iCloud -based projects to show you how CKSyncEngine can help you synchronize people’s CloudKit data to iCloud . Learn how you can reduce the amount of code in your application when you let the system handle the scheduling of synchronous operations. And analyze the feasibility of CKSyncEngine accessing existing projects.

? WWDC23 10121 – What’s new in CSS

leejunhui: The development on the Web is changing with each passing day, and CSS is no exception. Apple supported a number of new CSS features in Safari this year. This article mainly introduces the new features of CSS in four dimensions, namely layout, color, selector and typography. At the same time, this article also introduces the new features of WebKit that can be experienced in Safari Technology Preview, as well as the newly revised Safari developer menu.

? WWDC23 10105 – Creating a More Responsive Camera Experience

Lion: iOS 17 provides some new features. Through new features such as delayed image processing, zero shutter delay, response capture, and status monitoring, it can greatly improve the camera response speed and create a smoother shooting experience.

Introduce

Restarted to update the “iOS Reliable Internal Recommendation Topic”, and sorted out the positions that have been clearly recruited recently for your reference

[Shanghai] Baidu Input Method – Client Development – ​​iOS

[Shenzhen/Guangzhou/Beijing/Sanya] Bytedance – Clipping – Recruitment Client Development

[Shanghai] Station B – iOS Development

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

Follow us

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

Follow politely, pay attention to [Old Driver Technology Weekly], reply to “2023”, and receive 2023 and previous year’s internal participation

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

illustrate

? Indicates that a tool is needed, ? indicates an editor’s recommendation

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

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