添加极光推送以及在ios中的问题

时间:2020-12-06 03:50:29

项目为 ionic1 + angular1

1.添加极光推送插件 用cordova进行添加

cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey (这里的appkey要到极光官网注册账号 添加应用完成后拿到的)

2.在 $ionicPlatform.ready 里面添加极光初始化的代码

      //初始化jpush
try {
window.plugins.jPushPlugin.init();
if (device.platform != "Android") {
window.plugins.jPushPlugin.setDebugModeFromIos();
} else {
window.plugins.jPushPlugin.setDebugMode(true);
}
alert('初始化成功!');
} catch (exception) {
alert(exception);
}

3.在极光官网中进行系统消息通知用来测试  android成功  ios在打包过程中遇到问题

4.ios中的问题

本人用xcode7 打包 过程中报错 经查找发现 打包途中有个报错 UserNotifications not find

查找知道 IOS10 或者 Xcode8 及以上才支持 UserNotifications.framework

所以要想支持极光推送 需要升级到Xcode8

5.Xcode8 和 ionic1 之间的问题

用xcode7习惯了 打包发布一切没问题 怕升级xcode8以后会出现问题 (之前有过类似问题 另一个ionic3项目在xcode9上面打包发布一切正常 所以想用xcode9试一下打包运行ionic1的项目 发现会出现一系列问题 所以又用回xcode7)

所以决定装两个xcode 怕贸然升级会出现之前的打不了包的情况

6.安装两个版本的xcode 的方法和设置哪个版本的 Xcode 来编译代码

不管你先安装哪个版本的Xcode 最后默认用来编译你代码的 肯定是那个较高的版本

如果你的安装目录是一样的 都是 /Applications/Xcode.app 那么安装的时候会覆盖旧的那个Xcode  所以就要把之前的改为Xcode7.app (我取的名字为当前版本号)然后再进行安装新的 命名为Xcode8.app

编译代码设置:(要用到管理员权限 需要加上 sudo)

sudo xcode-select -s /Applications/Xcode7.app

sudo xcode-select -s /Applications/Xcode8.app

查看当前编译代码的Xcode版本

xcode-select -p

7.打包测试

果然 用Xcode8 打包ionic1项目没有出错  但是在运行过程中也出现了错误 app在启动页不动了 具体原因还未查出 应该和Xcode配置有关  (和用Xcode9运行出现错误雷同 哎!!)

8.总结

用ionic3完全没有任何问题  所以 用最新的框架是最好的解决方法