Created
October 21, 2015 16:21
-
-
Save jlyman/b6469342d59b133e6473 to your computer and use it in GitHub Desktop.
Current version of codesigner script I'm trying to use to sign Electron apps for use on OS X (not MAS).
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Invoke this script with a relative `.app` path | |
# EX: | |
# codesign.sh "dist/osx/MyApp-darwin-x64/MyApp.app" | |
# I had better luck using the iPhoneOS codesign_allocate | |
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate" | |
#export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate" | |
# Next two are specified in Apple docs: | |
# export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate" | |
# export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate" | |
# However, neither worked, and gave error: | |
# /Users/JoshBavari/Development/ionic-gui/dist/osx/MyApp-darwin-x64/MyApp.app/Contents/Frameworks/Electron Framework.framework/Electron Framework: cannot find code object on disk | |
#Run the following to get a list of certs | |
# security find-identity | |
app="$PWD/$1" | |
identity="Developer ID Application: [My dev ID goes here]" | |
echo "### signing frameworks" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/Electron Framework.framework/Electron Framework" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/Electron Framework.framework/Versions/A" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Electron Framework" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/FilterIt Helper EH.app/Contents/MacOS/FilterIt Helper EH" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/FilterIt Helper NP.app/Contents/MacOS/FilterIt Helper NP" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/FilterIt Helper NP.app/Contents/MacOS/FilterIt Helper NP" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/FilterIt Helper.app/Contents/MacOS/FilterIt Helper" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/Mantle.framework/Mantle" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/Mantle.framework/Versions/A" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/ReactiveCocoa.framework/ReactiveCocoa" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/ReactiveCocoa.framework/Versions/A" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/Squirrel.framework/Squirrel" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Frameworks/Squirrel.framework/Versions/A" | |
#codesign --deep --force --verify --verbose --sign "$identity" "$app/Contents/Resources/app/js/main/phantom-resources/phantomjsosx" | |
echo "### signing app" | |
codesign --deep --force --verify --verbose --sign "$identity" "$app" | |
echo "### Zipping app" | |
ditto -c -k --sequesterRsrc --keepParent "$app" "$app.zip" | |
echo "### verifying signature", | |
codesign -vvvv -d "$app" | |
sudo spctl -a -vvvv "$app" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment