aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShyamnath Premnadh <Shyamnath.Premnadh@qt.io>2024-03-06 08:44:38 +0000
committerShyamnath Premnadh <Shyamnath.Premnadh@qt.io>2024-03-06 08:51:57 +0000
commit233f49d49af9c86a28be0d1a1d2f827c4505a28b (patch)
tree37dff6909751e607c2e0b554c578a397f12dd703
parent32f43590449bedb505ffdf90f0b8a46900c76e09 (diff)
Revert "PySide6 Permission API: Add considerations"
This reverts commit 1054642749c9a81f92047c9a30b40003d2595ce1. Reason for revert: Since the next release of 6.6 is the last release and we don't want to break anything, we decided to keep the deployment and permission API inclusion to 6.7. Hence, reverting this change. Change-Id: I9a1a7918c6c9163fc5179b45557dab70531a8ab1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r--sources/pyside6/doc/considerations.rst56
1 files changed, 0 insertions, 56 deletions
diff --git a/sources/pyside6/doc/considerations.rst b/sources/pyside6/doc/considerations.rst
index dda1d8b0d..78bd85bd6 100644
--- a/sources/pyside6/doc/considerations.rst
+++ b/sources/pyside6/doc/considerations.rst
@@ -383,59 +383,3 @@ cannot be written in the shortcut form
because there is no surrounding PySide class that provides the forgiving mode
implementation. Typically, the needed changes are easily found because they often occur
in an import statement.
-
-Permission API
---------------
-
-The cross-platform permission APIs were introduced to Qt in version 6.5 which are currently relevant
-to platforms macOS, iOS, Android and WebAssembly. With this API, your Qt application can check and
-request permission for certain features like Camera, Microphone, Location, Bluetooth, Contacts,
-Calendar. More about permission API can be read in this `Blog post`_.
-
-When a PySide6 application that uses the permission API is run in interpreted mode, i.e.,
-``python <main_file>.py``, the code implementing the permission API *will not work*. The only way
-to make your PySide6 application using permission API work is to bundle the application. For Android,
-this means using the `pyside6-android-deploy`_ tool and for macOS, this means using the
-`pyside6-deploy`_ tool.
-
-When running in interpreted mode, you can skip over the permission check/request using the following
-*if* condition
-
-::
-
- is_deployed = "__compiled__" in globals()
- if not is_deployed and sys.platform == "darwin":
- # code implementing permission check and request
-
-This can also be seen in the PySide6 `Camera example`_. * __compiled__ * is a Nuitka attribute to
-check if the application is run as a standalone application or run in interpreted mode with Python.
-
-Android
-~~~~~~~~
-
-For Android, `pyside6-android-deploy`_ takes care of identifying the necessary permissions needed by
-the application and adding those permissions to the *AndroidManifest.xml* using the
-*<uses-permission>* element.
-
-macOS
-~~~~~
-
-Since the Android platform does not automatically come bundled with a Python interpreter, it is
-evident that to make a PySide6 application run on Android you have to package the PySide6
-application. This is not the case for desktop platforms like macOS where a Python interpreter and
-its packages can be installed and run quite easily.
-
-The problem for macOS is that for the permission API to work you need a macOS bundle with an
-*Info.plist* file that lists all the permissions required using the *usage description* string for
-each permission used. When Python is run in interpreted mode, i.e., when you run Python, the Qt
-permission API fetches the *Info.plist* from the Python interpreter by default which does not
-contain the *usage description* strings for the permissions required. You can certainly modify the
-*Info.plist* of the Python framework installation to make the Qt permission API work when running
-a PySide6 application from the terminal. However, this is not recommended. Therefore, the only
-viable solution is to bundle the PySide6 application as a macOS application bundle using
-`pyside6-deploy`_. This macOS application bundle will have its own Info.plist file.
-
-.. _`Blog post`: https://www.qt.io/blog/permission-apis-in-qt-6.5
-.. _`Camera Example`: https://doc.qt.io/qtforpython-6/examples/example_multimedia_camera.html#camera-example
-.. _`pyside6-android-deploy`: https://doc.qt.io/qtforpython-6/gettingstarted/package_details.html#deployment
-.. _`pyside6-deploy`: https://doc.qt.io/qtforpython-6/gettingstarted/package_details.html#deployment