Ionic3开发教程 - 发布IOS版本(4)

Ionic3开发系列教程
Ionic3开发教程 - 环境准备(1)
Ionic3开发教程 - 开发(2)
Ionic3开发教程 - 发布Android版本(3)
Ionic3开发教程 - 发布IOS版本(4)
Ionic3开发教程 - 更新(5)

Ionic3常用命令行,所有命令都必须在项目根目录下执行

ionic start App1 tabs
ionic serve
ionic cordova platform rm ios    //移除android/ios平台
ionic cordova platform add ios  //创建android/ios平台,自动执行ionic cordova resources ios,创建图标和启动屏幕
ionic cordova build ios/android
ionic cordova resources ios,创建图标和启动屏幕
ionic cordova plugin rm cordova-plugin-camera//移除插件
ionic cordova plugin add cordova-plugin-camera//添加插件

查看更多命令:官网地址
查看命令参数:ionic serve --help

首先,ios打包必须在Mac OS系统环境下进行,使用Xcode做真机调试、打包发布。
没有Mac的也可以使用虚拟机(建议全部下载最近的软件):IT之家学院:一步一步教你VMWare安装苹果Mac OS X

整体的步骤可以分布以下几步:
  1. 安装Ionic3的运行环境,完成浏览器调试
  2. 苹果开发者中心创建各种证书和文件
  3. Xcode下完成真机调试
  4. Xcode打包开发环境包,测试极光推送
  5. Xcode打包生产环境报,发布到App Store

1、安装Ionic3的运行环境

  • Nodejs环境
    下载*.pkg安装文件,下载地址v8.11.3
    安装完Nodejs后,默认就安装了npm命令支持,不过国内由于墙的问题,建议安装cnpm;
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

默认使用npm安装的包都保存在c:/users/root/appdata/roaming/npm,如果要修改npm默认安装目录;
1、执行npm config ls,查看当前目录信息

image.png

**2、修改prefix的值:npm config set prefix * **

npm config set prefix "D:\Develop\nodejs\node_global"
npm config set cache "D:\Develop\nodejs\node_cache"
  • Ionic3环境
    执行命令sudo npm install ionic@3.20.0 -g
    安装好nodejs和ionic3之后,就已经可以在浏览器中进行调试了,命令:sudo ionic serve

2. 苹果开发者中心创建各种证书和文件

首先需要先创建一个Appid,然后进入苹果开发者中心,创建开发者账号。
要申请什么类型账号请看:苹果开发者账号类型区别

开通开发者账号之后,你需要创建这些

  1. 开发证书、发布证书、开发环境推送证书+生成环境推送证书(可选)
    极光官网提供证书申请教程
  2. Devices:测试设备,最多100台(加了再删,占用一个名额,不恢复)
  3. App ids:ios应用,没有数量限制
  4. 开发环境和发布环境PP文件(Provision profiles)
    这里要说明以下为什么在配置文件里不见选择推送证书的选项,是因为我们在配置APP ID的时候已经绑定了推送证书,而在配置文件里又绑定了APP ID,所以就等于已经通过APP ID绑定了推送证书了
  5. keys(可选):基于token的身份验证,创建后只能下载一次。极光推送中的第二种验证方式,多个极光应用,可以共用同一个keys;不用麻烦的创建多个应用的开发、发布推送证书。

最后有这些东西:

  • 四个证书:1.开发者证书 2.发布者证书 3.开发环境推送证书 4.生产环境推送证书
  • 一个APP ID
  • 一个测试设备(Device)
  • 两个配置文件(Profile)

在Mac本地双击导入4张证书、双击导入两个pp文件(用于xcode签名)。
如果要使用极光推送,那么进入钥匙串管理,把两张推送证书导出为.p12文件,记住密码,上传到极光推送ios验证。

3. Xcode下完成真机调试

步骤:

  1. 创建ios平台文件
ionic cordova platform rm ios   
ionic cordova platform add ios  
ionic cordova resources ios//正常执行完上面两句,资源文件都已经被更新,如果没有更新则执行本行命令
ionic cordova build ios

创建好ios平台目录后,双击打开 项目名.xcodeproj,会自动在xcode中打开本项目。

  1. 签名


    image.png
  2. Capabilities设置


    image.png

    image.png
  3. info设置


    image.png
  4. build setting》code signing设置


    image.png
  5. 项目-info.plist设置


    image.png
  6. JPushConfig.plist设置(极光必须)


    image.png
  7. 极光后台证书验证(极光必须)


    image.png
  8. app ids推送服务开启(极光必须)


    image.png
  9. 设置Edit Scheme(极光必须)
    这里的设置具体不清楚是做什么的, 只知道设置了debug还是release,和发布打包时的环境production、devement有关系。建议如果开发环境设置为debug;生产环境除了Run其他全部为release;
    极光后台测试开发环境设置为debug,生产环境设置为release;
  10. 生成.ipa安装包(极光必须)
    极光推送必须打包ipa,安装到iphone进行测试。查看极光测试日志,可以打开mac的终端查看app进程的实时日志。

极光推送问题排查神贴:常见问题 - JPush 合集(持续更新)
安卓打包发布神贴:IONIC3 打包安卓apk详细过程(大量图文)

12、App打包ios上架:https://www.jianshu.com/p/8c5350a82f80


如何清除角标

这个问题极光社区大神做了总结,简而言之就是:

1、Android上的角标和极光推送没有毛关系

2、IOS上的角标清除

需要分别清除服务器和客户端的角标
清除服务器角标:jpush.setBadge(0)jpush.resetBadge()
清除客户端角标:

  1. 方法一:
jpush.setApplicationIconBadgeNumber(0).then(()=>{
        alert("角标清除");
});
  1. 方法二:
    打开Classes/AppDelegate.m文件,添加生命周期,执行角标清零方法
- (void)applicationDidBecomeActive:(UIApplication *)application
{
//    NSLog(@"\n ===> 程序重新激活 !");
    application.applicationIconBadgeNumber = 0;
    
}

极光社区大神贴:极光推送的角标问题——让人又爱又恨的小红点
间书IOS生命周期总结: iOS程序执行顺序和UIViewController 的生命周期

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生_X自主阅读 15,977评论 3 119
  • 笑的拟声词用哈哈就够了 而哭的拟声词究竟该是什么呢? 呜呜呜,嗯嗯嗯,哼哼哼,哇哇哇? 好像都是 好像都不是 其中...
    段童阅读 254评论 0 0
  • 昨天又攻击了别人。 我其实不愤怒,我就是觉得讨厌。 我讨厌别人充满怜悯地说,“乖,我想帮帮你”。 去你妈的!不需要...
    自我觉察日记本阅读 256评论 0 0
  • 参与者的需求是相同的,结果随着事件的转变,使每个人产生了不同的概念。 就好比我们的流成考核,由起初的个人区域打扫,...
    杨平的阅读 304评论 0 0