背景:使用 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 商城发布
待更新...