I am having exactly the same issue as smcaruso. And I followed your instructions eskimo. But I am still having the issue where the app runs perfectly before codesigning it, but breaks after codesigning it. (The app icon shows up in the Dock for 1-2 seconds and then goes away). Below are all the steps I took during the whole process:
Checked all the libraries imported by the code, here is the output (tried doing pastebin but was not allowed to)
Don't see any issues here, please let me know if you see any
Code Block | /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 902.1.0) |
| @rpath/libPhysX3.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libPhysX3Cooking.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libPhysX3Common.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libPxFoundation.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libPxPvdSDK.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libAPEX_Clothing.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libAPEX_Legacy.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libApexFramework.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libNvCloth.dylib (compatibility version 0.0.0, current version 0.0.0, weak) |
| @rpath/libopenvr_api.dylib (compatibility version 1.0.0, current version 1.0.0, weak) |
| @rpath/libogg.dylib (compatibility version 1.0.0, current version 1.0.0, weak) |
| @rpath/libvorbis.dylib (compatibility version 1.0.0, current version 1.0.0, weak) |
| /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 23.0.0) |
| /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 162.0.0) |
| /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0) |
| /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 59306.140.5) |
| /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation (compatibility version 1.0.0, current version 2.0.0) |
| /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0) |
| /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0) |
| /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1000.0.0) |
| /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox (compatibility version 1.0.0, current version 1.0.0) |
| /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0) |
| /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0) |
| /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0) |
| /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface (compatibility version 1.0.0, current version 1.0.0) |
| /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) |
| /System/Library/Frameworks/Metal.framework/Versions/A/Metal (compatibility version 1.0.0, current version 212.8.0, weak) |
| /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1) |
| /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1894.60.100) |
| /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork (compatibility version 1.0.0, current version 0.0.0) |
| /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1677.104.0) |
| /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1355.22.0) |
| /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1069.24.0) |
| /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1677.104.0) |
| /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) |
2. Checked rpath entries: (Here is the output)
Code Block | Load command 48 |
| cmd LC_RPATH |
| cmdsize 32 |
| path @loader_path/ (offset 12) |
| -- |
| -- |
| Load command 49 |
| cmd LC_RPATH |
| cmdsize 32 |
| path @executable_path/ (offset 12) |
| -- |
| -- |
| Load command 50 |
| cmd LC_RPATH |
| cmdsize 72 |
| path @loader_path/../UE4/Engine/Binaries/ThirdParty/PhysX3/Mac (offset 12) |
| -- |
| -- |
| Load command 51 |
| cmd LC_RPATH |
| cmdsize 88 |
| path @loader_path/../UE4/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_5_17/osx32 (offset 12) |
| -- |
| -- |
| Load command 52 |
| cmd LC_RPATH |
| cmdsize 72 |
| path @loader_path/../UE4/Engine/Binaries/ThirdParty/Ogg/Mac (offset 12) |
| -- |
| -- |
| Load command 53 |
| cmd LC_RPATH |
| cmdsize 72 |
| path @loader_path/../UE4/Engine/Binaries/ThirdParty/Vorbis/Mac (offset 12) |
3. I tried 2 different things after this and both of them did not work:
(i)Added library paths relative to @executable
path, so there are rpaths with @executablepath for all the dynamic libraries
in addition to them having rpaths with @loader
path.
e.g. it will have both @loaderpath/../UE4/Engine/Binaries/ThirdParty/Ogg/Mac and @executable
path/../UE4/Engine/Binaries/ThirdParty/Ogg/Mac when we will list the rpaths
Same issue occurred as mentioned before after I did the codesigning.
(ii)Replaced @loaderpath rpaths related to dynamic libraries with @executable_path rpaths. Same issue occured as
mentioned before after I did the codesigning.
So, I am assuming I am doing something wrong related to the rpaths.
4. Also posting all the codesigning commands I am using, maybe there is something wrong with them.
Code Block | codesign -f -v -s "Developer ID Application: CompanyName (Company ID)" --entitlements entitlements.plist --options=runtime --timestamp Path/to/App.app/Contents/MacOS/AppName |
|
| find Path/to/App.app/Contents/ | grep .dylib | xargs codesign -f -v -s "Developer ID Application: CompanyName (Company ID)" --entitlements entitlements.plist --options=runtime --timestamp |
|
| codesign -f -v -s "Developer ID Application: CompanyName (Company ID)" --entitlements entitlements.plist --options=runtime --timestamp Path/to/App.app/ |
|