项目为 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完全没有任何问题 所以 用最新的框架是最好的解决方法