uniapp是一種跨平臺(tái)的開(kāi)發(fā)框架,可以讓開(kāi)發(fā)者在一份代碼的基礎(chǔ)上同時(shí)開(kāi)發(fā)出iOS和Android應(yīng)用。然而,最近有一些開(kāi)發(fā)者反映,使用uniapp開(kāi)發(fā)的iOS應(yīng)用無(wú)法在App Store上架。那么,這是為什么呢?
首先,我們需要了解uniapp的原理。uniapp是基于Vue.js框架的,通過(guò)將Vue.js代碼轉(zhuǎn)換成原生代碼來(lái)實(shí)現(xiàn)跨平臺(tái)開(kāi)發(fā)。在iOS平臺(tái)上,uniapp使用了WKWebView作為應(yīng)用的渲染引擎。而在Apple的App Store審核過(guò)程中,有一項(xiàng)規(guī)定是應(yīng)用必須使用Apple自己的渲染引擎,也就是UIWebView或者是WKWebView的內(nèi)建版本。
目前,蘋果公司已經(jīng)不再支持UIWebView,只支持使用WKWebView的內(nèi)建版本。但是,uniapp使用的WKWebView并不是內(nèi)建版本,而是自己實(shí)現(xiàn)的版本。這就導(dǎo)致了uniapp開(kāi)發(fā)的iOS應(yīng)用無(wú)法通過(guò)App Storeappstore被拒解決方案審核。
那么,有沒(méi)有解決方法呢?目前,uniapp官方已經(jīng)針對(duì)這個(gè)問(wèn)題提供了解決方案:
1. 使用uniapp官方提供的基于內(nèi)建WKWebView的uni-app模板進(jìn)行開(kāi)發(fā),可以避免使用非內(nèi)建版本的WKWebView。
2. 使用uniapp官方提供的uni-app plus插件,該插件可以將uniapp使用的WKWebView替換為內(nèi)建版本的WKWebView。
3. 使用其他第三方插件或工具,例如Cordova或者React Native等,可以實(shí)現(xiàn)跨平臺(tái)開(kāi)發(fā),同時(shí)符合App Store審核規(guī)定。
總之,雖然uniapp是一種非常方便的跨平臺(tái)開(kāi)發(fā)框架,但是在開(kāi)發(fā)iOS應(yīng)用時(shí)需要注意使用內(nèi)建版本的WKWebView,否則無(wú)法通過(guò)App Store審核。開(kāi)發(fā)者可以選擇使用官方提供的解決方案或者其他第三方工具來(lái)解決這個(gè)問(wèn)題。