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.
news
🌟 We are one year old ~
This is the 50th issue of the weekly’s first anniversary and the first issue of our New Year. In the past 2018, thanks to the efforts of the editorial team and your support, we have made the following small achievements:
- A total of 49 consecutive weekly reports
- GitHub accumulated 2000+ star
- The gold Digging account has gained 8500+ followers and nearly 2400 likes, with an average of about 40 likes per article and a total reading of about 12.5W. I have been trying to push the boiling point irregularly since nearly a month
- Weibo topic #iOS Weekly 188w views
- SwiftOldDriver publishes 23 articles and gets 255 subscriptions
- The knowledge collection of brother team and SwiftGG translation team participated in the WWDC 2018 thematic activities of Nuggets, and organized the iOS Reemployment Alliance recently
- The weekly editorial team is also growing, and we now have 28 first-line iOS developers joining us
In addition, we launched a questionnaire in early December to collect your suggestions and hopes for the weekly report. Now we are sorting and summarizing, and will make adjustments according to the suggestions in the latest weekly report as soon as possible. May the weekly continue to grow with you in 2019
🌟 Weekly x knowledge collection xSwiftGG: iOS internal tweet job call
While we’ve all heard of recent layoffs, some companies are bucking the trend and continuing to hire technical staff. So our three organizations decided to take the lead in collecting some solid job offers and post a feature article on iOS in-app promotions on our news channel after New Year’s day.
🌟 Their 2018 summary
2018 has quietly left, 2019 is standing in front of us. In the past year, I believe we have both gained and regretted, which is common. The following articles are some of your own year-end summaries or summaries of the technical development of iOS in 2018. I believe that after reading their summaries, you will also learn something.
- 2018 year-end summary and the second half of the article summary – knowledge small collection
- 2018 Year-end summary – J_Knight_
- 2018 Year-end Summary – Tirara is a tech geek
- 2018 Year-end Summary – Lefex
- 2018 Year-end summary – Limboy
- 2018 Year-end summary – Grapevine
- 2018 Year-end summary – Bang
- IOS Tech History: 2018
The article
🌟 🐢 The Layer Cake
There is no need to say how hot Flutter is now. In particular, after the release of version 1.0, various factories are also carrying out pre-clearance research, and many have been used in actual projects. Flutter was chosen partly because it is cross-platform and partly, I believe, because of its efficient rendering performance. I’m sure many of you are curious about how Flutter renders. This article explains how Flutter renders and how it works, and how it remains efficient in handling the responsible view structure. This article will be helpful for students who are studying or using Flutter to think about Flutter architecture and optimization of Flutter performance.
🐕 Advanced UIView shadow effects using shadowPath
While iOS 7’s flat design does away with a lot of shadows, they have been coming back in recent years to add depth to the interface. Careful use of shadows can differentiate content in the UI, add depth, and draw the user’s attention. This article describes several effects that can be achieved with shadows, all by manipulating the layer properties. Some of these effects are very simple and some are very complex, hopefully they will stimulate your creativity!
🐎 A guide to writing your own iOS CI/CD integration script
Fastlane and Jenkins are common tools for building CI/CD (Continuous integration/continuous deployment) workflows. Instead of using third-party tools, this article builds a relatively complete CI/CD workflow that includes compilation, testing, checking code coverage, signing, distribution, and so on, based on Apple’s basic toolchain. If you are not familiar with the CI/CD principle, you may wish to go through this article, I believe that you can quickly grasp the operation process.
🐎 ISO-8601, YYYY, yyyy, and why your year may be wrong
Lowercase YYYY is our usual format date-year parameter. What happens if you write it in uppercase YYYY instead? Most of the time, they don’t seem to make a difference, but in the last week of the year, YYYY throws us a surprise. The author of this article will take you through the ISO weekly calendar for YYYY to really understand the difference between them.
🐎 The system learns one of iOS animation: view animation
Animation is fun and can breathe life into the user interface. When used properly, animations can also communicate information to the user and draw the user’s attention to important parts of the interface.
IOS Animations by Tutorials the author studied iOS Animations by Tutorials in a series of 7 notes covering the following sections: View Animations, automatic layout Animations, layer Animations, transitions to view controllers, 3D Animations, and other types of Animations.
This article is the first in the author’s series of notes, the article explains the realization process of spring animation, transition animation and keyframe animation in the form of examples from shallow to deep. Recommend readers interested in animation to follow the tutorial practice again, I believe you will have a harvest.
🐎 Functional programming – Cool Applicative Swift description
The three core concepts of functional programming are Functor, Applicative and Monad. Among them, there are a lot of materials about Functor and Monad, but Applicative has always been in the position of being disliked by both parents, which is really embarrassing. The core reason is that its scope of application is relatively limited. In this paper, Swift language as the carrier, introduced the basic knowledge of Functor and Applicative, about the method of learning from the more classical “box model” in the field of functional programming teaching, no complex mathematical concepts, is a good introductory textbook. Finally, I found an application scenario of Applicative as an example. Students who are interested in functional programming can read it carefully. Although Applicative has a narrow application scope, it can construct very elegant solutions for some problems in subdivided fields.
🐎 Hacking Hit Tests
We’ve featured it in the 35th issue of our weekly magazine, and this week SwiftGG has translated it for you to revisit iOS ‘Hit Test-based touch event handling.
🐕 How to test iOS networking code the easy way
Testing network-layer code is always difficult because it runs fast and doesn’t reproduce well. The solution presented is URLProtocol, an abstract class for processing protocol-specific data. You can write a subclass of URLProtocol to inject the data you need without changing your code, so try it.
🚧 🐢 Building an Interactive Voice App Using Custom Siri Shortcuts in iOS 12
Siri Shortcut is a new API that Apple introduced in iOS 12 based on the SiriKit framework. It gives developers a way to customize shortcuts to activities that users often use in their applications. Users invoke shortcuts by issuing voice commands to Siri, and can customize actual phrases by recording custom phrases associated with shortcuts. You can implement things like:
- Order something (e.g. Pizza, coffee, breakfast 😋)
- Information search
- Connect to any API
- Do whatever custom actions we want
- Perform Siri
- There’s more…
This article also provides a series of reference codes to achieve the above functions, hoping to provide help to interested friends.
🐎 GitHub Actions: Continuous Delivery of Swift Packages
GitHub Actions is a new feature GitHub announced at GitHub Universe 2018 that enables developers to automatically execute preset tasks directly on GitHub based on specific events.
This article documents the entire process of building Swift Packages to use this functionality, and summarizes some of the issues found during the process. GitHub Actions is still in public beta, but people are very excited about it. Because it enables each open source project to have its own unified and open automation workflow, it extends GitHub services beyond code hosting to the entire software development cycle, and it has the potential to change the way people use GitHub and even maintain open source projects, so we’ll see.
🐢 Simple iOS compilation
Knowledge of how compilation works is not often used in daily development, but that doesn’t mean we don’t need to know about it. In this paper, the system of iOS compilation of each link, even the signature link has been involved, simple, but also easier to understand. In terms of compilation principle, it can be divided into front end and back end. Parser and CodeGen are the most important among many concepts. It will be very helpful for us to know some knowledge about compilation principle to do deeper architecture and grammar design.
tool
SwiftRewriter – Swift code formatter using SwiftSyntax
Swiftsyntax-based Swift code formatting tool that requires Swift 4.2 and Xcode 10. You can easily and flexibly define and combine the code format you want.
Shapeshift
Quickly make a set of Swift files compatible with Playground on iPad, and even place the converted files in the Swift Playground Documents folder on your iCloud Drive so you can pick up your iPad and start programming immediately! 🚀
Woodpecker
We once recommended Woodpecker, a tool that can view App information on Mac and improve the efficiency of development and testing, in the 5th weekly issue in early 2018. But it’s now available as a free download from the Mac Store, and the free version uses most of its features.
Current Functions:
- View and modify sandbox files in one step.
- Monitor App network HTTP (S) requests without setting proxy;
- View, modify UserDefaults;
- Debug WebView online;
- Simple and powerful plug-in support.
By @ Zhang Xiaogang yo self-recommendation
Code Friend
Using the provided JavaScript interface, you can easily and quickly develop Xcode plug-ins for Xcode plug-ins.
USB Keyboard
After connecting iPhone to Mac via USB, you can type on Mac and input input method application on iPhone.
woza
The jailbroken iOS shell cracking tool, similar to Clutch and dump-decrypted, is a node version of Frida-ios-dump developed by AloneMonkey. In addition, Woza-Desktop is the desktop version of Woza, which is “shell-smashing with the click of a mouse.”
code
🌟 Stinger
Another approach to the well-known iOS AOP library Aspect. Shell functions are constructed using libffi and parsing method signatures to replace the original method implementation to sense method calls and capture parameters. Execute the original implementation and all section blocks directly using the same CIF template and function pointer; Without replacing the original implementation with message forwarding pointer, hook compatibility is better. The invocation method does not go through the message forwarding process, and there is no manual construction during the invocation of the original implementation and section code, which is more efficient.
Implementing a hook single instance object.
🌟 LeetCodeAnimation
How can I not brush up LeetCode no matter I am preparing for the school or social recruitment? However, the process of problem brushing is boring and tedious, and now the majority of programmers come to the good news. The author of LeetCodeAnimation is determined to demonstrate all topics in LeetCode in the form of animation. Compared with boring algorithms, it is easier to understand and remember them by using animation. Some algorithms have been implemented and will be updated continuously.
Audio and video
Ggtalk | entrepreneurship that something: lotus uncle and uncle memories eventful days sheep
This issue is very instructive for most programmers. Uncle Yang and Uncle Lian shared their own experience of starting a business, and at the same time led to a discussion on the topic of programmer career development. In the face of potentially high return but also high risk entrepreneurial opportunities, how to judge as an engineer, how to make choices, whether or not you can get shares and options in a startup, what it means, these questions will be answered on the show.
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, @Anotheren, @Shuishui, @Looping, @lao Lao Lao Donkey, @Bangben, @red paper, @Smiling drinking arsenic, @JimQ, XanderXu, Lao feng, zvving
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)