审核 - iOS插件化开发远程更新动态库
迷茫
迷茫 2017-04-17 17:56:36
0
4
526

我现在有一个需求。公司要实现iOS插件话开发(非HTML5方式)。大概的思路是,上架一个主程序,今后添加功能模块的时候,工程师负责开发framework。每次主程序启动的时候,动态从服务器下载该framework。实现应用程序远程更新,而且可以不用商店再次审核。
但是目前遇到的问题是,据说这种远程下载动态库的方式,苹果是不允许的。
有没有哪位知道,苹果为什么不允许,是不允许远程加载,还是不允许使用动态库。大家有什么好的建议么。多谢

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(4)
迷茫

如果蘋果允許你透過遠端下載動態庫來更新 App,那麼審核這個步驟就形同虛設了。

洪涛

可以看看 JSPatch,一個開源程式庫橋接 Objective-C 和 JavaScript,可以變相做到動態加入修改模組。

阿神

很抱歉,我只在本地測試過,我去查詢了一下,SamirChen 說的是對的,生產環境應該是不行的。請大家參考他的回答。


確實是可以透過dlopen的方式打開沙盒裡面的framework,而且這種方式不要求iOS8,是另一種比較少見的hotfix方式。

有人實踐過這種hotfix,啟動時下載服務端的framework的zip包,然後解壓、加載,可以成功,在蘋果那也確實過得去,上海有家公司就是這麼幹hotfix的。

按照這種思想,確實是可以做到插件化開發的。因為比起其他JSPatch、lua的wax這種的,都是寫js、lua語言來調用OC接口,打打補丁還行,真要做功能開發會累死,而使用framework的方式具備了原生編寫的優點,又有hotfix的功能,非常棒。

但是,為什麼市面上很少看到這麼幹的呢。照道理說,蘋果一般是禁止這種行為的,按照蘋果的說法,如果被發現了,可能會下架(其實按照蘋果的說法,lua那種也是不行的,但是從來沒有聽說過誰被下架了,js的方式是可以的。但是,你可以試試,說不定可以過去,例如,審核時不開這個功能,過審了之後再開。

我以前也想過這種方式,後來覺得風險太大,所以沒這麼幹,畢竟是公司項目,萬一下架了,我是要承擔責任的。

現在蘋果審核還是很快的,遠端更新整個模組的話,必要性不是很大,打打補丁就夠了。

如果你覺得這種插件化的開發比較好管理的話,我建議你可以使用私有pod倉庫這種,把框架、基類打成單獨的pod,其他人各自開發各自的模組的時候,打成各自的bundle和靜態庫。這樣,他們的提交對你是沒有影響的,你只要定時pod update一下就好。每個模組的增刪也是非常方便的(如果你的app有那麼大的話)。

刘奇

樓主,我最近也在關注這個問題,請問你實現了這樣的方式沒,動態更新app?然而是怎麼做到的

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!