背景

昨天在测试 Mac Electron App 打包,发现不签名的应用能够正常打开,签了名的打开反而会崩溃。

寻因

首先我怀疑是不是自己代码导致闪退,但是在一番查找后,发现还根本没到执行我的代码就闪退了。

然后就猜可能是我打包的参数缺了些东西。

我使用 electron-builder 打包的,当时配置的是:

"mac": {"category": "public.app-category.developer-tools","target": "dmg","icon": "res/logo.icns","gatekeeperAssess": false
}

我配置参数的原则是按需设置,加上这些能够打包签名我就不会再添加其他的。

原因

查看了 electron-builder 的文档和网上资料后知道,苹果要求签名的应用的 runtime 必须是 hardened runtime。

这个时候应用的一些权限会受到限制,如果没有相关权限设置就会因为权限不足而闪退。

PS:这里有一点我比较奇怪的,大概是前几周,那时签名的应用还能打开。

解决

1、添加一个plist文件,设置权限。

entitlements.mac.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict><key>com.apple.security.cs.allow-unsigned-executable-memory</key><true/></dict>
</plist>

2、electron-builder配置增加

"mac": {"hardenedRuntime": true,"gatekeeperAssess": false,"entitlements": "build/entitlements.mac.plist","entitlementsInherit": "build/entitlements.mac.plist"
}

Mac Electron App 签名后打开闪退相关推荐

  1. 【链助手】苹果App签名后闪退有哪些原因?

    出现苹果App签名后闪退别着急,可以对照以下原因找到问题. 出现闪退,首先排查是不是签名到期了,或者掉签了:签名到期了,没有及时在签名平台续费,自然就出现不能使用该应用的情况.如果是签名掉签了,就会出 ...

  2. android打包apk进程序闪退,解决安卓打包apk安装后打开闪退的问题

    系统版本 Android Studio版本 Build APK方式生成APK 调试的时候好好的,将打完的包传输到手机上进行安装,安装成功,但是一打开就闪退. 没办法,只好通过在命令行运行adb log ...

  3. Mac系统Sketch打不开闪退的处理方法

    Mac系统打开终端,输入如下命令 sudo codesign --force --deep --sign - 注意最后一个-下有空格,然后找到sketch,将它拖入终端,最后提示 replacing ...

  4. Mac 系统GoLand 打不开闪退

    1.去你的 /Users/你的文件/Library/Preferences/ 路径下删除上个版本的配置文件 2.去你的 /Users/你的文件/Library/ApplicationSupport/J ...

  5. 解决mac idea2020打开闪退问题

    解决mac idea2020打开闪退问题 /Applications/IntelliJ\ IDEA.app/Contents/MacOS/idea可以查看报错信息 我的大概是 Error openin ...

  6. iOS企业签名过程中APP频繁出现闪退是什么原因?

    企业签名中,我们总会遇到这样或者那样的问题,要么掉签,要么闪退,那在之前的文章,已不止一次跟大家说了掉签的问题,今天就跟大家详细的聊一聊闪退的问题,希望对大家的推广有所帮助. 其实不管是掉签还是闪退, ...

  7. androidstudio安装的app打开闪退,AndroidManifest中也声明了类,但是却没有报错信息。(小坑)

    安卓app打开闪退,AndroidManifest中也声明了类,但是却没有报错信息. 最终重写代码,人工debug.发现是当我点击按钮进行计算,需要获取editText的值.而我将editText的值 ...

  8. Electron初步【02】--第一个Electron App

    目录结构与文件 Electron App的目录结构如下: your-app/ ├── package.json ├── main.js └── index.html 其中的package.json和N ...

  9. iOS app签名机制

    前言 在移动开发中,iOS系统下的app和andorid系统下的app一个很大的区别是:android系统下,app的安装很方便,可以从多个应用商店下载(小米应用商店.华为应用商店),也可以直接下载a ...

最新文章

  1. python isalpha()
  2. R语言实战应用精讲50篇(二十九)-R语言算法应用案例:路径路网轨迹绘图分析(英国自行车数据库)
  3. python保存快捷键_超详细的Sublime Text配置python教程
  4. 世界公认最好的记忆方法_全球公认最好的12个教育孩子的方法,值得每个家长收藏学习!...
  5. Statement和PreparedStatement之间的区别(转)
  6. java 001 002_69期-Java SE-019-实用类-2-001-002
  7. Tensorflow——构造神经网络
  8. 常见的电子商务模式理解
  9. Springboot集成BeanValidation扩展二:加载jar中的资源文件
  10. VSTS强制删除死锁项
  11. python110道面试题
  12. 你只管打开这个视频,剩下的交给「卧槽」
  13. 无线网络-何为ISM频段?
  14. excel表格数据库表字段带下划线转驼峰
  15. Python小程序之超市买水果
  16. SaaSpace:9种最好的免费幻灯片制作工具
  17. 现货期货价格关系(现货期货价格关系分析)
  18. java并发集合框架学习记录
  19. html表格中加函数,excel中的substitute函数
  20. 群晖网络不通_群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法...

热门文章

  1. php silk v3 decoder,微信小程序语音搜索踩坑:silk文件格式转换,在PHP中使用
  2. 何水无鱼?何山无石?何人无父?何女无夫?何树无枝?何城无市?
  3. 多元函数的高阶微分公式 与 Taylor公式
  4. 对求一个数的各个位数的理解
  5. 电容笔和触控笔的区别是什么?好用的电容笔测评
  6. 【魅力开源】第3集:聊个轻松点的话题,如何把给员工发生日贺卡这个事变得有人情味点?关于Odoo的自动化邮件系统
  7. python语法基础#1
  8. Pytorch深度学习实战1-6:图解牛顿迭代法,牛顿不止力学三定律
  9. uni-app的使用分享(一)
  10. 让华为小米抱团 统一推送联盟究竟是何方神圣?