为OS X制作游戏中心ANE。 当我的应用程序未签名时(以及启用的解决方法,此处描述https://devforums.apple.com/message/736545),它可以正常工作。 但是当我签署我的应用程序以进行分发并禁用解决方法时,当我尝试授权本地播放器时会出现错误
Could not get services from gamed. Please file a radar including GameKit logs, and any gamed crash logs. ERROR Error Domain=NSCocoaErrorDomain Code=4099 "Couldn’t communicate with a helper application." (The connection to service named com.apple.gamed.osx was invalidated.) UserInfo=0x325c90 {NSDebugDescription=The connection to service named com.apple.gamed.osx was invalidated.}
Error Domain=GKErrorDomain Code=3 "The requested operation could not be completed due to an error communicating with the server." UserInfo=0x21ce90 {NSLocalizedDescription=The requested operation could not be completed due to an error communicating with the server.}
有没有人遇到过类似的问题?
这是我用来签署我的应用程序的脚本:
App=MyApp.app
Cert=3rd Party Mac Developer Application: ...
rm "$App"/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/WebKit.dylib
rm "$App"/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/adobecp.vch
rm -rf "$App"/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/adobecp.plugin
rm -rf "$App"/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/AdobeCP15.plugin
rm "$App"/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/Adobe\ AIR.vch
chmod -R 777 "$App"/
codesign -f -v -s "$Cert" "$App"/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/Flash\ Player.plugin/
codesign -f -v -s "$Cert" "$App"/Contents/Frameworks/Adobe\ AIR.framework/
codesign -f -v -s "$Cert" "$App"/Contents/Resources/META-INF/AIR/extensions/my.awesome.gc/META-INF/ANE/MacOS-x86/GC.framework/GC
codesign -f -s "$Cert" --entitlements MyApp.entitlements "$App"
UPD
仅当我使用--entitlements MyApp.entitlements签名时才会出现问题。
这是MyApp.entitlements
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
请告诉我,我做错了什么?