Ionic 開發(fā)中遇到的問題 iOS/Android

1、View 緩存的處理
Ionic默認(rèn)對 View 添加了緩存的機(jī)制,不過在此 App 中,所有的 View 都需要進(jìn)行即時的刷新以及用戶添加新的網(wǎng)站后頁面也需要進(jìn)行刷新,那么就需要禁用掉 View 的緩存。
禁用緩存只需要在 View 中禁用即可。

view.jpg
  1. 鍵盤的不同模式的支持
    在不同的用戶輸入場景下,需要顯示不同的鍵盤模式以方便用戶輸入,如在輸入郵件時鍵盤則顯示郵件模式等。
    在 Ionic 中需要安裝鍵盤插件控制鍵盤模式的顯示。
    安裝后在$ionicPlatform.ready中調(diào)用即可。
鍵盤模式.jpg
  1. 設(shè)備網(wǎng)絡(luò)狀況的檢查
    因?yàn)榇?App 一直需要聯(lián)網(wǎng)操作,那么在 App 啟動的時候就要對網(wǎng)絡(luò)情況進(jìn)行檢查,當(dāng)網(wǎng)絡(luò)不可用的時候?qū)τ脩暨M(jìn)行相應(yīng)的提示。
    安裝網(wǎng)絡(luò)檢查插件后,在 App 啟動的時候進(jìn)行檢測并提示即可。


    網(wǎng)絡(luò)狀況.jpg
  2. iOS 設(shè)備和 Android 設(shè)備的圖標(biāo)以及啟動畫面圖片的批量生成
    iOS 設(shè)備和 Android 設(shè)備因?yàn)椴煌O(shè)備的屏幕尺寸適配問題,需要提供很多不同尺寸的圖片資源,包括 icon 和 splash 的不同尺寸。如果每一個尺寸都去使用 PS 導(dǎo)出,工作量巨大,還好有自動生成的工具,只需要提供最大的尺寸供生成即可。iOS 的 icon 和 splash生成:http://ios.hvims.com/
    Android 相關(guān)資源生成:https://romannurik.github.io/AndroidAssetStudio/index.html

  3. 反饋『意見及建議』調(diào)用郵件客戶端的方法
    常需要在菜單中添加上『意見及建議』選項(xiàng),當(dāng)用戶點(diǎn)擊后,調(diào)用郵件客戶端,自動填寫上收件人和郵件標(biāo)題,用戶只要書寫內(nèi)容點(diǎn)擊發(fā)送即可。
    跨平臺的方案是安裝EmailComposer插件,在按鈕的事件中調(diào)用即可。

    意見.jpg

    6.給 App 評分不同平臺的辦法
    為了引導(dǎo)用戶去給 App 評分,常在菜單中添加選項(xiàng)或者彈窗的形式對用戶進(jìn)行評分引導(dǎo),在 Ionic 只要判斷設(shè)備平臺后進(jìn)行相應(yīng)的跳轉(zhuǎn)到對于的商店即可。
    $scope.rateus = function () {
    if ($ionicPlatform.isIOS) {
    window.open('itms-apps://itunes.apple.com/us/app/domainsicle-domain-name-search/id511364723?ls=1&mt=8'); // or itms://
    } else if ($ionicPlatform.isAndroid) {
    window.open('market://details?id=');
    }
    };
    7.集成極光推送
    開發(fā) App 的主要用途就是在網(wǎng)站宕機(jī)后,使用推送功能進(jìn)行第一時間通知,以便技術(shù)人 員進(jìn)行快速響應(yīng),所以推送功能是必須集成進(jìn)去的。
    國內(nèi)有很成熟的第三方推送平臺:極光推送。
    注冊后進(jìn)行插件的添加,也就是jpush-phonegap-plugin。
    在用戶登錄的時候?qū)τ脩舭凑談e名或分組進(jìn)行標(biāo)識。
    var arrayObj = new Array("Tags" + loginResult.UserId);
    window.plugins.jPushPlugin.setTags(arrayObj);
    個人推薦按照分組也就是 tags 進(jìn)行標(biāo)識,因?yàn)橐粋€用戶可能會使用不同的設(shè)備,那么推送的時候不同的設(shè)備就可以全部都收到通知,不至于漏掉推送消息。
    API 端在監(jiān)控 Server 端進(jìn)行操作即可,也就是在檢測到宕機(jī)后,進(jìn)行極光 API 調(diào)用,發(fā)送宕機(jī)的提醒即可。
    8.打包 iOS 、Android 平臺的種種問題
    到這里就要顯示 Hybrid App 的威力了,一次開發(fā),全平臺打包發(fā)布。
    只要通過 Ionic 的 build 命令或者打開編譯環(huán)境進(jìn)行對應(yīng)的平臺打包即可,當(dāng)然打包之前最好使用模擬器進(jìn)行測試。
    有幾個問題是需要注意的:
    iOS 打包需要注意極光推送是分開發(fā)證書環(huán)境和生產(chǎn)證書環(huán)境的,需要特別的注意,極光推送的設(shè)置需要和本地打包的證書以及 plist 配置的保持完整的一致,注意下圖APS_FOR_PRODUCTION值的設(shè)置。
    Android 的打包發(fā)布則需要注意構(gòu)件工具 Gradle 的版本問題。
    iOS 提交后一般審核一周左右,以后每次更新基本都保持在一次等待一周的頻率,所以一定要測試好免得線上版本出現(xiàn)致命 bug 的情況。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容