Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
platform-notes-apple.qdoc
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4/*!
5\page qtmultimedia-apple.html
6\title Qt Multimedia on macOS and iOS
7\brief Platform notes for iOS
8
9This page covers the availability of Qt Multimedia features on iOS and macOS.
10
11\section1 Limitations
12
13Since Qt Multimedia for iOS uses the camera and microphone, the \c Info.plist
14assigned to QMAKE_INFO_PLIST in the project file must contain the keys
15\c NSCameraUsageDescription and \c NSMicrophoneUsageDescription. Otherwise, the
16application will abort on startup. See \l{Info.plist} documentation from Apple
17for more information regarding this key.
18
19\section1 Shared AVAudioSession on iOS
20
21On the iOS family, Qt Multimedia activates the single, process-wide shared
22\l{https://developer.apple.com/documentation/avfaudio/avaudiosession?language=objc}
23{AVAudioSession} for audio input and output. Since this session is shared by the
24whole application, other code that also configures or activates \c AVAudioSession
25may interfere with Qt Multimedia's session configuration, and Qt Multimedia's
26configuration may equally interfere with that other code.
27
28\section1 Use of FFmpeg libraries on iOS
29
30FFmpeg binaries from the online installer must be embedded into the application's
31bundle. To embed these libraries, you can add the \l qt_add_ios_ffmpeg_libraries()
32command to the app's CMakeLists.txt file:
33
34\code
35 qt_add_ios_ffmpeg_libraries(mytarget)
36\endcode
37
38\sa qt_add_ios_ffmpeg_libraries()
39
40When using QMake, add the following to your \c{.pro} file:
41
42\code
43CONFIG += add_ios_ffmpeg_libraries
44\endcode
45
46\note The FFmpeg binaries from the online installer are built for arm64 and x86_64-simulator to ensure they
47pass validation with Apple Store Connect and can be used when running the iOS simulator.
48
49\note A limitation in Qt Multimedia builds that include FFmpeg support,
50is that FFmpeg libraries must be provided at link-time when building
51iOS applications. Failing to do so will result in linker errors. This
52includes the Qt Multimedia builds supplied by Qt Maintenance Tool.
53Applications that use such builds are required to call
54\l qt_add_ios_ffmpeg_libraries(), or otherwise link their own FFmpeg
55libraries. As a consequence, application developers that wish to
56deploy iOS applications without FFmpeg, must build their own build
57of Qt Multimedia without FFmpeg support.
58
59*/