The IOS app's out-of-the-shelf review has always been a troubling issue, with one weeks or even half a month of audit time, often delaying the product's business plan.
In particular, it is difficult to avoid the audit process will be rejected by Apple, and then a cycle, it is painful.
In addition to the review before submission, as far as possible to ensure that the product is not a bug, and fully study the Apple app Audit policy, from the technical development level if you can solve the hot update problem, it is better.
So I simply sorted out the following techniques that can be used for internal updates of the product without having to re-submit it to Apple for review. If there are more options, or errors, please ask.
1. Hybrid App
Hybrid architecture enables real-time product updates with the help of front-end technologies such as HTML,JS. Through the establishment of the middle layer, to build front-end and native bridge, to achieve mutual communication and data sharing.
Common mixing Frameworks are: Cordova (formerly PhoneGap), reactjs/reactnative and some domestic technologies (html5+runtime,apicloud, etc., should be the same as the Cordova in the technical principle)
One obvious advantage of this technology is that it does not need to be developed multiple times for multiple platforms. But it is not omnipotent, in addition to the difference in experience, some of the major features are unavoidable to upgrade the client. such as Cordova,
is the ability to provide native interactivity in a plug-in way, if the plug-in is not enough to support the new features, you need to upgrade the version, update the plugin.
2. Jspatch
Jspatch uses the dynamic characteristics of OC, can get class objects and methods at run time, can also modify the implementation of methods, can add new classes and new methods dynamically, so as to realize the update of code.
However, this method is inconvenient for the development of new features and a wide range of changes, to do some repair updates are still possible.
A little more detailed introduction can refer to this article in the brief book Http://www.jianshu.com/p/8cec322531ae. Follow the time, I will dig into the source of Jspatch.
Instructions for use in Chinese on GitHub: https://github.com/bang590/JSPatch/blob/master/README-CN.md
3. After Xcode 6, Apple has opened dynamic Library compilation permissions for iOS. The so-called dynamic library, in fact, can be loaded at run time. Just take advantage of this feature to do hot updates for iOS. "Reference http://www.2cto.com/kf/201507/417661.html"
This approach provides a hot-update method by updating the dynamic-link library. However, I have not verified this approach (including the LUA scripting approach, nor have I learned it) and have no comment on usability usability.
4.cocos2d is suitable for game development.
The above is just a simple collation, not all of the technology I have been able to verify, if there is a fallacy, please ask. These techniques will be analyzed and compared in a follow-up.
Several scenarios for iOS hot update