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.

welfare

🌟 we send welfare ~

The weekly has been with you for almost a year. Thank you very much for your support and love. In order to better serve you in 2019, we have organized a questionnaire survey. On December 27, we will select a few of the friends who participated in the questionnaire to give a learning gift package and cash prize. As for what the prize will be, you can find out in this post, and there will be additional sweepstakes. We are eager to hear from you!

news

🌟 Weekly supports mail subscription!

In the following weekly Release, we will adopt the latest GitHub Release feature. Readers can go to our GitHub homepage and click Watch -> to select Release Only subscription. Your GitHub account will receive our release email every time the weekly report is published.

In addition to the new mail mode, we also provide the following three modes for you to choose according to your own needs:

  • Public id: OldDriverWeekly
  • RSS: Click to obtain the RSS feed
  • Nuggets: Old Driver iOS Weekly

The Cydia store announced its closure

IOS jailbreaking has these effects:

  • Saurik’s decision to shut down only Cydia Store, the payment system, will not affect the existing ability to install, uninstall, and manage apps. Free or paid apps will still be available for download. If you want to continue buying paid apps, you need to go to another repository (such as Packix, Chariz or Dynastic Repo) to download them
  • Saurik’s decision to close the Store was related to a BUG that enabled the purchase of any Cydia Store package through a user’s PayPal account
  • Sileo is a planned replacement for Cydia, but it is still in development

The article

🌟 🐕 What have I learned from blogging about technology

I believe that many programmers have the habit of writing blog/article, or are planning to write blog/article, because on the one hand, it can summarize and deepen the understanding of technology, on the other hand, it can also increase some visibility, which will help to get more interview opportunities. However, since most people are already busy with their work, few of them can write it down consistently. This writer has been a developer for just over three years, but has been blogging for two and a half years. The author has probably read it and written more than 50 articles, which can be said to be very productive.

This paper is divided into three parts

  • The journey of technology blogging
  • The benefits of tech blogging
  • Answer a few questions from some friends (fans) about blogging

Everyone has his or her own way of exploring the technical path, but persistence is an important and rare quality for anyone. I believe this article will answer some of the questions you have in mind.

🌟 🐢 Learn arkit-based Unity3d game development series from scratch

The author is Wang Han, one of the first iOS application developers in China, one of the first VR application developers, and the author of zhihu column stupid cat learning programming. Author of Cocos2D’s Definitive Guide, Virtual Reality — Leading the Future of Human-Computer Interaction Revolution, and Unity AR/VR Development: From Novice to Expert.

In this series of tutorials, the author takes you to learn how to learn arkit-based Unity3d mobile game development from scratch. The whole series of tutorials are based on practical projects, and take into account the difficulties and obstacles that beginners may encounter as much as possible.

Despite its name, this course is based on a certain understanding of Unity and 3D graphics. It is not completely zero-based. Of course, don’t be discouraged, the author also prepared the iOS introductory course series and AR-VR introductory course series for beginners.

  • IOS entry series includes: iOS7+OC development, iOS12+Swift4.2 development, ARKit native development, ARKit+Unity3d development, CoreML development;

  • Ar-vr introduction series includes: HTC Vive+Unity3d development, HoloLens development, UE4 Introduction course, UE4 VR development, Unity5.3 official VR tutorial, Unity AR: INTRODUCTION to VR development.

🐕 TikTok reverse, ladies of the world, here I come!

In the daily development process of iOS, we usually do some analysis of competing products or study the implementation scheme of some function points of competing products, which requires the use of reverse technology.

Taking reverse Douyin international edition as an example, the author wrote Hook code to complete the reverse function through a series of analyses including Frida shell cracking, Hopper static analysis, Reveal dynamic analysis and Charles packet capture, and finally achieved the breakthrough of regional restrictions, removal of watermarks and video sharing and downloading in Japan. The idea of the article is clear and clear, with us to clarify the whole analysis process of iOS reverse engineering.

🐕 Mocking With Protocols in Swift

Unit testing can cover many of our scenarios and increase the robustness of the testable code. But there are also many codes that are difficult to unit test. For example, data deletion operations are impossible to implement until the testable code is tested. The more problematic the quality of the software becomes. In this paper, the author uses the related features of Swift Protocol to cleverly construct some testing mechanisms to test some code that is not easy to write unit tests, and gives a concrete example. Worth learning from!

🐕 Data-Driven Table Views

It’s fair to say that UITableView is the most familiar control for all iOS developers, but UITableView has pain points like code duplication, control flow over complexity, and dependency inversion violations. The first half of the article pointed out the above pain points, and the features that UITableViewController has relative to UITableView; The latter part of the above pain points, based on UITableViewController to gradually achieve a basic version of the data-driven business model, lightweight design, simple usage, and easy to expand.

🐢 Optimizing Images

Images have always been a big consumer of App memory. Starting from loading, decompressing and rendering of images, this paper especially introduces how to optimize image memory in column phenotype applications.

🐢 🚧 How to convert your Xcode plugins to Xcode extensions

Xcode plug-ins and extensions are tools in our daily development. The author summarizes the development of Xcode as follows:

  1. What is a plug-in: just a type of package that Xcode launches with the specified info.plist file loaded
  2. Good plugin recommendations: Alcatraz (package management tool), Xvim (Vim) Editor), SCXcodeMiniMap (code map panel), FuzzyAutocompletePlugin (function fuzzy search), KSImageNamed (image name list), ColorSense (color conversion), LinkedConsole (console print jump generation Code files)
  3. Plug-in fabrication: Using Xmas, XcodeColorSense, and XcodeWay as examples, the author shows us how to Hook Xcode and interact with UI elements in Xcode
  4. Plugins banned: Due to the XcodeGhost incident in late 2015, Apple banned the loading of plugins starting with Xcode8. Of course, you can bypass Apple’s inspection by re-signing the plugin with Xcode
  5. The rise of expansion: When Apple dad closes a door, he will surely open a window. That’s when extensions in Xcode8 came into focus. Use the existing XcodeKit to access the document information and modify the current document content, but compared to the previous good plug-ins, this way to achieve very little. Using XcodeColorSense2 as an example, the authors show us how to implement/debug/install the extension. In addition, the author showed us how to use XcodeWay to call Apple Script with the new extension

🐕 Meituan open source Graver framework: Use “carving” to interpret efficient rendering of iOS UI interface

Meituan has developed a high-performance rendering framework for blending images and texts. Its feature is that the whole page does not use UIKit interface hierarchy and layout rendering, but uses its own graphics engine to draw all elements on a bitmap, and then assist with lightweight interactive control. With the support of this self-developed graphic scheduling engine, the network download/typesetting algorithm/graphics rendering can be controlled asynchronously, so as to achieve high-performance rendering effects of complex interfaces.

🐎 Image Analysis Solutions for Mobile Apps

This paper introduces several mobile terminal image analysis solutions. These include:

  • Cloud Solutions
  • Apple Vision API
  • OpenCV
  • BoofCV

We hope that with this article, we’ve made it easier for you to find the best solution.

🐕 Improving code testability with Swift protocols

Swift is a protocol – oriented programming language, test – driven is a popular way of working. Therefore, it is important to improve the testability of Swift’s protocol. This paper introduces some methods of grounding gas

  • Encapsulate the details of init with a factory pattern
  • Mock only to see if the behavior meets expectations
  • The protocol design should comply with the principle of dependency inversion

tool

How to Add a Recent Items Folder to Your Mac’s Dock

How do I add a recently opened project folder to the Mac Dock? I believe that many students in work have this need. The author of this article illustrated the whole process to us, the process is not complicated, the important thing is once and for all, can effectively improve our daily work efficiency.

code

IWeChat – Reverse restore and explore wechat

The author of iWeChat project hopes to learn the technical architecture and interaction design of building wechat credit by reverse-restoring wechat, and at the same time, to teach people how to analyze a third-party App.

The reverse skills, steps and tools listed in the project introduction are good introductory combat tutorials. Students who are interested in reverse and wechat design can pay attention to them.

Audio and video

Google Offer ggtalk | and Cee talk about how to get

There are a lot of programmers out there who are very excited about Google and have always wanted the opportunity to work at Google. Swiftgg’s GGTalk talks about this topic with Cee, a student from the translation team who recently got an Offer from Google. Mainly focused on Google’s interview process, how to prepare.

If you are interested, you can listen to it. Although there are some differences between the interview preparation in North America and that in China, it is still worth knowing about.

If you are interested in the north American interview, you can also cooperate with our previous column: North American software engineer interview brief introduction together “eat”, the effect is better.

push

  • Beijing – Baidu web disk continues to recruit iOS development: social recruitment, fresh year, internship can be. The project was technically challenging and the team’s technical atmosphere was excellent. Sincerely hope that all the gods come to learn, but also welcome a good computer foundation to learn together. Resume email [email protected], temporarily also welcome micro blog private message @xiaofei 86 chat ~

  • Beijing – Ant Financial wants iOS/ Android/front-end development: responsible for alipay membership and account business line, located in Beijing International Trade, 100 meters from the exit of Jintai Xizhao subway station. Interested students welcome to send your resume to: [email protected]/[email protected] (the same mailbox) or micro blog private message @ Tu Fan er _ MSG to understand the situation.

  • Shanghai Jike: if you know a smart, hardworking, ambitious and ambitious engineer, come and join us! Any references or resumes can be sent directly to Jason (Immediate iOS Leader) at [email protected] or @jasonyuh on Twitter.

  • Since 2016, Qizhi Technology has entered the field of Internet of Things and artificial intelligence through collaborative workflow Mesh of industrial UAV, and successfully provided uav solutions for real estate, construction, surveying and mapping, power inspection and other industries. If you are interested, you can find out about it via private message @Zhuo, who has no story.

  • Shenzhen Toutiao R & D center sincerely invites all iOS masters to do pleasing projects together: If you want to know more information about Shenzhen Toutiao, you can add small T wechat: Tomtan, to discuss technology and feelings can oh ~~~~

  • Beijing Bytedance iOS team continues to recruit: you can send your resume to [email protected], or add me (@aidenrao) on wechat Jingmu1994 to learn more information about the company and the position.

  • Beijing Baidu Education Business Division recruiting iOS development: Baidu Education Business Division, location: Beijing West Erqi. There are baidu Reading, Baidu Library, Baidu Listening and other App products under the department. The team has a strong technical atmosphere. If you are interested, please send your resume to my email: [email protected].

Pay attention to our

We have opened an official account, and every issue will be released on the official account (OldDriverWeekly), welcome to follow.

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

The current editor

@Siniang, @Xiangerxiansen, @DamonWong, @Msg, @Zhang Jiafu, @Parsifal, @Aaaron7, @KYo, @TOM510230, @Anotheren, @Shuishui, @Looping, @lao Lao Lao Donkey, @Xiaofei 86, @Bonben, @red paper, @Smiling drinking arsenic, @Jimq, XanderXu, Lao Feng

instructions

🚧 indicates the need to climb the wall, and 🌟 indicates the editor’s recommendation

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