补充回顾记录早期企业级应用打开闪退原因总结及发布注意点

企业级应用打开闪退原因总结

  • 应用生产证书过期(早起应用出现比较多。使用最新版XCode工具基本可以避免)
  • 开发者发布证书过期(未缴费导致应用闪退)
  • 开发者发布证书变更(比如2017苹果对Swift的支持需要重新生成《开发者发布证书》并添加相关字段。不重新生成会导致使用Swift动态库的程序闪退)
  • 开发者发布证书无效(比如早期创建了两套发布证书,续费后其中一套证书未及时重新生成以至无效。最终导致该证书下绑定的应用集体闪退)
  • Apple Worldwide Developer Relations Certification Authority 证书是否变更(比如17年左右,该证书20年授权期限到期。程序集体闪退。)
  • 本地钥匙串对应应用发布证书、开发者发布证书、WWDR证书的信任设置(比如早期版本可能会设置为《始终信任》,在最新iOS12及以后的系统上可能导致程序闪退,需要将该条件设置为《使用系统默认》)
  • 使用过程中,应用的发布证书被误移除。
  • XCode工程清理、钥匙串证书受信、导入/出等(log及解决方法:https://forums.developer.apple.com/thread/106711)

应用发布注意点

  • 更新(检查)应用发布证书
    • 早期版本XCode需要自行打开证书文件进行确认证书日期
    • 最新版本XCode,自行下载更新XCode中的账户信息(或检查单独配置应用的预置文件信息)
  • 清理XCode工程
    • 使用 CMD + SHIFT + OPTION + K 组合键深度清理,而不是CMD + SHIFT + K 组合键
    • 最近几个版本的苹果系统更新中,因为这块出现了不少打包应用无法安装到问题。
  • 打包导出应用
    • 保留(记录)证书截止日期,以及.dSYM调试信息文件
    • 文件命名建议使用应用版本号+代码版本号的形式,便于追踪和避免缓存问题。
  • 发布更新
    • 放置ipa文件,保证plist文件中ipa文件的路径填写正确
    • 自行下载,检查是否可以覆盖安装(保证网页链接正确)
    • 打开应用,看内部更新逻辑是否正常执行(提示软件更新)
    • 点击更新,覆盖安装(保证程序内部后续版本可以正常升级)
    • web后端发布应用更新
    • 测试旧版本应用程序内更新以及覆盖安装最新应用是否正常。