Welcome @Zhangjiafu and @Aidenrao to join us in editing the weekly newspaper in the future.

news

IOS 11.3 is coming and it’s the biggest update to iOS 11 so far

Apple recently released the developer preview of 11.3, along with the Xcode 9.3 Beta, which is expected to be released in the spring (March). This is the biggest update to iOS 11 so far, with major additions such as battery health viewing, ARKit upgrade to version 1.5, service worker support in Safari, and many other minor improvements.

With iOS 11.2.5 push, Homepod is available for pre-order

Apple has released iOS 11.2.5, which includes support for HomePod smart speakers and the ability to read news via Siri (us, UK and Australia only). This update is still focused on fixing bugs and security holes.

HomePod also announced its launch date, announcing that it will go on sale on February 9 with pre-orders starting on January 26 in the US, UK and Australia. It was launched in France and Germany this spring. But it is unclear when it will hit the Chinese market.

Apple’s augmented reality tool kit can now detect walls and 2D images in beta

ARKit has released a major minor update: support for vertical plane detection, which can detect walls; It also improves the recognition of irregular horizontal planes. Overall tracking speed and accuracy are improved; The video stream presented to users has also improved from 720p to 1080p, making the AR experience more realistic. An unobtainable but imaginative update is built-in 2D image recognition based on computer vision, which can be used to identify posters or paintings on walls, for example, and can be used to determine the location of a scene, adding continuity to the AR experience. This series of updates brings more imagination to ARKit apps. Although ARKit’s current performance is a bit overblown, with Apple’s more amazing iterations like this, I believe the day will come when AR apps really change people’s lives.

Leak warning | iOS WebView cross-domain access holes

The cross-domain access vulnerability to the File protocol that was previously confirmed to have occurred on Android was also confirmed to exist on iOS, AllowFileAccessFromFileURLs and WebKitAllowUniversalAccessFromFileURLs 2 switch control for permitting File:// agreement to open the local page to access the local path to the file with the other network resources, The two switches in UIWebView defaults to open, so the loophole, WKWebView off by default, without risk, but as there are risks to open allowFileAccessFromFileURLs (many load offline web blog posts to open the switch), solution: Migrate to WKWebView and make sure you don’t turn it on yourself.

Small program support jump App

For developers, compared to the news itself, more need to pay attention to open App and App link to share to wechat open small program code how to write? Interested or have a need for children’s shoes can refer to these two links to practice.

Swift official forum migration is complete!!

This week the Swift forum finally completed the migration, and anyone interested in Swift development or detailed decisions can check out the previous discussions on features such as compactMap, a new “old” member introduced in Swift 4.1, or several new proposals.

The article

YYCache Source parsing

YYCache is a well-known key-value thread-safe, high-performance cache component. @j_knight_ from the use of methods, architecture design, code explain three aspects of YYCache detailed analysis of the implementation.

Functional programming Bible

Well-known public, “code farmers turn” liu after the object-oriented bible another masterpiece “functional programming bible, in this article, five days god create invariants, pure function, the recursion, higher-order functions, let god to explain the cause and effect of functional programming development for you, and why the functional world programmer can rest two days a week.

Weex + Ui – Weex Conf 2018

This paper introduces the practical experience of WEEX in the flying pig. After weeX is used in the flying pig, the first screen availability time is degraded 68, the Bundle size is directly reduced by 73%, and the page conversion rate is actually increased by 14.5% due to the better and faster experience. Also shared Weex page in the flying pig, hand Amoy, alipay for multiple ideas.

Finally, it introduces the process of weeX – UI open source library in the process of using weeX business in Alibaba Group.

JS evokes App solutions in wechat, Weibo, QQ, Safari

After a long time of experiments, summary of Weibo, wechat, QQ, Safari on iOS and Android platforms, evoke APP success and failure of the solution.

If the user has installed the App, he/she will jump to the corresponding Native page according to the business. If the user has not installed the App, he/she will jump to the AppStore or App market to download the App.

2018 iOS recruitment interview experience

I took six offers from Alibaba, Didi and Meituan to share my review materials, knowledge points encountered in the interview, as well as interview preparation methods, and introduce the process and style of each company for the interview. I need to pay to read the full article.

Object-oriented JavaScript programming: Principles and practices

If you are new to JS as a developer in another language (for example, as a client with a strong interest in the current big front-end direction), the object-oriented programming of JS may seem weird and confusing to you, then this article will help you understand.

Implement a debugger for JavaScriptCore — iOS

In this article, you will learn how to implement a JS debugger in your iOS App. First, you will learn how to build it in your project using JavaScriptCore source code. Then, you will learn how to implement a MyDebugger from JSC:Debugger. In this way, you can define your own debug capabilities. You can use the App to develop the related functions when the debugger is triggered. You can also write a devTool in the App.

🚧 Getting started with Bluetooth Low Energy on iOS

Introduces some concepts needed to communicate with Bluetooth peripherals, and uses an example to demonstrate how to use the iOS CoreBluetooth framework for development. The introduction to CoreBluetooth uses Raywenderlich’s CoreBluetooth Tutorial for iOS: Heart Rate Monitor.

Network Knowledge that software engineers need to know: From copper wire to HTTP (I) – Preface

This is a series of articles whose goal is to give software engineers an understanding of the nature of the layers of the network. This series of articles starts with network cables and takes you through Ethernet, TCP/IP, and HTTP/HTTPS. Intensive reading is recommended.

Recreating the Apple Music Now Playing Transition

Implementation of an Apple Music Now Playing animation from scratch based on StoryBoard and Auto Layout constraints Animating.

Simplifying Swift framework development

Introduces two tips to simplify the Swift Framework development:

  • use@_exportedDeclare references so you don’t have to declare them in every Swift file, like Prefix Header in Objective-C;
  • throughclassIs generated by means ofBundleAnd to make it easier to get resource files from the Framework.

How to create a complex loading animation in Swift

Raywenderlich’s tutorials are known for being easy to understand, but here is a step-by-step guide to implementing complex animations, using the core technique of CAAnimationGroup. If you don’t have time to follow the implementation step by step, you can also download the full Demo project from here.

Creating Flows

Process is a key part of user interaction design. For example, registration, we do not show users a long list of information to fill in, but instead divide it into multiple pages for users to complete step by step. So how do we use code to organize such a process? In this article, the authors explore in depth how to use low-coupling components to accomplish such a process.

Chinese copy layout refers to north

In our daily work, we often need to write some copy, materials, reports and other texts, you should be very skilled. However, have you seriously considered your punctuation, space and other use is appropriate? This article gives you a detailed analysis. I hope you can unify the usage of Chinese copywriting and typesetting with your own thinking and form your own (or your team’s) typesetting specifications.

Why cache NSDateFormatter?

Creating an NSDateFormatter object is not as lightweight as we might think, and if you need to use a formatter frequently, caching it may be a more efficient way to do so. This summary explains the cause of the problem and recommended caching methods, and is worth a look.

🚧 A better way to update UICollectionView data in Swift with diff framework

With the help of Diff algorithm, the UICollectionView can be refreshed in a more efficient way. This article briefly introduces the DeepDiff library and how to partially refresh a UICollectionView based on the difference between two arrays.

tool

WoodPecker

How to check the status of files in the sandbox when the app is running in real time? WoodPecker, developed by @Zhang Xiaogangyou, solves this problem by creating an app socket connection with the MAC client. In addition to viewing and modifying basic sandbox files, you can also customize communication packets to create extension plug-ins, which is very useful for debugging in some scenarios.

The drawback is that the provided framework needs to be manually integrated into the application and does not yet support cocoapod imports. The price is 30 yuan, interested friends can experience.

Fastlane: Boarding

Originally adding a testFlight test user required logging in to ITC and manually adding a mailbox. The use of boarding can simplify the process.

IOS Memory burst solution – OOMDetector component

This article introduces an iOS burst memory analyzer that makes it impossible to hide a very deep culprit at a fraction of the cost: OOMDetector. OOMDetector is an iOS memory monitoring component developed by hand Q team. Currently, several apps in Tencent have been connected with OOMDetector, which mainly has the following two functions:

  • Burst stack statistics: responsible for recording process memory allocation stack and memory block size, Dump stack data to disk when memory burst;
  • Memory leak detection: Detects memory leaks and currently supports leak detection for Malloc memory blocks and OC objects.

OOMDetector can quickly help developers find and locate App burst memory issues and memory leaks. The component is currently open source on Github, and interested students can try it out.

code

AppFolder

AppFolder is a lightweight framework for friendly display of folders within App folders, and is strongly typed. System directories such as “Caches” and “Application Support” already exist, and developers can add their own directories with a few lines of code. AppFolder takes full advantage of Swift’s inheritance, with a simple and beautiful interface. With it, you don’t have to use NSSearchPathForDirectoriesInDomains, never.

book

Refresh: Rediscovering business and the future

By Satya Nadella, the third CEO of Microsoft. The book describes how he remade Microsoft after taking over, emphasizing corporate culture and reclaiming Microsoft’s soul. The book also covers some of the decisions Microsoft made during its business transformation, such as embracing cloud computing, the promotion of Office across all platforms, the free upgrade strategy for Windows 10, and the acquisition of LinkedIn. The last part also discusses his thoughts on the three major directions of future technology development: virtual reality, AI and quantum computing.

Audio and video

How Bitcoin Works

The video introduces what bitcoin is and how it works, step by step, through a fictional example.

The current editor

@No story Zhuo, @Siniang, @mmoaay, @Hengerxiansen, @eyrefree, @DamonWong, @Toifan _ MSG, @Zhang Jiafu, @Aidenrao

instructions

🚧 indicates that the wall needs to be climbed