Незапечатанное содержимое присутствует в корневом каталоге встроенной платформы.

Я сталкиваюсь с этой проблемой, когда пытаюсь подписать инфраструктуру 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

Может ли кто-нибудь предложить, что мне делать


person Swati    schedule 19.07.2017    source источник


Ответы (3)


Я пробовал это:

Не изменяйте любые другие файлы info.plist, кроме указанных ниже файлов приложения, и ошибка исчезнет.

  • Помощник.приложение
  • app_mode_loader.app
  • nwjs.app [основное приложение]

Также перед подписанием фреймворка сделайте

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
person Swati    schedule 23.08.2017
comment
Мне не помогает - person Arti; 24.08.2017
comment
какую версию nwjs вы используете? Я использовал 23.6, и там все в порядке. можете ли вы проверить эту версию, если это возможно - person Swati; 25.08.2017
comment
Да у меня тоже 23.6. Не могли бы вы показать весь свой сценарий подписи, пожалуйста - person Arti; 25.08.2017
comment
Также вы создаете свое приложение с помощью nw-builder? - person Arti; 25.08.2017
comment
nwjs предоставляет вам папку с файлом nwjs.app. Щелкните правой кнопкой мыши на этом файле приложения ›› Показать содержимое пакета ›› Папка содержимого. В нее вы должны поместить свой Test.nw. Что такое Test.nw :: Создайте папку с именем Test. Эта папка должна содержать ваш package.json и другие файлы на корневом уровне. Переименуйте эту тестовую папку в Test.nw. - person Swati; 25.08.2017
comment
M не использует nw builder. После того, как я добавлю app.nw в nwjs.app, я запускаю команду codesign, чтобы подписать приложение, и productbuild, чтобы создать пакет в терминале. - person Swati; 25.08.2017

У меня была такая же проблема, когда я пытался подписать свое приложение nwjs. Я получил это сообщение:

"Contents/Versions/67.0.3396.87/nwjs Framework.framework: незапечатанное содержимое присутствует в корневом каталоге встроенной платформы"

Я решил это, выполнив следующие шаги:

  1. переместите Versions/67.0.3396.87/nwjsFramework.framework/libnode.dylib в папку A, расположенную в Versions/67.0.3396.87/nwjsFramework.framework/Versions/A/libnode.dylib. .
  2. вернитесь в командной строке к Versions/67.0.3396.87/nwjsFramework.framework.
  3. введите ln -s Versions/A/libnode.dylib.
  4. попробуйте подписать снова после этого.

Из того, что я прочитал, некоторые файлы во встроенной папке фреймворка должны находиться внутри папки, чтобы иметь возможность подписывать код. поэтому шаги, описанные выше, перемещают файл в нужную папку, а затем шаг 3 создает папку с символической ссылкой для файла, который мы переместили.

Это сработало для меня, надеюсь, это поможет вам решить вашу проблему или тому, кто это читает.

person Eran Asante-Asare    schedule 28.06.2018

Я сделал небольшой скрипт, который должен вам помочь. Папка 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"
person Silve2611    schedule 18.10.2017