App Store 支持增量更新嗎?
整包更新的更新包體積大了很多。Android 支持增量更新,就很方便。
其實從 iOS 6 開始就支持增量更新 (delta update) 了,實現原理是,開發者不需要做額外工作,App Store 會對比新版本和各箇舊版本,然後只取不同的部分,生成不同的 patch package 給不同舊版本的已有用戶。解決方案非常優雅。
Q: How can I reduce the downloaded size of my app update for users that already have the previous version installed?
A: Starting with iOS 6, the app store will automatically produce an update package for all new versions of apps submitted to the store. When generating the update package, the app store compares one or more prior versions of your app to the new version and creates an optimized package for each that contains only the content that has changed between versions of your app, excluding any content that did not change. This comparison looks at everything in the application bundle, including the application executable, nibs, localizations, image files, video files, audio files, text files, and files containing data in a custom format.
閱讀更多:
Technical QA QA1779: Reducing Download Size for iOS App Updates
iOS7開始是增量更新
沒實現吧,我覺得增量更新挺好。
為避免浪費前人勞動先附上前人的相關解釋:
http://www.zhihu.com/question/20303569
都說蘋果系統很封閉,封閉在哪?基於封閉的軟體生態,蘋果有大量嚴格的要求,如禁止遠程修改代碼, 禁止繞過appstore直接內部更新版本等。增量更新最大的隱患即後者。目前能增量更新的app,通常都是更新部分腳本內容、資源內容。或者混合了web技術的app,如HTML5。不過webapp長期存在可能被蘋果禁止的風險,目前倒還沒有。推薦閱讀:
※App Store 支持增量更新後帶來哪些變化,對開發者有何影響?
※為什麼會有人覺得黑蘋果很low?
※iOS的UITabBarButton原生是怎麼實現跳轉的?
※學習手機客戶端 iOS 或者安卓軟體的開發,有哪些好的建議(包括入門書籍,開發經驗,行業相關信息)?
※大家對同步推的客戶端公然上了App Store怎麼看?