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.

WWDC20

This week we have six articles from WWDC20 on our official account, and they’re all great!

  • Visual editing tools for SwiftUI
  • Build SwiftUI apps that are easier to Preview
  • App essentials of SwiftUI
  • Build the SwiftUI view for the widget
  • How to write an independent App with SwiftUI?
  • Ten years on, how is Swift?

The article

🐕 🌟 Apple Widget: The next top Traffic entry point?

EyreFree: Widget is Apple’s new desktop content presentation at WWDC20. With the advent of widgets, the desktop of iOS system has been broken, and more products have the opportunity to enrich their content expression with widgets. This article provides a comprehensive overview of the features, refresh methods, the relationship between widgets and SwiftUI, and the display forms of widgets. If you are interested in Apple Widgets, don’t miss it!

🐕 🌟 Praise the construction of mobile thermal repair platform

@Smiling drinking Arsenic: This article mainly introduces the excellent thermal repair platform and some problems encountered in the construction process. Take Android as an example, the current hot repair is based on Tinker’s self-built back-end service + Android SDK. Youzan hotfix platform is gradually solved and improved based on the problems encountered in the actual development process of Youzan Mobile team. Readers can build an appropriate hotfix management platform based on their own teams.

🐕 🌟 Ape Tutoring iOS accurate testing Practice – Objective-C and Swift integration project accurate testing exploration

@Damien: This article starts from the quality assurance problem and throws out the concept of “accurate testing”, further explores how to use LLVM Code Coverage scheme to realize Coverage detection in iOS mobile terminal, and deeply explores the realization principle of LLVM Code Coverage Coverage. Finally, the author shares the exploration and practical experience of ape Tutoring in the landing precision testing system, which provides a new idea for the coverage detection scheme in the industry.

🐎 WWDC20 Summary

Zhang Jiafu: After WWDC20, teams around the world are actively adapting the latest and greatest technology in Apple platform. Design and product teams are often focused on the product and don’t necessarily pay close attention to the latest technologies from the platform. Developers, on the other hand, focus primarily on technical sessions. As a result, in many cases no one is directly responsible for the evolution of the platform, which can take months or years to adapt new technologies from the platform. Only a few geeks, both developers and designers, pay attention to every update to the platform, so I’ve created a Keynote slideshow summarizing WWDC20 (iPhone and iPad only) to keep your product and design team informed of all the technical updates coming from the platform.

🐕 What should you know about a navigation history stack in iOS 14

@Laofeng: iOS 14 navigation bar new feature, when returning to the page of the previous level, long press the back button, there will be a menu to select return to the page of which level, more humanized. This article mainly introduces the problems that need to be paid attention to when adapting this feature to handle scenarios such as long titles, custom titles, and no titles. Those who adapt this feature to iOS 14 can know about it.

🐎 We’ve redesigned pub.dev. Why not try it?

Speedboy: pub. Dev is an important package finder tool for flutter developers. Google has updated it recently, making it easier for us to find a good package. The scoring system of pub.dev is further optimized, so that the quality of a package can be judged by scoring. And the multi-platform through screening and label to further distinguish, convenient for us to quickly find the right platform support.

🐎 WasmPatch is an open source iOS hotfix framework

@Backboard: The author has implemented a set of iOS hotfix framework based on libffi + WebAssembly. The overall idea is quite clear. It is a good series of articles for students who want to learn about Objective-C Runtime.

🐕 Swift Code Injection using dyld_dynamic_interpose

@ four niang: Injection is a code Injection tool that allows code changes to take effect without restarting the App. In the earliest versions of Objective-C, this was done simply by calling the Runtime API after loading dylib.

The problem lies in Swift. After Swift 1.0 was released at the earliest, the author could only modify non-final functions by modifying vtable, but the declaration and function distribution of struct and enum has always been a problem.

In InjectionIII, this problem has been solved. In a discussion on Twitter, I found a private API for DyLD, dyLD_DYNAMic_interpose, This API makes it easy to replace function implementations when loading dylib. On top of this, the author also added SwiftUI support, for those who are interested.

🚧 🐎 Streamoji – Custom Emoji Library for iOS UITextView

Xiaofei86: Customizing emojis is a fun way to bring more energy and customizability to your App. They’re used in some of the most popular apps, like Slack, Discord, and Twitch. However, the iOS SDK does not provide direct support for customizing Emojis. You can now add them to your App with just a few lines of code using the new open source library Streamoji.

You can define emojis in GIF, PNG, Unicode, render them in UITextView, and control the display quality and automatically match the text size. If you’re interested, check out Slackmojis for more fun emojis and add them to your App.

🐕 Handling deeplinks in iOS 14 with onOpenURL

JonyFang: Xcode 12 Beta 3 update, SwiftUI added onOpenURL method for Deeplink processing in iOS 14. Developers can register a URL handler on views so that those views can respond to URLs as needed. This makes Deeplink much more flexible and decouples projects from the way urls were handled in AppDelegate and SceneDelegate in the past.

code

Exposure Notification

The Apple/Google Novel Coronavirus Contact History API has been available for some time now. Apple and Google have also documented the Framework. If you are interested, take a look at how Apple and Google implement this API.

Nshipster Contact Tracing is highly recommended, as we have recommended this article before.

OCRunner

Parsifal: After a series of jScore-based hotfixes represented by JSPatch have been reviewed by Apple, the community has come up with a number of other implementation ideas in recent years. In the open source community, there has been a lot of use of custom lightweight OC interpreters with libffi, such as OCEval and the OCRunner.

This open source code is self-recommended by SilverFruity.

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 the official account (LSJCoding) will push a message when each issue is released, welcome your attention.

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

instructions

🚧 indicates that a tool is required, and 🌟 indicates that editing is recommended

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