Original link: https://github.com/SwiftOldDriver/iOS-Weekly/releases/tag/%23251
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 .
news
Swift Package Index Supporting visionOS
The Swift Package Index announced the addition of visionOS support, and all libraries published on it will run compatibility tests and display on the website:
“WWDC23 Internal Reference”
This week we updated 8 more internal reference articles, each of which is of very high quality. Due to space constraints, we recommend four articles at the beginning that may be more interesting to you, and put the rest at the end of the weekly report~
Follow the official account of the old driver technology, reply “2023”, and receive 2023 and previous year’s participation
WWDC23 10123 – Porting Your Games to the Mac (Part 1)
JPlay: Apple has made great efforts in games this year. It not only provides heavyweight tools such as Game Porting Toolkit and Metal Shader Converter, but also makes developers more motivated to port games. It also spends three articles to help developers port games . What kind of layout does Apple reflect behind this? This article tries to analyze them for you one by one.
WWDC23 10137 – Cinematic API Helps You Become a Cinematic Master
bq: Through this article, you will introduce the movie effect mode and the latest Cinematic API in detail, so that the playback and editing capabilities of the movie effect mode can also be integrated in your App. This article can be read together with the official Demo .
WWDC23 10170 – Advanced Structured Concurrency in Swift
MiG: This article will discuss the various advantages of structured concurrent tasks based on Swift concurrency cancellation and priority delivery, TaskLocal binding values, and full-link concurrency performance tuning.
WWDC23 10149 – Discover Observation in SwiftUI
Khala-wan: Observation is a new feature based on the Swift 5.9 macro system, which can help developers simplify data models and improve application performance, making SwiftUI’s data-driven UI experience even better. This article will introduce the basic knowledge and implementation principles of Observation, and experience the actual application experience of Observation through some cases, and understand how to migrate existing ObservableObject
to @Observable
.
article
SwiftUI Data Flow 2023
@AidenRao : WWDC 2023 introduced Swift macros, which allowed the SwiftUI team to reduce the number of data-driven property wrappers and remove a lot of boilerplate code. In this article, the author rewrites the previous SwiftUI data-driven sample code using macros. Readers can read the new sample to understand the changes in SwiftUI management data flow.
Use ChatGPT to build a code knowledge base to improve development efficiency
@EyreFree : This article introduces how to quickly retrieve code information by building a code knowledge base with the help of ChatGPT’s natural language generation capabilities, so that programmers can focus more on the implementation and optimization of business logic. From the demand analysis of knowledge base construction, to the comparison of program selection, implementation and further iterative optimization, the entire project development process was shown to everyone, and the effect was demonstrated. The correct rate and availability rate met the requirements. At the same time, data quality, Some considerations have been made from the perspectives of test and evaluation methods, multi-dimensional and long-form knowledge integration, model effect maintenance, and data security.
Performance optimization practice of enterprise WeChat large-scale organizational structure
@Barney : This article describes the solution to the performance problems of large-scale organizational structure faced by enterprise WeChat:
- Problem: The processing of large-scale organization structures takes a long time, and the performance bottleneck of updating node information.
- plan:
- Pre-loading optimization: Implement the pre-loading of “the unit + skeleton” to reduce the initial loading time.
- Architecture optimization: Introduce a large architecture module, and users only load relevant unit data.
- Double DB switching: Adopt a new database switching method to improve the response speed.
- The result: less time-consuming, CPU and memory usage, and a significantly improved user experience.
Monorepo solution – Bazel’s practice in Toutiao iOS
@xuyafei86 : In 2015, Google released its construction system Bazel, and now with its support, Google’s main warehouse has already exceeded 100 billion lines of code. Whether it is Bazel and Buck, Google, Facebook, Twitter, Airbnb, Uber, Snapchat and other foreign companies have already fully embraced monorepo, while the engineering practice of domestic clients is more inclined to the multi-warehouse model.
Bilibili has implemented Bazel as early as 2018, and recently shared its latest practice . This week, Toutiao also continued to share its monorepo practice. After the completion of componentization, the migration process has gone through the process of source code of business components, podspec to BUILD file conversion, etc. Interested students can read the original text to understand its implementation details.
It should be noted that the application of monorepo abroad may come from the continuation of its use of the construction system and the trend of IDE online. Introducing unwarranted engineering complexity only turns bad code into bad infrastructure. Before learning, you must refer to its background and motivation, combined with your own business status, to avoid the abyss of over-engineering.
An In-depth Look at C++ Keyword: static
@老狼: The static keyword in C++ is a very complicated concept, which has different meanings in different contexts. It is also difficult to find Chinese articles that comprehensively introduce static keywords on the Internet, but this is a good summary article that basically covers all aspects of static and is worth reading.
What exactly happens to weak variables when the object is deallocated?
@老峰: The author explores the process of accessing Weak variables step by step through assembly and source code with examples; analysis of objc_loadWeakRetained and rootRetain source code; internal call link and mechanism of Dealloc. This article deeply analyzes the memory mechanism of Weak variables. Interested readers recommend reading .
Embracing CloudKit: Contents
@anotheren : A series of articles about the application of CloudKit, mainly including how to share data between iCloud accounts through CloudKit and possible problems.
A Comprehensive Guide to Multilingual Solutions for iOS
@J_Knight_ : The article introduces a component library HDTranslateModule that can realize multi-language support, language switching and post-translation copywriting processing. In addition to supporting multi-language configurations, this library also supports switching languages at runtime, and also supports translated copywriting, as well as extending new language configurations, etc. The article also introduces how to search for Chinese strings in the entire project, generate language configuration files, and how to write a method of using Google Translate API to batch translate strings, etc.
tool
Little big improvements in Xcode 15
@zoeGuo : Xcode 15 has many nice improvements. The article mainly introduces the following examples:
- Quickly find the method you want: When there are many options after typing in the method you want to use, more shortcut key operations are provided to help us quickly find the method you want.
- Context awareness: When you type, suggestions will be provided based on the context. Compared with Xcode 14, the smarter improvement is reflected in: the same modifier will no longer be suggested.
- Document preview: Code comments will quickly generate our code documents. Xcode 15 provides an entry to directly preview documents in the Assistant panel, and you can see the document effect immediately when writing code comments.
- Quick command lookup: Xcode provides many shortcut key operations, but it becomes another problem if you can’t find or remember the shortcut keys. In Xcode 15, use
command + shift + A
shortcut key to evoke the Quick Action search box. Can operate quickly. - Bookmark: This is a new concept introduced by Xcode 15. By adding bookmarks to the code, it can quickly help you locate the corresponding code again.
- Code Formatting: Xcode 15 provides a shortcut to quickly format a line of code with multiple parameters into multiple lines.
The above improvements are very practical, you can browse the original text to learn more about the specific usage.
WWDC23 internal reference update
WWDC23 10159 – Beyond scroll views
Cats: Learn how to take scrolling views to a whole new level with SwiftUI’s latest API. This article will show some unprecedented ways to customize the scroll view, including how to deal with the relationship between the safe area and the scroll view margin, how to interact with the content offset of the scroll view, and how to add cool effects to the content by scrolling .
WWDC23 10124 – Port your game to Mac (2): Compiling Shaders
Andy Jiao: This article will focus on how to use Metal Compiler and Metal Shader Translator to convert shaders to the Mac platform and increase the flexibility and speed of shaders. Includes how to convert shaders to Metal IR and how to avoid on-device compilation via GPU binaries during game builds. Describes the function and usage steps of the Metal shader converter in detail.
WWDC23 10244 – Building Rich Documentation with Swift-DocC
Ye Xulei: Through the document preview interface provided by Xcode 15, we can more conveniently write and preview documents in Xcode 15. At the same time, we can also add more custom content to the document through the DocC theme configuration and command functions, making the document more colorful.
WWDC23 10107 – Introducing a Photo Picker in Apps
nuomi1: Use the MVVM architecture to access the photo selector in the App, and compare the similarities and differences between UIKit and SwiftUI in implementation.
Moyu Weekly
@探鱼周报#99 : The 99th issue of Moyu Weekly is here, let’s take a look at the summary of this issue:
- Topic of this issue: macOS Sonoma experience, three major functions: new screen saver, web app, desktop widget
- Recommended content: Swift macros, new features of Core Data, introduction to SwiftData, automatic generation of RESTful APIs, iOS application protection, etc.
- Touch the fish: Public Apple Frameworks; a course for front-end beginners provided by Microsoft; Apple M2 Ultra: a new hope for AI large models; artistic QR codes generated by AI
Introduce
Restarted to update the “iOS Reliable Internal Recommendation Topic”, and sorted out the positions that have been clearly recruited recently for your reference
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 public 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); Medium (10 – 20 mins); Slow (20+ mins)
This article is transferred from: https://github.com/SwiftOldDriver/iOS-Weekly/releases/tag/%23251
This site is only for collection, and the copyright belongs to the original author.