在MacOS上的Electron应用程序中使用通用链接

wljmcqd8  于 12个月前  发布在  Electron
关注(0)|答案(1)|浏览(170)

我试图使用electron forge构建并签署MacOS电子应用程序以进行自分发,但如果我将com.apple.developer.associated-domains添加到我的权利中,我会收到应用程序启动错误Library not loaded: @rpath/Electron Framework.framework/Electron Framework
但是如果我从应用程序/Contents/embedded.provisionprofile手动设置配置文件,它将启动而没有任何错误,通用链接功能也可以工作。
如果我从授权中删除com.apple.developer.associated-domains选项,它也会在没有任何错误的情况下启动,但通用链接功能显然不起作用。
我应该如何签署我的应用以避免手动配置文件安装?
forge.config.ts

osxSign: {
  identity: 'Developer ID Application: ***',
  provisioningProfile: './embedded.provisionprofile',
  optionsForFile: () => ({
    entitlements: './entitlements.plist'
  })
},

embedded.provisionprofile

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>com.apple.security.cs.allow-jit</key>
  <true/>
  <key>com.apple.security.device.audio-input</key>
  <true/>
  <key>com.apple.security.device.bluetooth</key>
  <true/>
  <key>com.apple.security.device.camera</key>
  <true/>
  <key>com.apple.security.device.print</key>
  <true/>
  <key>com.apple.security.device.usb</key>
  <true/>
  <key>com.apple.security.personal-information.location</key>
  <true/>
  <key>com.apple.developer.associated-domains</key>
  <array>
      <string>applinks:mydomain.com</string>
      <string>webcredentials:mydomain.com</string>
  </array>
</dict>
</plist>

调配配置文件权利

'com.apple.developer.associated-domains': '*',
'com.apple.application-identifier': 'ZZ67H7XXXX.pro.***.***',
'keychain-access-groups': [ 'ZZ67H7XXXX.*' ],
'com.apple.developer.team-identifier': 'ZZ67H7XXXX'
jc3wubiy

jc3wubiy1#

我自己解决的。刚刚从electron-forge迁移到electron-builder,具有相同的证书集,配置和配置文件,现在它可以按预期工作。

相关问题