diff --git a/ios/iOSForAppStore-Info-Source.plist b/ios/iOSForAppStore-Info-Source.plist
index 09f03afee2d0bcb324b04aba1e4e381c0b4a6edb..de8c15ec7a3cf9955a5b701bfe2cd2450ce407aa 100644
--- a/ios/iOSForAppStore-Info-Source.plist
+++ b/ios/iOSForAppStore-Info-Source.plist
@@ -85,6 +85,8 @@
Ground Station Location
UILaunchStoryboardName
QGCLaunchScreen
+ NSBluetoothPeripheralUsageDescription
+ QGroundControl would like to use bluetooth.
UIRequiresFullScreen
UISupportedInterfaceOrientations
diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro
index 06ff98ffd88682230d97b1665c33d69493916018..23e4fc75c5e981e4cfe0bd89e9945ed8f177082b 100644
--- a/qgroundcontrol.pro
+++ b/qgroundcontrol.pro
@@ -55,6 +55,8 @@ iOSBuild {
count(APP_ERROR, 1) {
error("Error building .plist file. 'ForAppStore' builds are only possible through the official build system.")
}
+ QT += qml-private
+ CONFIG += qtquickcompiler
QMAKE_INFO_PLIST = $${BASEDIR}/ios/iOSForAppStore-Info.plist
OTHER_FILES += $${BASEDIR}/ios/iOSForAppStore-Info.plist
} else {
diff --git a/src/api/QGCCorePlugin.cc b/src/api/QGCCorePlugin.cc
index f40fe3d9267a48b764cbcd021d2e9165be2d483f..a427bacadf27ec3dcd24d52acfbed275fe6e55da 100644
--- a/src/api/QGCCorePlugin.cc
+++ b/src/api/QGCCorePlugin.cc
@@ -175,6 +175,13 @@ bool QGCCorePlugin::adjustSettingMetaData(FactMetaData& metaData)
#else
metaData.setRawDefaultValue(true);
return true;
+#endif
+#if defined(__ios__)
+ } else if (metaData.name() == AppSettings::savePathName) {
+ QString appName = qgcApp()->applicationName();
+ QDir rootDir = QDir(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation));
+ metaData.setRawDefaultValue(rootDir.filePath(appName));
+ return false;
#endif
}
return true; // Show setting in ui
diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc
index d72e20438a8ab717b2f479bcab6933f71de5995c..19c006ea3faed58641d5d03481f029bdd01f5eb5 100644
--- a/src/ui/MainWindow.cc
+++ b/src/ui/MainWindow.cc
@@ -296,7 +296,7 @@ QString MainWindow::_getWindowGeometryKey()
#ifndef __mobile__
MAVLinkDecoder* MainWindow::_mavLinkDecoderInstance(void)
{
- if (_mavlinkDecoder) {
+ if (!_mavlinkDecoder) {
_mavlinkDecoder = new MAVLinkDecoder(qgcApp()->toolbox()->mavlinkProtocol());
connect(_mavlinkDecoder, &MAVLinkDecoder::valueChanged, this, &MainWindow::valueChanged);
}