Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

金铲铲之战

PlayCover

1. 麦克风权限问题

游戏提示“您拒绝了麦克风权限,请在MacOS系统设置,隐私和安全设置当中手动打开金铲铲之战麦克风权限”。

原因分析

游戏通过UnityEngine.Application.HasUserAuthorization(UserAuthorization.Microphone)查询麦克风权限。不过经过逆向分析,此接口返回的结果总是false。推测是因为游戏打包时未设置Preprocessor.h中的宏定义UNITY_USES_MICROPHONE,导致并没有包含麦克风权限处理的相应代码。

写入补丁,强制HasUserAuthorization()返回true可暂时解决。


通过终端指令修复:

EXECUTABLE=~/Library/Containers/io.playcover.PlayCover/Applications/com.tencent.jkchess.app/jkchess
perl -e 'open F, "+<:raw", $ARGV[0] or die $!; local $/; my $d = <F>; my $i = index($d, "\x7F\x0A\x00\x71\x93\x02\x88\x1A\xE0\x03\x13\xAA"); exit 1 if $i < 0; seek F, $i + 8, 0; print F "\x20\x00\x80\xD2"; close F;' $EXECUTABLE
codesign -fs- $EXECUTABLE --deep --preserve-metadata=entitlements

2. 麦克风权限问题2 ISSUE-016

游戏提示“没有麦克风权限,请先开启麦克风权限哦~“。

解决方法:使用PlayCover Nightly版,右键游戏图标 - 设置 - 绕过设置,启用“checkMicPermissionSync”选项。

Warning

如果同时通过Sideloadly和PlayCover安装了游戏,麦克风的授权记录可能会出现错乱的情况。

两边都卸载干净,再通过PlayCover重新安装一次即可解决问题。


3. 阵容推荐屏幕方向错误 ISSUE-019

通过终端指令修复:

EXECUTABLE=~/Library/Containers/io.playcover.PlayCover/Applications/com.tencent.jkchess.app/Frameworks/MSDKWebView.framework/MSDKWebView
FUNC_ADDR=$(otool -oV $EXECUTABLE | awk '/MSDKBaseWebViewController/{found=1} found && /supportedInterfaceOrientations/{f=1} f && /imp/{print $2; exit}')
printf '\x00\x03\x80\xD2\xC0\x03\x5F\xD6' | dd of=$EXECUTABLE bs=1 seek=$(($FUNC_ADDR)) conv=notrunc
codesign -fs- $EXECUTABLE

4. 阵容推荐打不了字 ISSUE-017

临时解决办法:右键游戏图标 - 设置 - 键盘映射设置,禁用“智能按键映射”。