Mojave SIP prompt for cmd-bridge and terminal

Bitrise Build Issue Report template

Description of the issue

We are building a macOS command line application that accesses the audio device. We have installed sound flower as the audio io device, and this works well when building in High Sierra. Now we need to notarise the application, which requires Mojave. When I changed the stack to Mojave, the application built and was notarised correctly, but when running our unit tests, we trigger a SIP notification saying that “cmd-bridge” requests access to the microphone. This then means that our unit tests fail because they time out because nobody is able to click “ok” on the prompt…
Adding “cmd-bridge” and “terminal” to “System Preferences > Security & Privacy > Privacy > Microphone” would solve this problem for us we think… (or a workaround of any description would be very welcome)

Environment:

Xcode 10.3.x on Mojave 10.14

script@1.1.5: (which internally is running a rake script using bundle exec rake task)

Reproducibility

  • Does a “Rebuild” help? (You can trigger a rebuild from the Build’s page, by clicking the “Rebuild” button in the top right corner of a finished build) : NO
  • Does a rebuild without caches help? (You can remove the Cache:Pull and Cache:Push steps temporarily to not to use the cache, or you can delete all the caches on the Settings tab of the app. : N/A
  • Does the issue happen sporadically, or every time? : Every time
  • Does upgrading the build Step to the latest version help? : NO
  • When did the issue start? : On upgrading to Mojave. I can run my builds in High Sierra, but then I can’t notorise. The prompts are OS behaviour as of Mojave…

Local reproduction

_Can it be reproduced on your own Mac/PC by following our [local debug guide]
Yes, but obviously I can click the prompt…

Local reproduction: Linux / Android (docker based) stack builds

N/A

Build log

https://app.bitrise.io/api/build/a0609fc0acf2ed85/logs.json?&download=log

Hi @Paul.Chana!

Sorry to hear about the issue. We’ve ran into similar problems in the past and found it hard to get around this in a CI environment. However, you may try running this script (before the step that prompts the microphone access would run)

sudo sqlite3 /Users/vagrant/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT INTO access VALUES('kTCCServiceMicrophone','com.apple.CoreSimulator.SimulatorTrampoline',0,1,1,X'fade0c00000000480000000100000006000000020000002b636f6d2e6170706c652e436f726553696d756c61746f722e53696d756c61746f725472616d706f6c696e650000000003',NULL,NULL,'UNUSED',NULL,NULL,1561614941);"

Can you give that a try and let us know how it goes?

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.