It is my first time to attend WWDC in the United States.


This year’s WWDC has few highlights. It feels general and scattered. It is a patchwork of small points without seeing the main melody and direction.

AR takes up a lot of space and is the main character of this WWDC. There is a special area for attendees to play Swift Shot, which uses ARKit2’s new feature of multiplayer game. After playing it on site, the audience felt ordinary and had a feeling of not being popular. Apple is making great efforts to develop AR and intends to be the next big technology point and platform. It is supposed that there will be hardware cooperation. It is really awkward to play AR with iPad/iPhone now, and AR still needs the cooperation of glasses to be used naturally. This AR support image tracking, scene saving and real light reflection, it is understood that the effect is really good, do AR people will be very excited.

There is a major update to the AI. The new Create ML makes it easier to train CoreML models, which were previously trained using other frameworks and then converted to run on CoreML, or developed using Turi Create. Apple’s AI strategy for developers takes a fool-trick approach. It does not need to know ai-related technologies and algorithms, but can be used by dragging and dropping according to rules. It only provides a limited number of commonly used application scenarios, such as image classification, text classification and feature prediction. In the way of transfer learning, the trained model is built into the system, and the user only needs to train the last layer, resulting in a very small model that fits the field of mobile applications. The IDE does a pretty good job of getting started in a minute with zero fundamentals, but the problem is that it can’t be cross-platform. If you want to use Android, you can’t do it.

IOS12 features, feel the highlight is to prevent addiction and disturb, with wechat 4.2 released when “it is time to put down the phone, face to face with friends” this slogan a bit like. Statistics of APP use time and limit the use time of a single APP are very demanding functions for me, but not necessarily for the general public. Few people will limit themselves. Parental control should be popular. People don’t like restrictions on themselves, but they like restrictions on their children. The newly added features of Notification have indeed solved the problems caused by various mobile phones. It is also emphasized that APP should not push messages for the purpose of activation, but for the purpose of bringing convenience and useful information to users. These features take user value as the center.

In the United States to see Samsung S9 ads on TV, unscrupulous satire of the old iPhone slow problem, coupled with the previous battery gate, resulting in iOS12 attaches great importance to the low-end machine performance optimization, performance optimization is iOS12 earliest mentioned a point, Sharesheet, While that may not seem like a big deal, iOS12 can be combined with hardware to boost CPU performance (overclocked?) the instant an APP launches. , improve the opening speed, and then quickly down to save electricity, this is a software and hardware integrated company to do the optimization.

The Mac upgrade, which has a lot to say about the night mode, well it might be exciting for people who want it, and the implementation might be big, but it feels like a minor feature. The highlight for developers will be support for MAC apps using some UIKit components next year, so iOS apps can be migrated to the MAC at a low cost. This is a big project, currently Apple official stock, news and other apps try to use this way to develop MAC applications, a set of code services iOS/iPad/ MAC, with internal business first pit, almost launched later, no wonder these apps will be updated this year, the basic update needs business cooperation.

Aside from Animoji, FaceTime, Photos, Siri Shortcut, and more, the details of each Session are available in various online translations, so I’m not going to join in the fun.


In fact, except for the first day of the summative Keynote must be listened to on site in pilgrimage, other Session sharing is actually not necessary on site at all. The follow-up listening on the Internet is the same, and you can also fast forward and repeat freely. There will be no question and answer Session after the Session, all communication will be in the lab. So the focus of WWDC is only two things: meeting apple employees in the lab and getting to know other developers. I also tried to go to the lab and ask some questions.


I would like to ask about HotPatch if I have the opportunity to meet AppStore reviewers.

The response on Lab was less than satisfactory, mainly repeating one point: audit cannot be bypassed. As long as there is a network, a single request field can change all functions to bypass the audit. There is no way to say whether a technology can bypass the audit. It feels like she can’t even bypass the audit herself.

In another high-level meeting, when I mentioned hotpatch, I got an emotional reply: We don’t like it. On the whole, it seems that Even though HotPatch is a strong demand in China, Apple is not willing to spend much effort to meet the demand of Chinese developers. The scheme with too much authority like JSPatch has touched the bottom line of security, and they cannot check whether security measures are taken one by one. There is no way to check if there are any private API calls after auditing. The easiest way to do this is to cut all the way through.

Apple does not reject dynamic updates, as long as the updated content is not significantly different from the approved content, not to bypass the audit dynamic updates are acceptable. For various new dynamic solutions like RN/Flutter, they will evaluate whether these technologies are risky, whether they can be abused, look at what online apps are doing with them, and then decide on approval measures.

Some other points:

  1. The reviewer will punish the APP for delayed review depending on the situation, visually for apps that intentionally violate the rules or continuously violate the rules. There is no time limit for the length of the delay, and the internal time is not disclosed.
  2. During the review, we will make a horizontal reference to other apps with the same account to see whether other apps also violate the rules and conduct a comprehensive review.
  3. Generally, an APP will be directly removed from the shelves in very bad cases, and at least one or two days in advance notice will be given. Generally, there is no need to worry that the online version will be affected if the APP is not approved.

I asked them how to deal with the need for hotfix when I communicated with them on Facebook. They update the version directly, and if there is a special emergency, someone who works with Apple can get quick review response.


We built an iOS grayscale system inside the company, which collected all the Invitation codes from TestFlight through our own email, and then gave them to users directly in the APP, so that users could participate in the internal test without leaving the APP and filling in their email, and they could recycle the invitation codes and make full use of 10,000 invitation codes. This was originally the idea of QQ mailbox. We have automated the process into a system, which can be used by all apps and can break through the limit of 10,000 invitation codes. We can introduce it in detail later.

This product has not been made public because WE do not know Apple’s view on this kind of practice. This time, I asked relevant personnel in lab and got the reply that there is no problem in doing this, although it is not recommended, it is completely allowed. In addition, because of the large number of requests in our system, they also noticed that Chinese users do not like to use email, and TestFlight cannot meet the original demand, so they launched TestFlight Public Link, which does not require users to provide email. Open the link to participate in the private beta anonymously, which is a nice change. No specific launch date has been given, just This summer.

ITunesConnect (renamed AppStore Connect) opens a lot of APIS this time. Before doing grayscale system, many apis were captured on the website to see the request. There is no standard interface, and there is always the risk of interface change. No need for a MAC machine to run deployment.

Technique lab

I went to Technique Lab with my colleagues to ask the problem of dynamic library loading with a small probability of failure. Github looked at the source code of Dlopen on site, and came to the conclusion that there was insufficient memory, which may be caused by the large size of APP. There was no clear reason, and complained that our volume of more than 100 M was too large. They don’t think an APP needs to be so big. When I say FB is bigger, he says FB is a bad case and should not be compared. It is very bad to spray FB directly.


  1. The lunch served at WWDC was dark, especially the burger on day one, which was the worst I had ever eaten. It was cold, hard and outrageous. It’s easier to accept fish steaks for the next few days, even though they’re cold.
  2. WWDC will have bash on Thursday, an outdoor party and concert, which is very good. The show will be hosted by the famous Panic! At The Disco is very good At setting up The atmosphere. They rock and roll very much. The audience is very high. It’s a little awkward because it gets dark in California at 9:00, and the concert is all in the sun, so nightlife is really not California.
  3. Silicon Valley has done a great job in supporting people with disabilities. At WWDC, blind people can be seen attending. At LAB, there are people in wheelchairs answering questions.
  4. In Apple’s lab, we have heard older programmers answering questions, with a visual estimate of at least 50+, whose job is to write codes. It is understood that companies like Apple are more likely to do so, while FB and Google are mainly young people.