在ionic3的时候打包上架过ios的版本,等到今天,差不多一年左右过去.做了个ionic4的app要测试打包的时候,才发现以前的东西忘的差不多了.不得不从头再来一遍,所幸的是这次看见了很多好的文章,于是把它们汇总起来,自己做一些补充,整理成章,以便下次回顾

版本目录

VMware:VMware Workstation Pro v15.0.0

Mac:Mac os10.14

NodeJs:10.15.3

Ionic: 4.12.0

Cordova:8.0.0

Xcode:10

创建Mac环境

如果已经有了mac笔记本或者黑苹果系统请跳过此步骤

参照下述方法安装MAC OS虚拟机

1下载VMware Workstation Pro v15.0.0,http://www.onlinedown.net/soft/2062.htm

2下载Mac OS10.14镜像并添加虚拟机,创建mac环境,https://www.52pojie.cn/thread-804000-1-1.html

环境配置

当设置好了Mac环境以后,就需要搭建Ionic4的运行与打包环境

按照如下顺序安装:

1 安装NodeJs,直接去官网下载安装(10.15.3)

2 安装 nrm :sudo npm install nrm -g,可以切换npm源,加快安装速度,详见:https://www.cnblogs.com/wangmeijian/p/7072053.html

3 安装ionic :npm install ionic -g

4 安装cordova:npm install cordova@8.0.0 -g

同时,在ios中测试,打包,上架都是需要依赖Xcode 的,去官网下载Xcode10,安装在应用程序里面即可

证书生成

证书生成是非常重要的一步

大致流程如下:

1在Mac环境里面,导出CSR文件,钥匙串访问->证书助理->从证书颁发机构请求证书

2在apple开发者中心里面添加Ids,注意与你项目的Id相同

3根据CSR文件,生成开发和生产证书

4添加设备

5添加描述文件

具体参见:https://www.jianshu.com/p/9c00358bcc44

生成平台项目

Warnning

在生成对应平台的数据的时候

1先检查资源文件夹resources下有没有ios平台的icon和splash,没有的话,执行ionic cordova resources(需要注册邮箱和密码) 生成对应资源,直到检查文件夹资源存在为止

2检查app文件夹的权限是不是都是属于当前账号,不能存在root级别的,详见 https://www.jianshu.com/p/f60d28adb468

上述确定无误后,执行 ionic cordova prepare ios,等待完成,在在platforms文件夹内多出ios项目结构

双击打开ios文件夹内的xcodeproj文件

Xcode启动后,操作参见 https://www.jianshu.com/p/9c00358bcc44,可能会遇到下述的问题

问题集合

1打开xcodeproj文件后,在Xcode中如果频繁出现lock和unlock的提示,或者有的文件被锁上了,就是我上面的说的权限问题,还是按照上面说的参考文章好好看看

2调试的时候出现下列错误

设置如下的选项即可

3真机调试的时候出现 App installation failed (A valid provisioning profile for this executable was not found)

解决方法,参见https://www.cnblogs.com/sunylat/p/9936145.html?tdsourcetag=s_pcqq_aiomsg

4在模拟器调试App的时候,启动后白屏,日志却没有打印东西,如下

后真机调试的时候,这里打印了日志,所以如果想要看到日志,不妨尝试一下真机调试

(还未上架,未续待完)

文档信息


感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接

ionic4 ios调试打包的更多相关文章

  1. [转载]IOS项目打包除去NSLog和NSAssert处理之阿堂教程

    原文链接地址:http://blog.sina.com.cn/s/blog_81136c2d0102v1ck.html 原文地址:IOS项目打包除去NSLog和NSAssert处理之阿堂教程作者:时空 ...

  2. 如何将 iOS 工程打包速度提升十倍以上

    如何将 iOS 工程打包速度提升十倍以上   过慢的编译速度有非常明显的副作用.一方面,程序员在等待打包的过程中可能会分心,比如刷刷朋友圈,看条新闻等等.这种认知上下文的切换会带来很多隐形的时间浪费. ...

  3. iOS调试

    iOS高效调试 写代码难免出现bug.储备些调试技能绝对能够提高你的工作效率,让bug无所遁形.下面就和大家分享一些我在工作中常用的iOS调试小技能. 1. 打印 最简单,基础的调试方法就是打印日志了 ...

  4. Xamarin.iOS调试提示需要iOS SDK

    Xamarin.iOS调试提示需要iOS SDK   错误信息:The version of Xamarin.iOS requires th iOS 9.3 SDK (shipped with Xco ...

  5. iOS企业版打包(转载)

    转自 http://www.cnblogs.com/shenlaiyaoshi/p/5472474.html   神来钥匙-陈诗友 iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 A ...

  6. 关于 iOS 批量打包的总结

      关于 iOS 批量打包的总结 本文作者: 伯乐在线 - Tsui YuenHong .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 如果你曾经试过做多 target 的项目,到了测试人员要 ...

  7. iOS 调试心得

    修复 bug 占用我们日常开发的大部分时间,熟练的使用调试工具可以给我们节约大部分的时间. LLDB 的常用命令 expression expresion 是一个非常常用的命令,我们可以通过这个命令来 ...

  8. ios自动打包-fastlane 安装、使用、更新和卸载

    ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...

  9. hbuilder IOS APP 打包与发布2

    在上一篇的<hbuilder IOS APP 打包与发布>中,请求 的 是APP ids .  ios开发证书 .和开发配置文件  ,   这一篇中就不写发布证书和配置文件的请求,因为流程 ...

随机推荐

  1. Android Studio和SDK下载、安装和环境变量配置

    win10下Android Studio和SDK下载.安装和环境变量配置                                                               - ...

  2. day7:vcp考试

    Q121. An ESXi 6.x host in the vCenter Server inventory has disconnected due to an All Paths Down (AP ...

  3. Excel单元格内容批量加前缀

    比如83190001在A1单元格,要在A列单元内容前面批量加0,在B1输入公式="0"&A1然后向下复制再把B列复制的结果再复制一下:然后到新的一列粘贴,在“粘贴选项”中选 ...

  4. [leetcode]295. Find Median from Data Stream数据流的中位数

    Median is the middle value in an ordered integer list. If the size of the list is even, there is no ...

  5. linux安装php 按 apache方式

    1.下载php源码包 在 http://php.net/downloads.php 下载 php-5.6.11.tar.gz 2.进入到php源码包中,configure > ./configu ...

  6. Spring框架的事务管理之编程式的事务管理(了解)

    1. 说明:Spring为了简化事务管理的代码:提供了模板类 TransactionTemplate,所以手动编程的方式来管理事务,只需要使用该模板类即可!!2.手动编程方式的具体步骤如下: 1.步骤 ...

  7. Netty 零拷贝(三)Netty 对零拷贝的改进

    Netty 零拷贝(三)Netty 对零拷贝的改进 Netty 系列目录 (https://www.cnblogs.com/binarylei/p/10117436.html) Netty 的&quo ...

  8. 协议 protocol

    协议声明类需要实现的的方法,为不同的类提供公用方法,一个类可以有多个协议,但只能有一个父类,即单继承.它类似java中的接口. 正式协议(formal protocol)--------------- ...

  9. vue移动端h5页面根据屏幕适配的四种方案

    最近做了两个关于h5页面对接公众号的项目,不得不提打开微信浏览器内置地图导航的功能确实有点恶心.下次想起来了的话,进行总结分享一下如何处理.在vue移动端h5页面当中,其中适配是经常会遇到的问题,这块 ...

  10. Linux服务器上配置2个Tomcat或者多个Tomcat

    一.当在一个服务器上面安装2个tomcat的时候,修改第二个tomcat的conf目录下server.xml文件里面的端口号(原8080改成8081,原8005改成8006)可以达到两个tomcat都 ...