From aa8bdbdf2a5ad9783b9782c7dfed5b4fe325c700 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 09:50:11 -0700 Subject: [PATCH 01/15] Add short version to the Info.plist --- mac/Info-make.plist | 2 ++ mac/Info-xcode.plist | 56 ++++++++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/mac/Info-make.plist b/mac/Info-make.plist index 503eb9141a..5fab7a7c8e 100644 --- a/mac/Info-make.plist +++ b/mac/Info-make.plist @@ -12,6 +12,8 @@ APPL CFBundleVersion @FULL_VERSION@ + CFBundleShortVersionString + @SHORT_VERSION@ CFBundleExecutable @EXECUTABLE@ CFBundleDevelopmentRegion diff --git a/mac/Info-xcode.plist b/mac/Info-xcode.plist index 31b543d5ea..1f67240e06 100644 --- a/mac/Info-xcode.plist +++ b/mac/Info-xcode.plist @@ -1,32 +1,32 @@ - - CFBundleName - ${EXECUTABLE_NAME} - CFBundleDisplayName - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundlePackageType - APPL - CFBundleVersion - ${QMAKE_FULL_VERSION} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleDevelopmentRegion - en - CFBundleIconFile - ${ASSETCATALOG_COMPILER_APPICON_NAME} - CFBundleGetInfoString - Created by Qt/QMake - - NSPrincipalClass - NSApplication - NSMicrophoneUsageDescription - Jamulus needs access to the microphone to record and stream your music to other musicians - - NSRequiresAquaSystemAppearance - true - + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${EXECUTABLE_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleGetInfoString + Jamulus + CFBundleIconFile + ${ASSETCATALOG_COMPILER_APPICON_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleName + ${EXECUTABLE_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + ${QMAKE_SHORT_VERSION} + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSMicrophoneUsageDescription + Jamulus needs access to the microphone to record and stream your music to other musicians + NSPrincipalClass + NSApplication + NSRequiresAquaSystemAppearance + true + From c9f01da5f64ea667928f92bb0aa1f7ab318fd886 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 09:50:46 -0700 Subject: [PATCH 02/15] Add entitlements and work into the qmake project --- Jamulus.entitlements | 10 ++++++++++ Jamulus.pro | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 Jamulus.entitlements diff --git a/Jamulus.entitlements b/Jamulus.entitlements new file mode 100644 index 0000000000..07ebecc891 --- /dev/null +++ b/Jamulus.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.networking.custom-protocol + + com.apple.security.device.audio-input + + + diff --git a/Jamulus.pro b/Jamulus.pro index 3394cfe7ab..268f5f03e2 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -141,11 +141,21 @@ win32 { HEADERS += mac/activity.h OBJECTIVE_SOURCES += mac/activity.mm CONFIG += x86 - QMAKE_TARGET_BUNDLE_PREFIX = net.sourceforge.llcon + QMAKE_TARGET_BUNDLE_PREFIX = io.jamulus QMAKE_APPLICATION_BUNDLE_NAME. = $$TARGET + #QMAKE_PROVISIONING_PROFILE = + #QMAKE_DEVELOPMENT_TEAM = + + OSX_ENTITLEMENTS.files = Jamulus.entitlements + OSX_ENTITLEMENTS.path = Contents/Resources + QMAKE_BUNDLE_DATA += OSX_ENTITLEMENTS + macx-xcode { QMAKE_INFO_PLIST = mac/Info-xcode.plist + XCODE_ENTITLEMENTS.name = CODE_SIGN_ENTITLEMENTS + XCODE_ENTITLEMENTS.value = Jamulus.entitlements + QMAKE_MAC_XCODE_SETTINGS += XCODE_ENTITLEMENTS } else { QMAKE_INFO_PLIST = mac/Info-make.plist } @@ -184,7 +194,7 @@ win32 { HEADERS += ios/ios_app_delegate.h HEADERS += ios/sound.h OBJECTIVE_SOURCES += ios/sound.mm - QMAKE_TARGET_BUNDLE_PREFIX = com.jamulussoftware.jamulus + QMAKE_TARGET_BUNDLE_PREFIX = io.jamulus QMAKE_APPLICATION_BUNDLE_NAME. = $$TARGET LIBS += -framework CoreFoundation \ -framework CoreServices \ From fec86a069541465c505eca939b27b316cae1c7f7 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 09:51:17 -0700 Subject: [PATCH 03/15] Add signing details to macdeployqt call --- mac/deploy_mac.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mac/deploy_mac.sh b/mac/deploy_mac.sh index 19b1c307e3..0c6fa5a056 100755 --- a/mac/deploy_mac.sh +++ b/mac/deploy_mac.sh @@ -29,7 +29,7 @@ build_app() make -f "${build_path}/Makefile" -C "${build_path}" -j "${job_count}" # Add Qt deployment dependencies - macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite + macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite -hardened-runtime -timestamp -appstore-compliant -sign-for-notarization="Developer ID Application: Bolton Technology Consulting Ltd. (ENJ2T4A3FZ)" mv "${build_path}/${target_name}.app" "${deploy_path}" # Cleanup From 5da96a029cd46cfb3b133c1591dfb5adbcdb92e9 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 10:06:49 -0700 Subject: [PATCH 04/15] Add some more entitlements --- Jamulus.entitlements | 4 ++++ mac/Info-xcode.plist | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Jamulus.entitlements b/Jamulus.entitlements index 07ebecc891..f8474d94a1 100644 --- a/Jamulus.entitlements +++ b/Jamulus.entitlements @@ -4,6 +4,10 @@ com.apple.developer.networking.custom-protocol + com.apple.security.cs.allow-dyld-environment-variables + + com.apple.security.cs.disable-library-validation + com.apple.security.device.audio-input diff --git a/mac/Info-xcode.plist b/mac/Info-xcode.plist index 1f67240e06..3160569450 100644 --- a/mac/Info-xcode.plist +++ b/mac/Info-xcode.plist @@ -21,7 +21,7 @@ CFBundleShortVersionString ${QMAKE_SHORT_VERSION} CFBundleVersion - $(CURRENT_PROJECT_VERSION) + ${QMAKE_FULL_VERSION} NSMicrophoneUsageDescription Jamulus needs access to the microphone to record and stream your music to other musicians NSPrincipalClass From 4f57f035e82666e136de4733470d017e8e719710 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 10:23:38 -0700 Subject: [PATCH 05/15] Add app category for apple --- mac/Info-make.plist | 2 ++ mac/Info-xcode.plist | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mac/Info-make.plist b/mac/Info-make.plist index 5fab7a7c8e..d927b32bbb 100644 --- a/mac/Info-make.plist +++ b/mac/Info-make.plist @@ -15,6 +15,8 @@ CFBundleShortVersionString @SHORT_VERSION@ CFBundleExecutable + LSApplicationCategoryType + public.app-category.music @EXECUTABLE@ CFBundleDevelopmentRegion en diff --git a/mac/Info-xcode.plist b/mac/Info-xcode.plist index 3160569450..9ae47bde1c 100644 --- a/mac/Info-xcode.plist +++ b/mac/Info-xcode.plist @@ -22,6 +22,8 @@ ${QMAKE_SHORT_VERSION} CFBundleVersion ${QMAKE_FULL_VERSION} + LSApplicationCategoryType + public.app-category.music NSMicrophoneUsageDescription Jamulus needs access to the microphone to record and stream your music to other musicians NSPrincipalClass From 7680577663762cfbcbe148cd480ed15d2f8f32ea Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 11:18:49 -0700 Subject: [PATCH 06/15] Fix up entitlements for signing / notarization for non-app store deployment --- Jamulus.entitlements | 7 +++++-- mac/Info-make.plist | 5 ++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Jamulus.entitlements b/Jamulus.entitlements index f8474d94a1..820882d4a5 100644 --- a/Jamulus.entitlements +++ b/Jamulus.entitlements @@ -2,13 +2,16 @@ - com.apple.developer.networking.custom-protocol - + com.apple.security.cs.allow-dyld-environment-variables com.apple.security.cs.disable-library-validation com.apple.security.device.audio-input + com.apple.security.files.user-selected.read-write + + com.apple.security.network.client + diff --git a/mac/Info-make.plist b/mac/Info-make.plist index d927b32bbb..ecc7bf45e4 100644 --- a/mac/Info-make.plist +++ b/mac/Info-make.plist @@ -14,17 +14,16 @@ @FULL_VERSION@ CFBundleShortVersionString @SHORT_VERSION@ - CFBundleExecutable LSApplicationCategoryType public.app-category.music + CFBundleExecutable @EXECUTABLE@ CFBundleDevelopmentRegion en CFBundleIconFile @ICON@ CFBundleGetInfoString - Created by Qt/QMake - + Jamulus NSPrincipalClass NSApplication NSMicrophoneUsageDescription From d717a115e8ce32477798399787c3cb2b11a79e9e Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 11:43:44 -0700 Subject: [PATCH 07/15] Put signing of mac os behind a -s flag in the deploy_mac.sh script --- mac/deploy_mac.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/mac/deploy_mac.sh b/mac/deploy_mac.sh index 0c6fa5a056..9668d4e928 100755 --- a/mac/deploy_mac.sh +++ b/mac/deploy_mac.sh @@ -7,8 +7,16 @@ macdeploy_path="${root_path}/mac" resources_path="${root_path}/src/res" build_path="${root_path}/build" deploy_path="${root_path}/deploy" +sign_for_mac="false" +while getopts 'sh' flag; do + case "${flag}" in + s) sign_for_mac='true' ;; + h) echo "Optional -s parameter enables signing macOS build, if you have the certificates" ; exit 0 ; + esac +done + cleanup() { # Clean up previous deployments @@ -29,7 +37,11 @@ build_app() make -f "${build_path}/Makefile" -C "${build_path}" -j "${job_count}" # Add Qt deployment dependencies - macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite -hardened-runtime -timestamp -appstore-compliant -sign-for-notarization="Developer ID Application: Bolton Technology Consulting Ltd. (ENJ2T4A3FZ)" + if [[ $sign_for_mac == "true" ]]; then + macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite -hardened-runtime -timestamp -appstore-compliant -sign-for-notarization="Developer ID Application: Bolton Technology Consulting Ltd. (ENJ2T4A3FZ)" + else + macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite + fi mv "${build_path}/${target_name}.app" "${deploy_path}" # Cleanup From a084c965c99f4d4d55292cb04af12fd153e578f8 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Thu, 10 Jun 2021 15:19:27 -0700 Subject: [PATCH 08/15] Split out the client / server entitlements Remove hard-coded certificate name --- Jamulus.entitlements | 1 - Jamulus.pro | 3 +++ JamulusServer.entitlements | 16 ++++++++++++++++ mac/deploy_mac.sh | 27 ++++++++++++++++++++------- 4 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 JamulusServer.entitlements diff --git a/Jamulus.entitlements b/Jamulus.entitlements index 820882d4a5..5962191457 100644 --- a/Jamulus.entitlements +++ b/Jamulus.entitlements @@ -2,7 +2,6 @@ - com.apple.security.cs.allow-dyld-environment-variables com.apple.security.cs.disable-library-validation diff --git a/Jamulus.pro b/Jamulus.pro index 268f5f03e2..6d9b309831 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -130,9 +130,11 @@ win32 { TARGET = $${TARGET}Server MACOSX_BUNDLE_ICON_FILE = jamulus-server-icon-2020.icns RC_FILE = mac/jamulus-server-icon-2020.icns + OSX_ENTITLEMENTS.files = JamulusServer.entitlements } else { MACOSX_BUNDLE_ICON_FILE = mainicon.icns RC_FILE = mac/mainicon.icns + OSX_ENTITLEMENTS.files = Jamulus.entitlements } QT += macextras @@ -156,6 +158,7 @@ win32 { XCODE_ENTITLEMENTS.name = CODE_SIGN_ENTITLEMENTS XCODE_ENTITLEMENTS.value = Jamulus.entitlements QMAKE_MAC_XCODE_SETTINGS += XCODE_ENTITLEMENTS + ICON = mac/mainicon.icns } else { QMAKE_INFO_PLIST = mac/Info-make.plist } diff --git a/JamulusServer.entitlements b/JamulusServer.entitlements new file mode 100644 index 0000000000..a380bda38b --- /dev/null +++ b/JamulusServer.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-dyld-environment-variables + + com.apple.security.cs.disable-library-validation + + com.apple.security.files.user-selected.read-write + + com.apple.security.network.client + + com.apple.security.network.server + + + diff --git a/mac/deploy_mac.sh b/mac/deploy_mac.sh index 9668d4e928..438fc38a7b 100755 --- a/mac/deploy_mac.sh +++ b/mac/deploy_mac.sh @@ -7,13 +7,26 @@ macdeploy_path="${root_path}/mac" resources_path="${root_path}/src/res" build_path="${root_path}/build" deploy_path="${root_path}/deploy" -sign_for_mac="false" +cert_name="" -while getopts 'sh' flag; do +while getopts 'hs:' flag; do case "${flag}" in - s) sign_for_mac='true' ;; - h) echo "Optional -s parameter enables signing macOS build, if you have the certificates" ; exit 0 ; + s) + cert_name=$OPTARG + if [[ -z "$cert_name" ]]; then + echo "Please add the name of the certificate to use: -s \"\"" + fi + # shift 2 + ;; + h) + echo "Usage: -s for signing mac build" + exit 0 + ;; + *) + exit 1 + ;; + esac done @@ -37,10 +50,10 @@ build_app() make -f "${build_path}/Makefile" -C "${build_path}" -j "${job_count}" # Add Qt deployment dependencies - if [[ $sign_for_mac == "true" ]]; then - macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite -hardened-runtime -timestamp -appstore-compliant -sign-for-notarization="Developer ID Application: Bolton Technology Consulting Ltd. (ENJ2T4A3FZ)" - else + if [[ -z "$cert_name" ]]; then macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite + else + macdeployqt "${build_path}/${target_name}.app" -verbose=2 -always-overwrite -hardened-runtime -timestamp -appstore-compliant -sign-for-notarization="${cert_name}" fi mv "${build_path}/${target_name}.app" "${deploy_path}" From d1ba102145c9a0c11453e90beb6277d35d88edee Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Fri, 11 Jun 2021 08:38:11 -0700 Subject: [PATCH 09/15] Minimise entitlements and enable sandboxing of the app / server --- Jamulus.entitlements | 8 +++----- Jamulus.pro | 3 --- JamulusServer.entitlements | 16 ---------------- 3 files changed, 3 insertions(+), 24 deletions(-) delete mode 100644 JamulusServer.entitlements diff --git a/Jamulus.entitlements b/Jamulus.entitlements index 5962191457..9f3c0e8c3c 100644 --- a/Jamulus.entitlements +++ b/Jamulus.entitlements @@ -2,15 +2,13 @@ - com.apple.security.cs.allow-dyld-environment-variables - - com.apple.security.cs.disable-library-validation + com.apple.security.app-sandbox com.apple.security.device.audio-input - com.apple.security.files.user-selected.read-write - com.apple.security.network.client + com.apple.security.network.server + diff --git a/Jamulus.pro b/Jamulus.pro index 6d9b309831..268f5f03e2 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -130,11 +130,9 @@ win32 { TARGET = $${TARGET}Server MACOSX_BUNDLE_ICON_FILE = jamulus-server-icon-2020.icns RC_FILE = mac/jamulus-server-icon-2020.icns - OSX_ENTITLEMENTS.files = JamulusServer.entitlements } else { MACOSX_BUNDLE_ICON_FILE = mainicon.icns RC_FILE = mac/mainicon.icns - OSX_ENTITLEMENTS.files = Jamulus.entitlements } QT += macextras @@ -158,7 +156,6 @@ win32 { XCODE_ENTITLEMENTS.name = CODE_SIGN_ENTITLEMENTS XCODE_ENTITLEMENTS.value = Jamulus.entitlements QMAKE_MAC_XCODE_SETTINGS += XCODE_ENTITLEMENTS - ICON = mac/mainicon.icns } else { QMAKE_INFO_PLIST = mac/Info-make.plist } diff --git a/JamulusServer.entitlements b/JamulusServer.entitlements deleted file mode 100644 index a380bda38b..0000000000 --- a/JamulusServer.entitlements +++ /dev/null @@ -1,16 +0,0 @@ - - - - - com.apple.security.cs.allow-dyld-environment-variables - - com.apple.security.cs.disable-library-validation - - com.apple.security.files.user-selected.read-write - - com.apple.security.network.client - - com.apple.security.network.server - - - From 5fed7865f8de3e2854835a3a42515ba54a7ac880 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Fri, 11 Jun 2021 10:28:59 -0700 Subject: [PATCH 10/15] Remove windows-only resource reference from mac build; add icon to xcode project --- Jamulus.pro | 8 ++++---- mac/Info-xcode.plist | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Jamulus.pro b/Jamulus.pro index 268f5f03e2..fe876f6fa8 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -128,11 +128,9 @@ win32 { DEFINES += SERVER_BUNDLE TARGET = $${TARGET}Server - MACOSX_BUNDLE_ICON_FILE = jamulus-server-icon-2020.icns - RC_FILE = mac/jamulus-server-icon-2020.icns + MACOSX_BUNDLE_ICON.files = mac/jamulus-server-icon-2020.icns } else { - MACOSX_BUNDLE_ICON_FILE = mainicon.icns - RC_FILE = mac/mainicon.icns + MACOSX_BUNDLE_ICON.files = mac/mainicon.icns } QT += macextras @@ -156,6 +154,8 @@ win32 { XCODE_ENTITLEMENTS.name = CODE_SIGN_ENTITLEMENTS XCODE_ENTITLEMENTS.value = Jamulus.entitlements QMAKE_MAC_XCODE_SETTINGS += XCODE_ENTITLEMENTS + MACOSX_BUNDLE_ICON.path = Contents/Resources + QMAKE_BUNDLE_DATA += MACOSX_BUNDLE_ICON } else { QMAKE_INFO_PLIST = mac/Info-make.plist } diff --git a/mac/Info-xcode.plist b/mac/Info-xcode.plist index 9ae47bde1c..36ae0e790e 100644 --- a/mac/Info-xcode.plist +++ b/mac/Info-xcode.plist @@ -11,7 +11,7 @@ CFBundleGetInfoString Jamulus CFBundleIconFile - ${ASSETCATALOG_COMPILER_APPICON_NAME} + mainicon.icns CFBundleIdentifier ${PRODUCT_BUNDLE_IDENTIFIER} CFBundleName From 0fdc385521e24f78560b1af6aae4c6a5569cffea Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Fri, 11 Jun 2021 11:18:23 -0700 Subject: [PATCH 11/15] Add missing components to Info.plist; sync them up. Put back required RC_FILE (used in deploy_mac.sh) --- Jamulus.pro | 6 ++++-- mac/Info-make.plist | 6 +++++- mac/Info-xcode.plist | 32 ++++++++++++++++++-------------- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/Jamulus.pro b/Jamulus.pro index fe876f6fa8..f009ed33c5 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -129,8 +129,10 @@ win32 { DEFINES += SERVER_BUNDLE TARGET = $${TARGET}Server MACOSX_BUNDLE_ICON.files = mac/jamulus-server-icon-2020.icns + RC_FILE = mac/jamulus-server-icon-2020.icns } else { MACOSX_BUNDLE_ICON.files = mac/mainicon.icns + RC_FILE = mac/mainicon.icns } QT += macextras @@ -142,8 +144,8 @@ win32 { QMAKE_TARGET_BUNDLE_PREFIX = io.jamulus QMAKE_APPLICATION_BUNDLE_NAME. = $$TARGET - #QMAKE_PROVISIONING_PROFILE = - #QMAKE_DEVELOPMENT_TEAM = + QMAKE_PROVISIONING_PROFILE = 25e71953-9b1b-457a-a171-d63458583e7e + QMAKE_DEVELOPMENT_TEAM = ENJ2T4A3FZ OSX_ENTITLEMENTS.files = Jamulus.entitlements OSX_ENTITLEMENTS.path = Contents/Resources diff --git a/mac/Info-make.plist b/mac/Info-make.plist index ecc7bf45e4..b601ab9e5f 100644 --- a/mac/Info-make.plist +++ b/mac/Info-make.plist @@ -14,6 +14,10 @@ @FULL_VERSION@ CFBundleShortVersionString @SHORT_VERSION@ + CFBundleSupportedPlatforms + + MacOSX + LSApplicationCategoryType public.app-category.music CFBundleExecutable @@ -23,7 +27,7 @@ CFBundleIconFile @ICON@ CFBundleGetInfoString - Jamulus + Jamulus - Created with QT NSPrincipalClass NSApplication NSMicrophoneUsageDescription diff --git a/mac/Info-xcode.plist b/mac/Info-xcode.plist index 36ae0e790e..7d0e6da964 100644 --- a/mac/Info-xcode.plist +++ b/mac/Info-xcode.plist @@ -2,32 +2,36 @@ - CFBundleDevelopmentRegion - en - CFBundleDisplayName + CFBundleName ${EXECUTABLE_NAME} - CFBundleExecutable + CFBundleDisplayName ${EXECUTABLE_NAME} - CFBundleGetInfoString - Jamulus - CFBundleIconFile - mainicon.icns CFBundleIdentifier ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleName - ${EXECUTABLE_NAME} CFBundlePackageType APPL - CFBundleShortVersionString - ${QMAKE_SHORT_VERSION} CFBundleVersion ${QMAKE_FULL_VERSION} + CFBundleShortVersionString + ${QMAKE_SHORT_VERSION} + CFBundleSupportedPlatforms + + MacOSX + LSApplicationCategoryType public.app-category.music - NSMicrophoneUsageDescription - Jamulus needs access to the microphone to record and stream your music to other musicians + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleDevelopmentRegion + en + CFBundleIconFile + mainicon.icns + CFBundleGetInfoString + Jamulus - Created with QT NSPrincipalClass NSApplication + NSMicrophoneUsageDescription + Jamulus needs access to the microphone to record and stream your music to other musicians NSRequiresAquaSystemAppearance true From 4cebc2248c9ca5724f8dc70f660ded913a1c7d1a Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Fri, 11 Jun 2021 13:01:54 -0700 Subject: [PATCH 12/15] Add minimum required macOS version as required by app store --- mac/Info-make.plist | 2 ++ mac/Info-xcode.plist | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mac/Info-make.plist b/mac/Info-make.plist index b601ab9e5f..b6dfd557d3 100644 --- a/mac/Info-make.plist +++ b/mac/Info-make.plist @@ -20,6 +20,8 @@ LSApplicationCategoryType public.app-category.music + LSMinimumSystemVersion + 10.13.0 CFBundleExecutable @EXECUTABLE@ CFBundleDevelopmentRegion diff --git a/mac/Info-xcode.plist b/mac/Info-xcode.plist index 7d0e6da964..74e9383333 100644 --- a/mac/Info-xcode.plist +++ b/mac/Info-xcode.plist @@ -20,6 +20,8 @@ LSApplicationCategoryType public.app-category.music + LSMinimumSystemVersion + 10.13.0 CFBundleExecutable ${EXECUTABLE_NAME} CFBundleDevelopmentRegion From 544415520325881442f6d4c6e3d7fb68bfd8ccd8 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Tue, 15 Jun 2021 12:30:37 -0700 Subject: [PATCH 13/15] Remove whitespace for PR review; remove unneeded team / provisioning profile IDs (only used in xcode project not signing) --- Jamulus.pro | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Jamulus.pro b/Jamulus.pro index f009ed33c5..12cfd5896b 100644 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -129,7 +129,7 @@ win32 { DEFINES += SERVER_BUNDLE TARGET = $${TARGET}Server MACOSX_BUNDLE_ICON.files = mac/jamulus-server-icon-2020.icns - RC_FILE = mac/jamulus-server-icon-2020.icns + RC_FILE = mac/jamulus-server-icon-2020.icns } else { MACOSX_BUNDLE_ICON.files = mac/mainicon.icns RC_FILE = mac/mainicon.icns @@ -144,9 +144,6 @@ win32 { QMAKE_TARGET_BUNDLE_PREFIX = io.jamulus QMAKE_APPLICATION_BUNDLE_NAME. = $$TARGET - QMAKE_PROVISIONING_PROFILE = 25e71953-9b1b-457a-a171-d63458583e7e - QMAKE_DEVELOPMENT_TEAM = ENJ2T4A3FZ - OSX_ENTITLEMENTS.files = Jamulus.entitlements OSX_ENTITLEMENTS.path = Contents/Resources QMAKE_BUNDLE_DATA += OSX_ENTITLEMENTS From 8cb6e8821778674c86c6e93a32a44a4ace7ebe3c Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Fri, 18 Jun 2021 08:47:04 -0700 Subject: [PATCH 14/15] Add a changelog entry --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1b5489c680..328fdc3534 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ ### 3.8.0dev <- NOTE: the release version number will be 3.8.1 ### +- Internal: mac/deploy_mac.sh now takes an optional parameter to a certificate name to sign the build with + - CLI: Jamulus now shows a link to the Website for translated content (#1759). (contributed by @henkdegroot) From 75b9966ff23fba95b9c900e5e63770b1d3775a76 Mon Sep 17 00:00:00 2001 From: Emlyn Bolton Date: Fri, 18 Jun 2021 08:53:37 -0700 Subject: [PATCH 15/15] Update for consistency with rest of change log --- ChangeLog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 328fdc3534..42ed905627 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,8 @@ ### 3.8.0dev <- NOTE: the release version number will be 3.8.1 ### -- Internal: mac/deploy_mac.sh now takes an optional parameter to a certificate name to sign the build with +- Internal: mac/deploy_mac.sh now takes an optional parameter to a certificate name to sign the build with. + (contributed by @emlynmac) - CLI: Jamulus now shows a link to the Website for translated content (#1759). (contributed by @henkdegroot)