背景:使用 uniapp 開發的 Android 和 IOS APP
目標:IOS 商城發布, 安卓APP 打包,並滿足正常的消息推送。
重點: 2. 安卓,ios設備調試 ,
3.hbuilderX 自定義基座調試,
4.unipush 推送,
5.unpush 廠商推送,
6.apple store 商城發布等。
技術小白,只為備忘,如果有同學遇到問題,可留言交流。
——————————————————————————————————————————————————————
1. UniApp 項目運行
點擊App.vue 文件,【運行】 - > 運行到瀏覽器即可運行項目。
2. 安卓及IOS真機設備調試
安卓:
連接安卓手機,打開開發者模式,開啟USB調試。
IOS:
安裝iTunes,安裝iTools。
連接數據線后,【運行】-> 運行到手機或模擬器 -> 選擇設備即可。 模擬器需要自行打開相應的模擬器。
安卓及IOS設備的真機運行是在手機上安裝標准調試基座,就是手機上類似 這樣的圖標,打開即可進入要調試的APP。
3. 自定義基座調試
在開發中簡單的應用HBuilderX里面自帶的標准調試基座就夠用了,但是在使用unipush時,標准調試基座是默認不集成進來的,所以這里就需要使用自定義調試基座。
簡單的說,如果使用自帶的標准調試基座在調試APP的應用時,unipush 推送的消息是接受不到的。接觸過的同學應該都知道,這里自己爬坑,看文檔會看到。
自定義調試基座也很簡單。
從【運行】 -> 【運行到手機或模擬器】 -> 【制作自定義調試基座】
進入后,其實就是進入到打包的頁面了。
在真機及模擬機運行時,可以使用雲端證書,后期正式版打包時,可以使用自己的證書,證書生成方式如下:
在裝有JDK環境的電腦上執行cmd命令。
// 進入D盤 D: // 其中 testalias 為證書別名;test.keystore 為證書文件名稱 keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore Enter keystore password: //輸入證書文件密碼,輸入完成回車 Re-enter new password: //再次輸入證書文件密碼,輸入完成回車 What is your first and last name? [Unknown]: //輸入名字和姓氏,輸入完成回車 What is the name of your organizational unit? [Unknown]: //輸入組織單位名稱,輸入完成回車 What is the name of your organization? [Unknown]: //輸入組織名稱,輸入完成回車 What is the name of your City or Locality? [Unknown]: //輸入城市或區域名稱,輸入完成回車 What is the name of your State or Province? [Unknown]: //輸入省/市/自治區名稱,輸入完成回車 What is the two-letter country code for this unit? [Unknown]: //輸入國家/地區代號(兩個字母),中國為CN,輸入完成回車 Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct? [no]: //確認上面輸入的內容是否正確,輸入y,回車 Enter key password for <testalias> (RETURN if same as keystore password): //確認證書密碼與證書文件密碼一樣(HBuilder|HBuilderX要求這兩個密碼一致),直接回車就可以 //以上命令運行完成后就會生成證書,路徑為“D:\test.keystore”。 keytool -list -v -keystore test.keystore Enter keystore password: //輸入密碼,回車 // 會輸出以下格式信息: 復制代碼Keystore type: PKCS12 Keystore provider: SUN Your keystore contains 1 entry Alias name: test Creation date: 2019-10-28 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN Serial number: 7dd12840 Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119 Certificate fingerprints: MD5: F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5 SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7 SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26 Signature algorithm name: SHA256withRSA Subject Public Key Algorithm: 2048-bit RSA key Version: 3 // 其中證書指紋信息(Certificate fingerprints): // MD5: 證書的MD5指紋信息(安全碼MD5) // SHA1:證書的SHA1指紋信息(安全碼SHA1) // SHA256: 證書的SHA256指紋信息(安全碼SHA245)
以上信息中,證書私鑰密碼,證書別名,SHA1指紋信息,證書源文件,是需要用到的文件,需要記錄。
如此打包,打包好以后【運行】-> 【運行到手機或模擬器】 -> 【運行基座選擇】,選擇剛剛打包好的基座,然后運行到設備就OK了。
4.UniPush 推送
使用uniapp開發,最直接的推送工具就是unipush,雖然各種個推的長短不一,也各有利弊吧。
首先,配置unipush開啟
直接配置即可。
其中,包名要和打包的位置一致,應用簽名就需要證書的SHA1指紋信息,IOS的配置另作記錄。開啟Unipush后,進入UniPush 頁面,通過數據庫中記錄的 CID 即可直接推送消息。
5. 廠商推送
注冊各大廠商的開發者平台,並創建應用,在不同的廠商中配置相應的APPID,APPKey等數據,配置完以后,即可打包。
Tips: 所有的包名應該是一致的,如果不一致,打包會失敗的。
6.apple store 商城發布
待更新...