Hi, Habr! This is a new release of the digest about iOS development news for iOS developers and not only (the digest begins with general Apple news that is interesting to a wider circle). All previous issues can be found on the VK page , and this time we experimentally try a more familiar and convenient IT site for Russia.
It is interesting to listen to your feedback on the format and suggestions in the comments.
Apple News
The annual presentation of WWDC is approaching, which means we should expect leaks and insiders about innovations for iOS users and new opportunities for developers. For example, in the 13th version of iOS it will be possible to include in the Dark Mode system, so beloved by Mac users. Multitasking on the iPad will also improve, and a new gesture will appear for the Undo operation - apparently, it is very inconvenient to shake the 13-inch iPad Pro.
In addition, Apple will slightly open the curtain of the system API: the number of NFC standards supported for reading will increase (support for ISO7816, FeliCa and MiFare will be added), it will be possible to update CoreML models on the fly (now the models are static and cannot be updated until the application is updated). Applications will be able to import photos directly from external drives, and users will not need to add photo cards to Photos application before using them in Lightroom-like programs.
Canalys predicts that the number of smart speakers will almost double this year compared to the previous one. Apparently, the relevant specializations and vacancies of “HomePod Developer” will soon appear with the requirement of five years of programming applications for speakers.
Apple is a pretty successful company, and many people want to get some of this success. Less than a month since the last case , as students again use ingenuity to get rich at the expense of the company: this time the teenager sued her, arguing that the facial recognition software led to a false arrest . Apple, of course, did not delay the response .
Swift News
Generics in Swift were from the first versions and were announced as one of the main features of the language, although then they had more stringent restrictions, and their use, along with Protocol Oriented Programming, could produce interesting results. For example, this is how the part of the program interface for working with the collections of the standard library looked like: ')
It's pretty hard to figure out the number of entities used and the connections between them. But progress and the language development community are not standing still: a new proposal has appeared on improving the functionality of generics. It turned out quite massive, its simplified version can be read with examples in the Swift Generics Evolution article. The syntax is planned to be expanded and sprinkled with sugar in the form of keywords:
protocolShape{ associatedtypeRenderervar renderer: Renderer { get } } funcallEncompassingShape() -> some Shape// `<T: Shape> T` `some Shape` func union(_ leftShape: some Shape, _ rightShape: some Shape) -> some Shape // `some`
And remember, was this a C ++ language? In fact, of course, he is alive and continues to actively develop, but he is buried on the Internet again. This time, the author proposes to switch to more secure Rust and Swift for system programming, reproaching even new versions of C ++ of possible vulnerabilities as compared with the proposed alternatives. Discussion of the article appeared on the Hacker News forum, the flames have not abated until now.
In conclusion - about different things. First, the company MindNode continues to disclose in the blog the details of the implementation of its product. In the previous post, we talked about improving the performance of the interface, in the fresh - about working with text. And secondly, there was a whole course of Reverse Engineering iOS Applications based on real-world vulnerabilities found by the author in applications.