由于com.apple.FinderInfo和com.apple.fileprovider.fpfs的原因,无法使用electron-builder对代码进行签名#P

p5cysglq  于 6个月前  发布在  Electron
关注(0)|答案(1)|浏览(73)

我正在对Electron应用程序进行签名,但由于我的应用程序捆绑包中的文件存在com.apple.FinderInfo和com.apple.fileprovider.fpfs#P扩展属性,codesign命令失败。我已经验证了我的证书,它们没有问题,但由于这些属性,electron-builder无法对应用程序进行签名。
有人有类似的问题吗?
这里是完整的电子建设者错误

> electron-builder -m

  • electron-builder  version=24.6.4 os=23.0.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • writing effective config  file=dist/builder-effective-config.yaml
  • packaging       platform=darwin arch=arm64 electron=27.0.4 appOutDir=dist/mac-arm64
  • signing         file=dist/mac-arm64/Ask.app identityName= *** identityHash=*** provisioningProfile=none
  ⨯ Command failed: codesign --sign *** --force --timestamp --options runtime --entitlements entitlements.plist /Users/mateusz/Desktop/Projects/screen-question-app/frontend/dist/mac-arm64/Ask.app/Contents/Frameworks/Ask Helper (GPU).app/Contents/MacOS/Ask Helper (GPU)
/Users/mateusz/Desktop/Projects/screen-question-app/frontend/dist/mac-arm64/Ask.app/Contents/Frameworks/Ask Helper (GPU).app/Contents/MacOS/Ask Helper (GPU): replacing existing signature
/Users/mateusz/Desktop/Projects/screen-question-app/frontend/dist/mac-arm64/Ask.app/Contents/Frameworks/Ask Helper (GPU).app/Contents/MacOS/Ask Helper (GPU): resource fork, Finder information, or similar detritus not allowed
  failedTask=build stackTrace=Error: Command failed: codesign --sign *** --force --timestamp --options runtime --entitlements entitlements.plist /Users/mateusz/Desktop/Projects/screen-question-app/frontend/dist/mac-arm64/Ask.app/Contents/Frameworks/Ask Helper (GPU).app/Contents/MacOS/Ask Helper (GPU)
/Users/mateusz/Desktop/Projects/screen-question-app/frontend/dist/mac-arm64/Ask.app/Contents/Frameworks/Ask Helper (GPU).app/Contents/MacOS/Ask Helper (GPU): replacing existing signature
/Users/mateusz/Desktop/Projects/screen-question-app/frontend/dist/mac-arm64/Ask.app/Contents/Frameworks/Ask Helper (GPU).app/Contents/MacOS/Ask Helper (GPU): resource fork, Finder information, or similar detritus not allowed

字符串
我尝试使用xattr -cr递归地删除这些属性,也尝试使用xattr -d手动删除它们,但它们仍然存在。我无法确定为什么首先创建这些属性。下面是尝试删除它们时发生的情况:

xattr -cr ./dist/mac-arm64/Ask.app
xattr -l ./dist/mac-arm64/Ask.app/Contents/Frameworks/Electron Framework.framework


输出仍然显示存在的com.apple.FinderInfo和com.apple.fileprovider.fpfs#P属性。

db2dz4w8

db2dz4w81#

我们同时遇到了问题^^
当我将MacOS从Monterey升级到索诺马时出现了这个问题。
这与icloud用来跟踪同步文件的“扩展属性”有关,它显然出现在最近版本的MacOS中,这篇文章让我找到了线索:https://discussions.apple.com/thread/254036468
实际上,使用Apple提供的命令来删除它们是不可能的:https://developer.apple.com/library/archive/qa/qa1940/_index.html

**解决方案:**我发现的最简单的解决方案是将我的项目目录从与Icloud同步的文件中移走。在我的情况下,将我的项目目录移到User目录。在这种情况下,签名时不再有问题,命令不再返回我的文件夹的“扩展属性”列表:

xattr -lr<path_to_app_bundle>

相关问题