[Catalina] Voice Chat not working in Heroes of the Storm

I am running into

Error: unable to open database “~/Library/Application”: unable to open database file in Terminal.

Are you using Mojave or Catalina?

Catalina, sorry for that late response was crunch week at work.

Found the fix this morning. Fixed the path and was all good.

What did you change about his instructions? Because I also have catalina and am not sure what to do now.

Sorry for the late reply but here you go:

This is what you need to update part of the string to. @skullmelter

Here are the step by step instructions just use the above-updated path and copy and paste that path there it belongs in the string and you will have it working.

So once you disable crsutil from recovery mode you want to do a normal reboot open Terminal insert

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
then you want to enter
INSERT or REPLACE INTO access VALUES(‘kTCCServiceMicrophone’,‘com.blizzard.heroesofthestorm’,0,1,1,NULL,NULL,NULL,‘UNUSED’,NULL,0,1541440109);

and all should be good.

Ugh, this is such a pain. I’ve done all the steps and it doesnt work. Those terminal codes are not copy/paste. I did end up stuck in the sqlite3 terminal and had to exit terminal to get out. Ive reset PRAM and all that. It seems like the problem is on HOTS side and not on the mac side. I was able to enable the mic for Bnet, and WOW, but not hots.

This still isn’t working for me, I am getting
-bash: syntax error near unexpected token '("

Hey there easyNow,

Lets try this:

  1. Put the game in Window Mode
  2. In the options menu, locate Voice Chat and press on the “Test” button
  3. The system should provide a prompt for permissions. Using the affirmative option should allow voice chat in Heroes.

Hope this info helps! Let us know if it works!

The terminal command is not copy-paste because of the ‘ and ” characters. If you preformat the text, the copy-paste will work.

sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','com.blizzard.heroesofthestorm',0,1,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"
2 Likes

I’m having this problem with both my mac and my girlfriend’s. Test button in windowed mode isn’t doing anything. I’ll try the workaround, but it doesn’t seem like HotS is properly asking for microphone permissions on Mac right now. I’m on Catalina, my girlfriend has Mojave.

I have tried all the commands but i get - can not open data file. What am I doing wrong?

Check the pathway to the data file “TCC.bd” on your computer. The terminal command I provided goes Library >> Application Support >> com.apple.TCC >> TCC.db. If your pathway is different, then you’ll have to modify the terminal command for your pathway.

This is incredibly frustrating that this is even a thing that needs to be done, and i’m glad I didn’t try to fix this issue even a few months ago before all of you worked your magic and figured this stuff out. I guess thank you to whoever is “smarter” than Zentgraf? but really, thank you Zentgraf for the initial how-to. Thank you Yella for continuing to have issues and figuring more stuff out. Thank you easyNow for also having issues (I also copy/pasted and had issues), and thank you Bonegripper for preformating the text. You’re all wonderfully smart in the world of computers and command code, or at least had issues and did what you had to do to learn how to do these things. Thank you for sharing!!!

Heroes is great! Please pay more people to support the macOS users of this game! In the meantime, thank you HoTS forums community for your valuable input and support.

2 Likes

Hey, I just got it working too! So first step you need to do as mentioned above:

Disable The System Integrity Check so that you can access the relevant system database.

  • Reboot your Mac and hold Cmd+R on startup. This will bring up the Recovery Mode. If you have a multi button mouse with a keyboard function (such as a Razer Naga) you may need to unplug it during the boot up.
  • Open Utility → Terminal from the menu bar and type: csrutil disable
  • Reboot.

Now all you need to do is copy this whole thing:

Paste it into the terminal and go with your left arrow key through the whole text command and delete every ’ and " you will find and retype it again with the keyboard. Then press enter, confirm with a password and it’s all done and working. This is for latest version of Catalina.

After this I also runned the Recovery again and enabled back the System integrity check.

Hope that helps! Take care :sunny:

i agree, we are a lot of mac users and this is a lot of frustrating.

So after I press enter and put in my password all I get is:

"SQLite version 3.28.0 2019-04-15 14:49:49

Enter “.help” for usage hints"

Are there any more steps? Should have typing in the password proc’d the “Allow access to microphone” box?

Update:

I finally got it to work! You have to use zsh not bash.

I upgraded to zsh after I got the message:

The default interactive shell is now zsh . To update your account to use zsh , please run chsh -s /bin/ zsh .

So just copy and paste that in and it’ll upgrade the terminal to zsh incase you havent done so already. Then when you run the long command again it should work. HOTS popped up right away in my microphone permissions with the box already checked.

Thanks everyone!

I got this to work with a bit of modification on Catalina. The table columns for the insert command were missing so I found them in sqlite by doing a .schema command on the access table.

  1. Use cmd-R to reboot to recovery mode on power up or reboot.

  2. Once in recovery mode open Terminal from the Utilities menu in the top bar.

  3. Enable the CSR utility by entering:

csrutil enable

  1. Reboot

  2. Open Terminal from Applications/Utilities (or search for Terminal from the magnifying glass in the top right bar)

  3. From terminal enter:

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db

  1. From sqlite prompt with the database now opened enter:

INSERT or REPLACE INTO access (service, client, client_type, allowed,
prompt_count, csreq, indirect_object_identifier, indirect_object_code_identity, flags, last_modified, service, policy_id) VALUES(‘kTCCServiceMicrophone’,‘com.blizzard.heroesofthestorm’,0,1,1,NULL,NULL,NULL,‘UNUSED’,NULL,0,1541440109);

  1. Go back to terminal from recovery mode and enable CSR by entering:

csrutil enable

  1. Reboot