当我尝试签署nwjs框架
时,我正面临这个问题codesign -f -v --deep -s '3rd Party Mac Developer Application: Company Name. (XXXXXXXXX)' --entitlements Child.plist hello.app/Contents/Versions/59.0.3071.115/nwjs\ Framework.framework
任何人都可以建议我该怎么做
答案 0 :(得分:2)
我试过了:
请勿更改任何其他 info.plist ,但下面提到的应用文件除外,错误消失了。
在签署框架之前也要
codesign -f -v --deep -s '3rd Party Mac Developer Application: Company Name. (XXXXXXXXX)' --entitlements Child.plist hello.app/Contents/Versions/59.0.3071.115/nwjs\ Framework.framework/Versions/A/nwjs\ Framework
然后
codesign -f -v --deep -s '3rd Party Mac Developer Application: Company Name. (XXXXXXXXX)' --entitlements Child.plist hello.app/Contents/Versions/59.0.3071.115/nwjs\ Framework.framework
答案 1 :(得分:1)
我尝试签名我的nwjs应用程序时遇到了同样的问题,
“ Contents / Versions / 67.0.3396.87 / nwjs Framework.framework:嵌入式框架的根目录中存在未密封的内容”
我通过执行以下步骤解决了这个问题:
据我了解,嵌入式框架文件夹中的某些文件应位于文件夹内,以便能够对代码进行签名。因此,上述步骤将文件移动到所需的文件夹,然后第3步为我们移动的文件创建一个符号链接文件夹。
这对我有用,希望它可以帮助您解决问题或无论谁阅读。
答案 2 :(得分:0)
我制作了一个应该帮助你的小脚本。文件夹60.0.3112.113
因版本而异。
xattr
对于删除不允许的内容非常重要
还要小心你的可执行文件名称
app="yourapp.app"
identity="Developer ID Application: Yourname...."
echo "### removing unnecessary files"
rm -f "$app/Icon^M" #remove if exists
rm -r -f "$app/.idea" #remove if exists
xattr -cr "$app" #remove all unallowed files
echo "### signing libraries"
#codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/nwjs Framework.framework/Libraries/exif.so"
#codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/nwjs Framework.framework/libffmpeg.dylib"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/nwjs Framework.framework/libnode.dylib"
echo "### signing frameworks"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/nwjs Framework.framework/nwjs Framework"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/nwjs Framework.framework/Helpers/crashpad_handler"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/timeBro Helper.app/Contents/MacOS/timeBro Helper"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/timeBro Helper.app/"
codesign --force --verify --sign "$identity" "$app/Contents/Versions/60.0.3112.113/nwjs Framework.framework/helpers/crashpad_handler"
echo "### sing osx folder"
codesign --force --verify --sign "$identity" "$app/Contents/MacOS/yourapp" #be careful here should be the exact name of your executably
echo "### signing app"
codesign --force --verify --sign "$identity" "$app"
echo "### verifying signature"
codesign -vv -d "$app"