aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/considerations.rst
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/doc/considerations.rst')
-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