Old Driver iOS Weekly #214 | 2022-08-22

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

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 .

article

? Byte alignment in iOS

@Smalfly : Byte alignment is a concept in the C language. As Objective-C is a superset of the C language, iOS developers also need to understand byte alignment. This article gives some suggestions for byte alignment, as well as some related introductions to byte alignment:

  • what is byte alignment
  • why byte alignment
  • Risk of byte misalignment
  • Implications of byte alignment for programming
  • Objective-C byte alignment implementation

? iOS underlying principle 39: Instruments series (3) Animation Hitches

@Leo : Due to the emergence of devices with high screen refresh rates and dynamic frame rates, it is no longer accurate to use FPS to measure the smoothness of the interface, so Apple proposed the concept of Animation Hitche to measure the frame drop during sliding. This article explains the stages and principles of interface rendering in detail, and covers the reasons and solutions for Hitche at different stages, which is a very good reference for fluency optimization.

?Network Communication | HTTP(S) Those Things

@AidenRao : HTTP is very common throughout the Internet. For example, we use it when watching dramas, watching short videos, and programming for Google. As R&D, we are obliged to deeply understand its structure, specifications and design ideas. After reading this article you will be able to:

  1. ? Quickly locate HTTP problems;
  2. ? Familiar with common header fields in HTTP packets;
  3. ? Learn the basics of encryption.

Finally, I have the ability to learn HTTP in depth through tools such as WireShark, Chrome, Telnet, and even RFC documents.

? [iOS 16 NSURLComponents behavior changes]

@Speedboy : According to the RFC3986 specification of HTTPURL, only the following four are allowed in the URL:

  1. English alphabet
  2. number
  3. -_.~ 4 special characters
  4. All reserved characters, including ! * ‘ ( ) ; : @ & = + $ , / ? # [ ]

And it is required to convert special characters into corresponding hexadecimal when using special characters.

So in iOS16 if you use

[NSURLComponents componentsWithString:]

or

[NSURLComponents componentsWithURL:resolvingAgainstBaseURL]

The method to construct a URL that does not conform to the RFC3986 specification (commonly such as URLs containing – or _) will directly return a nil.

? Flutter state management new practice

@CrazyCoderShi : Declarative UI is not a new technology in recent years, but the declarative UI framework is very popular in recent years. Speaking of mobile terminals alone, cross-platform solutions include: RN, Flutter. iOS natively has: SwiftUI. Android natively has: compose. There are a variety of solutions on the Flutter platform, BLoc, Provider, RivePod, GetX, etc. This article makes a new attempt from the direction of functional programming, which is a good learning material. The editor suggests that those who are unfamiliar with the Rx series framework should not be easily put into the production environment.

tool

? Xcode console alternative – ConsoleRedirect

@水水: ConsoleRedirect is a tool that synchronously writes the output of Xcode to the specified directory under macosx in real time through the stderr and stdoutput of the redirect App. With log viewing tools such as klogg, you can view, filter, find, and highlight Xcode’s console output in real time. It is used to replace the Xcode console output with relatively thin functions. The operation is relatively simple, and friends who need it can try it.

Pulse 2.0 released

@kemchenj : Pulse is an open source log framework for Apple platform, which not only provides AppKit/UIKit integration, but also provides a visual tool App to view logs. Version 2.0 was recently released with a substantial rewrite, including:

  • Added log viewing tool for macOS/watchOS/tvOS, implemented with SwiftUI.
  • Performance improvements:
    • Log storage space is reduced by 90%. Use Apple’s lzfse for compression, and use SHA1 instead of SHA256.
    • The preview image of the log is changed to a small-sized thumbnail, and HEIF encoding is used, taking Demo as an example to reduce the storage usage by 99%.
    • Document format optimization. Allows to control the time frame of the share, and using lzfse instead of ZIPFoundation can reduce the file size of the share.
  • Documentation rewrite, generated using DocC.

Moyu Weekly

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

  • Topic of this issue: App Accelerator Sharing Session & What is Accurate Testing
  • Learning this week: iOS Memory Concepts
  • Content Recommendation: Swift Content Recommendation & Github Practical Tips
  • Touch the fish: two dynamic image generators, iOS 16 Beta 6 and iPhone 14 release date confirmation, system design course and Go language tutorial, IAP server notification status code change process.

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/%23214
This site is for inclusion only, and the copyright belongs to the original author.

Leave a Comment