Tor, Setting QMAKE_INFO_PLIST made the trick.
This should be referenced on the documentation though. Thank you! Have a great weekend! Best, Nuno > On 7 Jun 2024, at 17:11, Tor Arne Vestbø <tor.arne.ves...@qt.io> wrote: > > If you set QMAKE_INFO_PLIST the permission.prf logic should resolve the > required permission plugins automatically. If you have a 6.6.3 or 6.7.x based > sample that reproduces that not working please file an issue. > > The part you’re missing is likely the QMAKE_LFLAGS += $$request_flag > > > ❯ cat ../../qtbase/mkspecs/modules/qt_plugin_qdarwincamerapermission.pri > 12s > QT_PLUGIN.qdarwincamerapermission.TYPE = permissions > QT_PLUGIN.qdarwincamerapermission.EXTENDS = - > QT_PLUGIN.qdarwincamerapermission.DEPENDS = core > QT_PLUGIN.qdarwincamerapermission.CLASS_NAME = QDarwinCameraPermissionPlugin > QT_PLUGIN.qdarwincamerapermission.module_config = v2 staticlib > QT_PLUGINS += qdarwincamerapermission > QT_PLUGIN.qdarwincamerapermission.usage_descriptions = > NSCameraUsageDescription > QT_PLUGIN.qdarwincamerapermission.request_flag = > -Wl,-u,_QDarwinCameraPermissionRequest > > ❯ cat ../../qtbase/mkspecs/modules/qt_plugin_qdarwinmicrophonepermission.pri > QT_PLUGIN.qdarwinmicrophonepermission.TYPE = permissions > QT_PLUGIN.qdarwinmicrophonepermission.EXTENDS = - > QT_PLUGIN.qdarwinmicrophonepermission.DEPENDS = core > QT_PLUGIN.qdarwinmicrophonepermission.CLASS_NAME = > QDarwinMicrophonePermissionPlugin > QT_PLUGIN.qdarwinmicrophonepermission.module_config = v2 staticlib > QT_PLUGINS += qdarwinmicrophonepermission > QT_PLUGIN.qdarwinmicrophonepermission.usage_descriptions = > NSMicrophoneUsageDescription > QT_PLUGIN.qdarwinmicrophonepermission.request_flag = > -Wl,-u,_QDarwinMicrophonePermissionRequest > >> On 7 Jun 2024, at 18:02, Nuno Santos <nuno.san...@imaginando.pt> wrote: >> >> 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