Electron 应用好不容易搞定签名,打包,就卡在最后一步 Transporter 了

281 天前
 ChrisFreeMan

用的 Electron Forge 脚手架,好不容易搞定签名打包的问题,现在就差最后一步了,但是卡在 Transporter 的校验上了,说我的 plist 文件里面 CFBundleExecutable key 不合法,但是我检查了个遍都是和执行文件一样的名字,网上也没有找到任何有价值的信息。很难受,有知道的老哥吗。

能解决请一杯咖啡 (免费应用,本人不富有)

这是我的打包配置

  packagerConfig: {
    appBundleId: `ChrisFreeManDev-hotmail.com.${appName}`,
    appCopyright: `© ${(new Date()).getFullYear()} ${appName}`,
    buildVersion: '8',
    executableName: appName,
    appCategoryType: 'public.app-category.productivity',
    asar: true,
    osxUniversal: {
      x64ArchFiles: 'leveldown.node',
    },
    osxSign: {
      type: 'distribution',
      identity: 'Apple Distribution: MyName (SomeCertID)',
      provisioningProfile: './some-production.provisionprofile',
      optionsForFile: () => {
        return {
          hardenedRuntime: true,
          entitlements: './entitlements',
        }
      }
    },
    icon: './src/resources/icon/AppIcon'
  },
  rebuildConfig: {},
  makers: [
    new MakerPKG({
      identity: '3rd Party Mac Developer Installer: MyName (SomeCertID)',
      install: './out',
      name: appName
    }, ['mas'])
  ],

PS 发在 electron 节点没人看,一晚上才 10 个点击😫

2623 次点击
所在节点    程序员
24 条回复
BlackHole1
281 天前
我已经在 Issue 中评论了,为了让 V2EX 其他参与者了解,我这边把相关信息在这里进行同步。

----

我基于你的 repo 进行测试后,一切正常,并没有出现你遇到的情况,如下图:

https://user-images.githubusercontent.com/8198408/260978001-7931e439-db8e-44f8-b5ca-34586299cae2.png

但是在测试过程中,我发现了一些 bug 和优化项,你可以进行修改后再进行测试。

1. MakerPKG class 中的 install 应该是 /Applications 而不是 ./out ,这个参数的用途是安装 pkg 后,app 应该安装的目录,如果需要上传到 App Store 则这个值必须是 /Applications
2. optionsForFile 函数中的 entitlements 应该是一个文件,而非目录。关于这一点,可以见: https://github.com/electron/osx-sign/blob/013ca00893e13594b87fd66fe865793011453de9/src/util-entitlements.ts#L46-L49
3. 你其实不需要传入 optionsForFile ,因为 electron-osx-sign 会自动处理 entitlements 。

最终的改动如下图:
https://github.com/electron/forge/assets/8198408/7b06a3ad-d23e-4ab0-8978-57ba8442baf2
ChrisFreeMan
281 天前
@BlackHole1 😂感谢大佬,确实通过了,我以为这个 install 路径是指 pkg 输出的路径。我是直接点外卖送你桌位上,你挑时间,还是我把咖啡钱转给你。❤️
BlackHole1
281 天前
@ChrisFreeMan #22 解决了就好,咖啡就不用啦。也感谢你使用 Electron~
ChrisFreeMan
281 天前
@BlackHole1 🌹🌹🌹 必须用的,Electron 贼 TM 好用,从开头爽到结束,再也不想用 SwiftUI 了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/965752

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX