Tor,

Thanks for your reply. I’m still using QMake

After a long time debugging I have realised that there is some kind of magic 
involved in using QPermission api.

I have found a qmake script that seems to look at Info.plist and search for the 
necessary key: qtbase/mkspecs/features/permissions.prf

Also, it seems that a QT_PLUGIN must be set in qmake in order to link the 
appropriate plugin.

But this is not stated anywhere in the documentation therefore I’m linking the 
plugin manually:

LIBS += 
/Users/nsantos/Qt/6.6.3/macos_static/plugins/permissions/libqdarwincamerapermission.a

And I’m registering the plugin manually using: 
Q_IMPORT_PLUGIN(QDarwinCameraPermissionPlugin)

When running the program I don’t have the same message anymore but it is still 
complaining about the key not being on the Info.plist when it is.

checking permissions Qt::PermissionStatus::Undetermined
qt.permissions: Requesting QCameraPermission requires 
"NSCameraUsageDescription" in Info.plist

The application is code signed with the camera entitlements:

Executable=/private/tmp/build-vs-Qt_6_6_3_for_macOS_static-Release/VS.app/Contents/MacOS/VS
[Dict]
        [Key] com.apple.security.device.audio-input
        [Value]
                [Bool] true
        [Key] com.apple.security.device.camera
        [Value]
                [Bool] true

<?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>CFBundleExecutable</key>
        <string>VS</string>
        <key>CFBundleGetInfoString</key>
        <string>1.6.0</string>
        <key>CFBundleIconFile</key>
        <string>icon.icns</string>
        <key>CFBundleIdentifier</key>
        <string>com.imaginando.vs</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>1.6.0</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <string>1.6.0</string>
        <key>NSCameraUsageDescription</key>
        <string>You can use camera input to create audio reactive 
visuals</string>
        <key>NSMicrophoneUsageDescription</key>
        <string>You can use audio input to create audio reactive 
visuals</string>
        <key>NSPrincipalClass</key>
        <string>NSApplication</string>
        <key>NSSupportsAutomaticGraphicsSwitching</key>
        <true/>
</dict>
</plist>

What am I missing?

Thanks!

Regards,

Nuno

> On 7 Jun 2024, at 16:32, Tor Arne Vestbø <tor.arne.ves...@qt.io> wrote:
> 
> Is the problem there in v6.6.3 as well? qmake or CMake based project?
> 
> Tor Arne 
> 
>> On 7 Jun 2024, at 16:44, Nuno Santos via Interest <interest@qt-project.org> 
>> wrote:
>> 
>> Hi,
>> 
>> I’m trying to use the new QPermissions API on Qt 6.6.1 on a Mac but I’m 
>> having a problem.
>> 
>> Even the app is code signed, has the necessary NSCameraUsageDescription on 
>> the Info.plist I always get the following message:
>> 
>> qt.permissions: Could not find permission plugin for QCameraPermission. 
>> Please make sure you have included the required usage description in your 
>> Info.plist
>> 
>> I’ve looked to the source code and it seems that it tried to load a plugin 
>> and this message is only shown when the plugin is not found.
>> 
>> I’ve also checked the qt build to see if the lib was around.
>> 
>> Am I missing something?
>> 
>> Thanks!
>> 
>> Regards
>> 
>> Nuno
>> _______________________________________________
>> Interest mailing list
>> Interest@qt-project.org
>> https://lists.qt-project.org/listinfo/interest
> 

_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to