diff --git a/.github/autobuild/ios.sh b/.github/autobuild/ios.sh index 838f0e0543..64900ebfea 100755 --- a/.github/autobuild/ios.sh +++ b/.github/autobuild/ios.sh @@ -42,7 +42,7 @@ setup() { build_app_as_ipa() { # Add the Qt binaries to the PATH: export PATH="${QT_DIR}/${QT_VERSION}/ios/bin:${PATH}" - ./ios/deploy_ios.sh + ./ios/deploy_ios.sh -m "${QT_DIR}/${QT_VERSION}/ios/bin/qmake" } pass_artifact_to_job() { diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index 2093636b95..3d282dc9ab 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -251,13 +251,13 @@ jobs: - config_name: iOS (artifacts) target_os: ios - building_on_os: macos-11 - base_command: QT_VERSION=5.15.2 ./.github/autobuild/ios.sh + building_on_os: macos-13 + base_command: QT_VERSION=6.4.3 ./.github/autobuild/ios.sh # Build failed with CodeQL enabled when last tested 03/2022 (#2490). # There are no hints that iOS is supposed to be supported by CodeQL. # Therefore, disable it: run_codeql: false - xcode_version: 12.5.1 + xcode_version: 14.2.0 - config_name: Windows (artifact+codeQL) target_os: windows diff --git a/Jamulus.pro b/Jamulus.pro index 0b2fb55cb5..2f50d1e07c 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -232,6 +232,7 @@ win32 { HEADERS += src/sound/coreaudio-ios/sound.h OBJECTIVE_SOURCES += src/sound/coreaudio-ios/sound.mm QMAKE_TARGET_BUNDLE_PREFIX = io.jamulus + QMAKE_LFLAGS += -Wl,-e,_qt_main_wrapper LIBS += -framework AVFoundation \ -framework AudioToolbox } else:android { diff --git a/ios/deploy_ios.sh b/ios/deploy_ios.sh index c5c150b17d..6826310f98 100755 --- a/ios/deploy_ios.sh +++ b/ios/deploy_ios.sh @@ -1,10 +1,31 @@ #!/bin/bash set -eu -o pipefail + +qmake_path="" + +while getopts 'hm:' flag; do + case "${flag}" in + m) + qmake_path=$OPTARG + if [[ -z "$qmake_path" ]]; then + echo "Please add the path to the qmake binary: -m \"\"" + fi + ;; + h) + echo "Usage: -m " + exit 0 + ;; + *) + exit 1 + ;; + esac +done + ## Builds an ipa file for iOS. Should be run from the repo-root # Create Xcode file and build -qmake -spec macx-xcode Jamulus.pro +eval "${qmake_path} Jamulus.pro" /usr/bin/xcodebuild -project Jamulus.xcodeproj -scheme Jamulus -configuration Release clean archive -archivePath "build/Jamulus.xcarchive" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO CODE_SIGN_ENTITLEMENTS="" # Generate ipa by copying the .app file from the xcarchive directory diff --git a/src/chatdlg.cpp b/src/chatdlg.cpp index 285c530d8b..8d27a7a1b9 100644 --- a/src/chatdlg.cpp +++ b/src/chatdlg.cpp @@ -72,6 +72,11 @@ CChatDlg::CChatDlg ( QWidget* parent ) : CBaseDlg ( parent, Qt::Window ) // use // Now tell the layout about the menu layout()->setMenuBar ( pMenu ); +#if defined( Q_OS_ANDROID ) || defined( ANDROID ) || defined( Q_OS_IOS ) + // for the Android/iOS version maximize the window + setWindowState ( Qt::WindowMaximized ); +#endif + // Connections ------------------------------------------------------------- QObject::connect ( edtLocalInputText, &QLineEdit::textChanged, this, &CChatDlg::OnLocalInputTextTextChanged ); diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index a14eabd888..831aa4162c 100644 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -53,6 +53,11 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, CClientSettings* pNSet layout()->setMenuBar ( pMenu ); #endif +#if defined( Q_OS_ANDROID ) || defined( ANDROID ) || defined( Q_OS_IOS ) + // for the Android/iOS version maximize the window + setWindowState ( Qt::WindowMaximized ); +#endif + // Add help text to controls ----------------------------------------------- // local audio input fader QString strAudFader = "" + tr ( "Local Audio Input Fader" ) + ": " + diff --git a/src/connectdlg.cpp b/src/connectdlg.cpp index 9df63d5623..dbd3927603 100644 --- a/src/connectdlg.cpp +++ b/src/connectdlg.cpp @@ -151,8 +151,8 @@ CConnectDlg::CConnectDlg ( CClientSettings* pNSetP, const bool bNewShowCompleteR // setup timers TimerInitialSort.setSingleShot ( true ); // only once after list request -#ifdef ANDROID - // for the android version maximize the window +#if defined( Q_OS_ANDROID ) || defined( ANDROID ) || defined( Q_OS_IOS ) + // for the Android/iOS version maximize the window setWindowState ( Qt::WindowMaximized ); #endif