Skip to content

一、相关平台平台打包【iOS平台】

1. iOS平台调用手机系统插件按钮、提示语等设置成中文。

image-20200830102141878

2. iOS有特定的手势动作,比如侧滑返回

禁止侧滑返回:设置swipeBackEnabled为false

html
// 方式一:页面修改
<ion-nav #myNav [root]="rootPage" swipeBackEnabled="false"></ion-nav>
或者:
// 方式二:连字符属性
<ion-nav #myNav [root]="rootPage" swipe-back-enabled="false"></ion-nav>
或者:
// 方式三:单独页面设置
this.navCtrl.swipeBackEnabled = false;//禁止侧滑返回
或者:
// 方式四:所有子页面设置
IonicModule.forRoot(MyApp,{
  tabsHideOnSubPages: 'true',         //隐藏全部子页面tabs
  swipeBackEnabled: false,
  mode: 'ios',  //强制使用ios风格
  iconMode:'ios', //强制使用ios风格icon
  backButtonText: '返回', //顶部返回按钮文字
  platforms: {
    ios: {
    },
    android: {
    }
  }
}),
3. 关于iOS系统升级到iOS14企业APP出现无法安装解决方案

背景:

  • 是在其他的系统版本是下载成功并且可以正常安装,同一个plist文件,14以下的苹果系统就是可以正常安装的,14确不可以安装。
  • 这类问题主要针对的是使用自建静态资源服务下载的应用,非apple store、非第三方厂家如费米,蒲公英等等

发现问题:

image-20200918143043263

  • 将下载的链接域名,用chrome打开会发现显示不安全链接,但是证书确实是有效证书,如果是正常的应该是锁才对。
  • 打开详情,提示:用于加载此网站的连接使用的是TLS1.0或者TLS1.1,这两个TLS版本都已经过时,不久之后完全停用。届时,用户将无法再加载此网站,服务器应用启动TLS1.2或更高版本。

定位原因:

TLS 1. 3 版本发布之后,苹果、谷歌、Mozilla和微软四大浏览器制造商于 2018年10月联合宣布计划在2020年初取消对TLS 1. 0 和TLS 1. 1的支持,所以导致现在iOS14下载不了app的问题

题外:

在iOS14上苹果对于自身提供的解决方案中ats的要求更加严格,之前我们通过itms协议安装应用时只要plist文件是https即可,14之后要求ipa链接使用的也必须是https才行,否则将出现无法安装的问题。

自建ipa下载应用满足条件:

  • 不可使用http的下载页面,嵌套https的下载链接

  • plist的文件和ipa的链接都必须是https

  • 自建的服务器配置的nginx必须支持ssl协议是tlsv1.2以上

    配置:

    server {
      server_name  xxx.xxx.com; 
          listen 443; 
          ssl on;
          access_log          /logs/nginx/xxx.xxx.com_access.log main;
          error_log           /logs/nginx/xxx.xxx.com_error.log;
          ssl_certificate     /opt/nginx/ssl/xxx.xxx.com.pem;   # 公钥证书
          ssl_certificate_key /opt/nginx/ssl/xxx.xxx.com.key;   # 私钥证书
          ssl_session_timeout 5m;                               # 客户端能够重用会话缓存中ssl参数的过期时间
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;                  # 指定支持的协议,这里表示支持1、1.1和1.2, 如果只写1.2表示仅支持1.2.  注:OpenSSL版本要求 >= 1.0.1
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;  																																	# 加密套件,多个之间用冒号分隔,前有感叹号的表示必须废弃
          ssl_prefer_server_ciphers on;                         # 设置协商加密算法,优先使用服务端定义的加密套件
    }

Released under the MIT License.