Is there a simpler way to do this? Like something in the PLIST file?

> On Jun 7, 2024, at 1:23 PM, Nuno Santos via Interest 
> <interest@qt-project.org> wrote:
> 
> 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

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

Reply via email to