rlabrecque / Steamworks.NET

Steamworks wrapper for Unity / C#
http://steamworks.github.io
MIT License
2.74k stars 362 forks source link

Need help for OSX codesign #308

Closed blurry7373 closed 4 years ago

blurry7373 commented 4 years ago

Recently, we learned that we need to notarize mac osx app before uploading it to steam. https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution

After some time, I managed to code sign our developing game and notarize it. but, when I try to launch the app, it freezes with the log saying "DllNotFoundException: steam_api" .

and also I found a log from mac console. /Users/macbookbsscamp/Library/Application Support/Steam/steamapps/common/Tank Royale/TankRoyale.app/Contents/Plugins/steam_api.bundle/Contents/MacOS/libsteam_api.dylib signature not valid: -67671

Unity 2018.4.11 Steamworks.NET_12.0.0

here is our codesign script. (as you can see, we include "steam_api.bundle" in code sign process, and I'm not sure it is ok)

codesign -f -v -s "Developer ID Application: xxxxxxx" "./OSX/TankRoyale.app/Contents/Frameworks/Mono/MonoEmbedRuntime/osx/libmono.0.dylib" codesign -f -v -s "Developer ID Application: xxxxxxx" "./OSX/TankRoyale.app/Contents/Frameworks/Mono/MonoEmbedRuntime/osx/libMonoPosixHelper.dylib" codesign -f -v -s "Developer ID Application: xxxxxxx" "./OSX/TankRoyale.app/Contents/Frameworks/libcrypto.dylib" codesign -f -v -s "Developer ID Application: xxxxxxx" "./OSX/TankRoyale.app/Contents/Frameworks/libssl.dylib" codesign -f -v -s "Developer ID Application: xxxxxxx" "./OSX/TankRoyale.app/Contents/Frameworks/UnityPlayer.dylib" codesign -f -v -s "Developer ID Application: xxxxxxx" --entitlements "tankroyale.entitlements" --force "./OSX/TankRoyale.app/Contents/Plugins/steam_api.bundle" codesign -f -v -s "Developer ID Application: xxxxxxx" --entitlements "tankroyale.entitlements" "./OSX/TankRoyale.app"

about the code sign, I refered to the sites below. https://www.strangeflavour.com/creating-mac-app-store-games-unity/ https://unsh.github.io/Unity-Apple-Distribution-Workflow/

blurry7373 commented 4 years ago

I think I figured out I skipped codesign "steam_api.bundle", it seems it is already done by rileylabrecque. and more importantly I remove "com.apple.security.app-sandbox" from entitlement because we are developing steam app which is outside of app store.