Really is a long time no article, in fact, saved a lot of drafts: In layman's afnetworking, how to read crash files, UIKit response chain and so on, but basically, has not been put out, at home and abroad to write the same content, And basically what I want to say is that I write better than I do.
But as a man with output, he still has to write something. But I can share with you in addition to entrepreneurial experience, as a partner of the experience, there is still this kind of promotion of individual combat capability, astray small tricks. So, here is ready to open the pit to write this series. However, I recommend here are basically domestic services, but can rest assured that I did not accept any facilitation payments, the criticism of the look on the good
Avoiding sensitive audit points--Friends Union online parameters
As an IOS developer, each version of the Boss has never been a product of a dog's strange feature, and the scariest thing is to be rejected with all sorts of strange. The common solution is to give Apple a version of XX when it sees it. After the audit, the XX unloaded.
For the big team, they have enough manpower and material to build the wheels, this just need to be controlled by their own servers. But for a development team (Ios/android/backend/front-end) with only four people like the gift, there is absolutely no time to build wheels. Friends online parameters are definitely a very good choice. But this feature is relatively deep, not particularly easy to find.
In fact, online parameters are not just submitted for review. Don't know if you remember last year's IOS 7 jailbreak, Tai Chi store was sealed in the official jailbreak package inside. After the incident, the other side directly remotely switched off the Taiji module. Here is the same way of thinking.
Due to the small team, often inadequate testing, oolong events often occur. Plus the audit cycle is very long, very hard to find in a system version number or a special device model test time missing, there are significant bugs ... But it is impossible to lower the frame, apply for expedited and wait one or two days. Just two days can ruin the operation team's efforts, the five-star application instantly become Samsung half (don't ask me why so understand?? ), this time through the online parameters of the remote switch off just fine. As long as you modify the corresponding update copy, for the user will not have too much problem. (Of course, this month's performance is not sure.)
So when we are developing, we should add dynamic switches to the new modules. But here attention to a problem, the Friend League refresh online parameters of the API is not a synchronous request, if you want to get online parameters to enter the application, need to listen UMOnlineConfigDidFinishedNotification
, and do not appdelegate inside wait for this notice and block the main thread, obediently write an identical splash page, Because although it doesn't seem to be a problem, there's a springboard crash on some systems (and don't ask why I know that).
A good helper to promote operational diagnostic anomalies--scheme
Scenario One : As a startup company, the application is often faced with operations team, promotion team, business development team (although the use of the word team, but in fact?? Do some weird things, like click Banner to jump to a strange place: it could be a WebView, it could be someone else's Home app page, it might be a download link for AppStore, it could be a special page inside the app, and so on. There are also a variety of open methods, such as needing to log in and then open, may require navigation push, and may require present.
Scenario Two : an avid user and you say she has encountered a bug and the program is not functioning properly. Although this time with the adhoc way, can diagnose the problem, but it is possible to re-install the good, lost important sample information. This time if there is a way to open the debug mode, such as floating display a log window, alert error, Remote printing log and so on.
Scenario three : a HTML5 game inside the app to interact with native code.
At this point, the entire UI page is easily driven by URIs. A bit like Android Intent, I only care about target and extra. Instead of needing to jump. First new, then set a lot of property, then Navigaitoncontroler push, the coupling degree is also reduced a lot.
For scenario One, scenario three doesn't have to be said. Believe that everyone knows, do not understand can refer to hhrouter this library, here to say scenario two.
This approach, first seen in OmniFocus's mobile version of the SEE:
1234 |
在 iPhone 下打开以下链接可以把语言切换为英语:x-omnifocus-debug:set-default:AppleLanguages:(en)如果要还原成系统语言,在 iPhone 下打开以下链接:x-omnifocus-debug:reset-default:AppleLanguages
|
Excerpt from this article
Therefore, we can also use this method to turn on Debug mode. For example, to send a user a liwushuo:///debug_mode
thing like that.
Start-up Team IOS development Tips