summaryrefslogtreecommitdiffstats
path: root/tests/manual/ios_assets
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2023-09-11 19:15:29 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2023-09-22 20:40:36 +0200
commitbf2587d9e5a3b25ca6dc1224a635bd8565681d2b (patch)
tree25f2138159f6e729072ab2549d7563fa9ada3faa /tests/manual/ios_assets
parent370962315ad184a772e1813edc3c948403c7b057 (diff)
CMake: Update the ios assets manual test
- provide an asset catalog .json file for both Xcode 13 and 14 formats. Apps built against the Xcode 13 SDK are not validated anymore by the App store, but it's still useful to see how things were before. - Xcode 13 required the following icon sizes for a universal iOS app: 60x60@2x, 76x76@2x\~ipad, 167x167, 1024x1024 - Xcode 14 only needs the 1024x1024 one - icons need to be embedded into the asset catalog starting with iOS 11 according to Apple docs (not sure which Xcode version, but it's needed for both Xcode 13 and Xcode 14), and they don't have to manually be copied into the bundle anymore, Xcode takes care of that when processing the asset catalog - add an 167x167 icon image for the iPad pro for Xcode 13 - add an 1024x1024 icon image that is required for successful app store submission and embed it into the asset catalogs - for Xcode 13, we need to manually specify all the required icon sizes - for Xcode 14 we can rely on Xcode to generate the smaller icons from the big one - because the icons need to live in the asset catalog folder, remove unnecessary icons in the appicons folder. - for the cmake project, make sure the asset catalog compiler generates the icons by setting the XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME attribute qmake does automatically already. it would be nice if we can do that automatically in a future Qt version - remove unused icon references in Info.plist file with Xcode 13 - remove all icon references in Info.plist with Xcode 14, rely on Xcode to add that info via its generated partial Info.plist file that gets merged into the main one. - don't include CMakeLists.txt as a text resource Amends cf3535fdf2e7fe52b36aaa4b94a53525fd6640f4 Pick-to: 6.5 6.6 Task-number: QTBUG-104519 Task-number: QTBUG-110921 Task-number: QTBUG-116784 Change-Id: I0bc556e66647a66bc21402ea62db3374d0970e97 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Diffstat (limited to 'tests/manual/ios_assets')
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon1024x1024.pngbin0 -> 22579 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon167x167.pngbin0 -> 3369 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png (renamed from tests/manual/ios_assets/appicon/AppIcon60x60@2x.png)bin2335 -> 2335 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png (renamed from tests/manual/ios_assets/appicon/AppIcon76x76@2x~ipad.png)bin3060 -> 3060 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/Contents.json (renamed from tests/manual/ios_assets/Assets.xcassets/AppIcon.appiconset/Contents.json)4
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/Contents.json (renamed from tests/manual/ios_assets/Assets.xcassets/Contents.json)0
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Contents.json (renamed from tests/manual/ios_assets/Assets.xcassets/Face.imageset/Contents.json)0
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-16.png (renamed from tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-16.png)bin173 -> 173 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-32.png (renamed from tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-32.png)bin407 -> 407 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-48.png (renamed from tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-48.png)bin750 -> 750 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/AppIcon1024x1024.pngbin0 -> 22579 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/Contents.json104
-rw-r--r--tests/manual/ios_assets/AssetsXcode14.3.xcassets/Contents.json6
-rw-r--r--tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Contents.json23
-rw-r--r--tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-16.pngbin0 -> 173 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-32.pngbin0 -> 407 bytes
-rw-r--r--tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-48.pngbin0 -> 750 bytes
-rw-r--r--tests/manual/ios_assets/CMakeLists.txt44
-rw-r--r--tests/manual/ios_assets/Info.ios.cmake.xcode.13.0.plist (renamed from tests/manual/ios_assets/Info.ios.cmake.plist)20
-rw-r--r--tests/manual/ios_assets/Info.ios.cmake.xcode.14.3.plist54
-rw-r--r--tests/manual/ios_assets/Info.ios.qmake.xcode.13.0.plist (renamed from tests/manual/ios_assets/Info.ios.qmake.plist)20
-rw-r--r--tests/manual/ios_assets/Info.ios.qmake.xcode.14.3.plist37
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon29x29.pngbin340 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon29x29@2x.pngbin992 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon29x29@2x~ipad.pngbin992 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon29x29~ipad.pngbin340 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon40x40@2x.pngbin1444 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon40x40@2x~ipad.pngbin1444 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon40x40~ipad.pngbin585 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon50x50@2x~ipad.pngbin1913 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon50x50~ipad.pngbin794 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon57x57.pngbin967 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon57x57@2x.pngbin2200 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon72x72@2x~ipad.pngbin2897 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon72x72~ipad.pngbin1301 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/appicon/AppIcon76x76~ipad.pngbin1386 -> 0 bytes
-rw-r--r--tests/manual/ios_assets/ios_assets.pro24
37 files changed, 275 insertions, 61 deletions
diff --git a/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon1024x1024.png b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon1024x1024.png
new file mode 100644
index 0000000000..91d71a1b45
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon1024x1024.png
Binary files differ
diff --git a/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon167x167.png b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon167x167.png
new file mode 100644
index 0000000000..c184c7f93d
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon167x167.png
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon60x60@2x.png b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png
index 14eb31e401..14eb31e401 100644
--- a/tests/manual/ios_assets/appicon/AppIcon60x60@2x.png
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon76x76@2x~ipad.png b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png
index ffa1d4729a..ffa1d4729a 100644
--- a/tests/manual/ios_assets/appicon/AppIcon76x76@2x~ipad.png
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png
Binary files differ
diff --git a/tests/manual/ios_assets/Assets.xcassets/AppIcon.appiconset/Contents.json b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/Contents.json
index 9221b9bb1a..c7cc581ac4 100644
--- a/tests/manual/ios_assets/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/AppIcon.appiconset/Contents.json
@@ -31,6 +31,7 @@
"size" : "40x40"
},
{
+ "filename" : "AppIcon60x60@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
@@ -76,16 +77,19 @@
"size" : "76x76"
},
{
+ "filename" : "AppIcon76x76@2x~ipad.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
+ "filename" : "AppIcon167x167.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
+ "filename" : "AppIcon1024x1024.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
diff --git a/tests/manual/ios_assets/Assets.xcassets/Contents.json b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Contents.json
index 73c00596a7..73c00596a7 100644
--- a/tests/manual/ios_assets/Assets.xcassets/Contents.json
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Contents.json
diff --git a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Contents.json b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Contents.json
index 2108ce2651..2108ce2651 100644
--- a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Contents.json
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Contents.json
diff --git a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-16.png b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-16.png
index 670beb4fbb..670beb4fbb 100644
--- a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-16.png
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-16.png
Binary files differ
diff --git a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-32.png b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-32.png
index ee159b6061..ee159b6061 100644
--- a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-32.png
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-32.png
Binary files differ
diff --git a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-48.png b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-48.png
index f0783cd533..f0783cd533 100644
--- a/tests/manual/ios_assets/Assets.xcassets/Face.imageset/Face-48.png
+++ b/tests/manual/ios_assets/AssetsXcode13.0.xcassets/Face.imageset/Face-48.png
Binary files differ
diff --git a/tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/AppIcon1024x1024.png b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/AppIcon1024x1024.png
new file mode 100644
index 0000000000..91d71a1b45
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/AppIcon1024x1024.png
Binary files differ
diff --git a/tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/Contents.json b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000000..7baa233d94
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,104 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "20x20"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "20x20"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "29x29"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "29x29"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "38x38"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "38x38"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "40x40"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "40x40"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "60x60"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "60x60"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "64x64"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "64x64"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "68x68"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "76x76"
+ },
+ {
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "83.5x83.5"
+ },
+ {
+ "filename" : "AppIcon1024x1024.png",
+ "idiom" : "universal",
+ "platform" : "ios",
+ "size" : "1024x1024"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Contents.json b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Contents.json
new file mode 100644
index 0000000000..73c00596a7
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Contents.json b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Contents.json
new file mode 100644
index 0000000000..2108ce2651
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "Face-16.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "Face-32.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Face-48.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-16.png b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-16.png
new file mode 100644
index 0000000000..670beb4fbb
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-16.png
Binary files differ
diff --git a/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-32.png b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-32.png
new file mode 100644
index 0000000000..ee159b6061
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-32.png
Binary files differ
diff --git a/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-48.png b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-48.png
new file mode 100644
index 0000000000..f0783cd533
--- /dev/null
+++ b/tests/manual/ios_assets/AssetsXcode14.3.xcassets/Face.imageset/Face-48.png
Binary files differ
diff --git a/tests/manual/ios_assets/CMakeLists.txt b/tests/manual/ios_assets/CMakeLists.txt
index a19fe5a2e6..a9abe52b02 100644
--- a/tests/manual/ios_assets/CMakeLists.txt
+++ b/tests/manual/ios_assets/CMakeLists.txt
@@ -22,12 +22,20 @@ target_link_libraries(tst_manual_ios_assets PRIVATE
)
# Custom Info.plist
-set_target_properties(tst_manual_ios_assets
- PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.ios.cmake.plist")
+if(IOS)
+ if(XCODE_VERSION AND XCODE_VERSION VERSION_LESS "14")
+ set(plist_path "${CMAKE_CURRENT_SOURCE_DIR}/Info.ios.cmake.xcode.13.0.plist")
+ else()
+ set(plist_path "${CMAKE_CURRENT_SOURCE_DIR}/Info.ios.cmake.xcode.14.3.plist")
+ endif()
+ set_target_properties(tst_manual_ios_assets
+ PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${plist_path}")
+endif()
# Custom resources
file(GLOB_RECURSE text_files CONFIGURE_DEPENDS "*.txt")
if(text_files)
+ list(FILTER text_files EXCLUDE REGEX CMakeLists.txt)
target_sources(tst_manual_ios_assets PRIVATE ${text_files})
# On iOS the 'Resources' prefix is removed by Xcode because on iOS app bundles are shallow,
# so the final location of the text file will be
@@ -40,22 +48,36 @@ if(text_files)
endif()
# App icons
-file(GLOB_RECURSE app_icons CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/appicon/AppIcon*.png")
-if(IOS AND app_icons)
- target_sources(tst_manual_ios_assets PRIVATE ${app_icons})
- set_source_files_properties(
- ${app_icons}
- PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
-endif()
+# https://developer.apple.com/library/archive/qa/qa1686/_index.html
+# https://help.apple.com/xcode/mac/current/#/dev10510b1f7
+# https://web.archive.org/web/20180124234409/https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/
+# https://doc.qt.io/qt-6/ios-platform-notes.html#icons
+# No need to copy the icons into the bundle manually when using Xcode 13+.
+# - rely on Xcode 13 to copy the needed icon files that are specified in the asset catalog (all the
+# required ones should be specified manually)
+# - rely on Xcode 14 to generate the needed icon files based on the 1024x1024 sized image in the
+# asset catalog
-# Asset catalog with images
+# Asset catalog with images and icons.
if(IOS)
enable_language(OBJCXX)
- set(asset_catalog_path "${CMAKE_CURRENT_SOURCE_DIR}/Assets.xcassets")
+ if(XCODE_VERSION AND XCODE_VERSION VERSION_LESS "14")
+ set(asset_catalog_path "${CMAKE_CURRENT_SOURCE_DIR}/AssetsXcode13.0.xcassets")
+ else()
+ set(asset_catalog_path "${CMAKE_CURRENT_SOURCE_DIR}/AssetsXcode14.3.xcassets")
+ endif()
target_sources(tst_manual_ios_assets PRIVATE "${asset_catalog_path}")
set_source_files_properties(
${asset_catalog_path}
PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
+
+ # Make sure asset catalog compilation generates the needed app icons image sizes.
+ # This might not be needed in a future Qt version where qt_add_executable might do it
+ # automatically. Unclear how to do it cleanly though, because specifying the option when
+ # the asset catalog doesn't have an AppIcon set will cause a build failure.
+ set_target_properties(tst_manual_ios_assets PROPERTIES
+ XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME AppIcon)
+
target_sources(tst_manual_ios_assets PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/utils.mm")
endif()
diff --git a/tests/manual/ios_assets/Info.ios.cmake.plist b/tests/manual/ios_assets/Info.ios.cmake.xcode.13.0.plist
index d8b64af50d..b83c922e24 100644
--- a/tests/manual/ios_assets/Info.ios.cmake.plist
+++ b/tests/manual/ios_assets/Info.ios.cmake.xcode.13.0.plist
@@ -57,11 +57,6 @@
<dict>
<key>CFBundleIconFiles</key>
<array>
- <string>AppIcon29x29.png</string>
- <string>AppIcon29x29@2x.png</string>
- <string>AppIcon40x40@2x.png</string>
- <string>AppIcon57x57.png</string>
- <string>AppIcon57x57@2x.png</string>
<string>AppIcon60x60@2x.png</string>
</array>
<key>CFBundleIconName</key>
@@ -74,21 +69,6 @@
<dict>
<key>CFBundleIconFiles</key>
<array>
- <string>AppIcon29x29.png</string>
- <string>AppIcon29x29@2x.png</string>
- <string>AppIcon40x40@2x.png</string>
- <string>AppIcon57x57.png</string>
- <string>AppIcon57x57@2x.png</string>
- <string>AppIcon60x60@2x.png</string>
- <string>AppIcon29x29~ipad.png</string>
- <string>AppIcon29x29@2x~ipad.png</string>
- <string>AppIcon40x40~ipad.png</string>
- <string>AppIcon40x40@2x~ipad.png</string>
- <string>AppIcon50x50~ipad.png</string>
- <string>AppIcon50x50@2x~ipad.png</string>
- <string>AppIcon72x72~ipad.png</string>
- <string>AppIcon72x72@2x~ipad.png</string>
- <string>AppIcon76x76~ipad.png</string>
<string>AppIcon76x76@2x~ipad.png</string>
</array>
</dict>
diff --git a/tests/manual/ios_assets/Info.ios.cmake.xcode.14.3.plist b/tests/manual/ios_assets/Info.ios.cmake.xcode.14.3.plist
new file mode 100644
index 0000000000..282ad81c94
--- /dev/null
+++ b/tests/manual/ios_assets/Info.ios.cmake.xcode.14.3.plist
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+
+ <key>CFBundleName</key>
+ <string>$(PRODUCT_NAME)</string>
+
+ <key>CFBundleDisplayName</key>
+ <string>$(PRODUCT_NAME)</string>
+
+ <key>CFBundleIdentifier</key>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+
+ <key>CFBundleExecutable</key>
+ <string>$(EXECUTABLE_NAME)</string>
+
+ <key>CFBundleVersion</key>
+ <string>$(CURRENT_PROJECT_VERSION)</string>
+
+ <key>CFBundleShortVersionString</key>
+ <string>$(MARKETING_VERSION)</string>
+
+ <key>NSHumanReadableCopyright</key>
+ <string></string>
+
+ <key>CFBundleIconFile</key>
+ <string></string>
+
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleAllowMixedLocalizations</key>
+ <true/>
+
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+
+ <key>UILaunchStoryboardName</key>
+ <string>CustomLaunchScreen</string>
+
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/tests/manual/ios_assets/Info.ios.qmake.plist b/tests/manual/ios_assets/Info.ios.qmake.xcode.13.0.plist
index cacfa49db3..7b1454beeb 100644
--- a/tests/manual/ios_assets/Info.ios.qmake.plist
+++ b/tests/manual/ios_assets/Info.ios.qmake.xcode.13.0.plist
@@ -40,11 +40,6 @@
<dict>
<key>CFBundleIconFiles</key>
<array>
- <string>AppIcon29x29.png</string>
- <string>AppIcon29x29@2x.png</string>
- <string>AppIcon40x40@2x.png</string>
- <string>AppIcon57x57.png</string>
- <string>AppIcon57x57@2x.png</string>
<string>AppIcon60x60@2x.png</string>
</array>
<key>CFBundleIconName</key>
@@ -57,21 +52,6 @@
<dict>
<key>CFBundleIconFiles</key>
<array>
- <string>AppIcon29x29.png</string>
- <string>AppIcon29x29@2x.png</string>
- <string>AppIcon40x40@2x.png</string>
- <string>AppIcon57x57.png</string>
- <string>AppIcon57x57@2x.png</string>
- <string>AppIcon60x60@2x.png</string>
- <string>AppIcon29x29~ipad.png</string>
- <string>AppIcon29x29@2x~ipad.png</string>
- <string>AppIcon40x40~ipad.png</string>
- <string>AppIcon40x40@2x~ipad.png</string>
- <string>AppIcon50x50~ipad.png</string>
- <string>AppIcon50x50@2x~ipad.png</string>
- <string>AppIcon72x72~ipad.png</string>
- <string>AppIcon72x72@2x~ipad.png</string>
- <string>AppIcon76x76~ipad.png</string>
<string>AppIcon76x76@2x~ipad.png</string>
</array>
</dict>
diff --git a/tests/manual/ios_assets/Info.ios.qmake.xcode.14.3.plist b/tests/manual/ios_assets/Info.ios.qmake.xcode.14.3.plist
new file mode 100644
index 0000000000..9df52cb2f7
--- /dev/null
+++ b/tests/manual/ios_assets/Info.ios.qmake.xcode.14.3.plist
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string>${ASSETCATALOG_COMPILER_APPICON_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>${QMAKE_SHORT_VERSION}</string>
+ <key>CFBundleSignature</key>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
+ <key>CFBundleVersion</key>
+ <string>${QMAKE_FULL_VERSION}</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>MinimumOSVersion</key>
+ <string>${IPHONEOS_DEPLOYMENT_TARGET}</string>
+ <key>UILaunchStoryboardName</key>
+ <string>CustomLaunchScreen</string>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/tests/manual/ios_assets/appicon/AppIcon29x29.png b/tests/manual/ios_assets/appicon/AppIcon29x29.png
deleted file mode 100644
index f220ad51a3..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon29x29.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon29x29@2x.png b/tests/manual/ios_assets/appicon/AppIcon29x29@2x.png
deleted file mode 100644
index 69d8a9a3fb..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon29x29@2x.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon29x29@2x~ipad.png b/tests/manual/ios_assets/appicon/AppIcon29x29@2x~ipad.png
deleted file mode 100644
index 69d8a9a3fb..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon29x29@2x~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon29x29~ipad.png b/tests/manual/ios_assets/appicon/AppIcon29x29~ipad.png
deleted file mode 100644
index f220ad51a3..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon29x29~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon40x40@2x.png b/tests/manual/ios_assets/appicon/AppIcon40x40@2x.png
deleted file mode 100644
index 2966b0d866..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon40x40@2x.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon40x40@2x~ipad.png b/tests/manual/ios_assets/appicon/AppIcon40x40@2x~ipad.png
deleted file mode 100644
index 2966b0d866..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon40x40@2x~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon40x40~ipad.png b/tests/manual/ios_assets/appicon/AppIcon40x40~ipad.png
deleted file mode 100644
index 9956f67ba6..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon40x40~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon50x50@2x~ipad.png b/tests/manual/ios_assets/appicon/AppIcon50x50@2x~ipad.png
deleted file mode 100644
index 570f8c9a50..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon50x50@2x~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon50x50~ipad.png b/tests/manual/ios_assets/appicon/AppIcon50x50~ipad.png
deleted file mode 100644
index 9d7b8edc4f..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon50x50~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon57x57.png b/tests/manual/ios_assets/appicon/AppIcon57x57.png
deleted file mode 100644
index 5d558bbb08..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon57x57.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon57x57@2x.png b/tests/manual/ios_assets/appicon/AppIcon57x57@2x.png
deleted file mode 100644
index ea14c9c0b9..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon57x57@2x.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon72x72@2x~ipad.png b/tests/manual/ios_assets/appicon/AppIcon72x72@2x~ipad.png
deleted file mode 100644
index cb988891ff..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon72x72@2x~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon72x72~ipad.png b/tests/manual/ios_assets/appicon/AppIcon72x72~ipad.png
deleted file mode 100644
index a0072bcfa1..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon72x72~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/appicon/AppIcon76x76~ipad.png b/tests/manual/ios_assets/appicon/AppIcon76x76~ipad.png
deleted file mode 100644
index 15a13665f0..0000000000
--- a/tests/manual/ios_assets/appicon/AppIcon76x76~ipad.png
+++ /dev/null
Binary files differ
diff --git a/tests/manual/ios_assets/ios_assets.pro b/tests/manual/ios_assets/ios_assets.pro
index a6a610dcd8..a2aa348771 100644
--- a/tests/manual/ios_assets/ios_assets.pro
+++ b/tests/manual/ios_assets/ios_assets.pro
@@ -6,7 +6,12 @@ TARGET = tst_manual_ios_assets
# Custom Info.plist
ios {
- QMAKE_INFO_PLIST = Info.ios.qmake.plist
+ versionAtLeast(QMAKE_XCODE_VERSION, 14.0) {
+ plist_path = Info.ios.qmake.xcode.14.3.plist
+ } else {
+ plist_path = Info.ios.qmake.xcode.13.0.plist
+ }
+ QMAKE_INFO_PLIST = $$plist_path
}
# Custom resources
@@ -23,19 +28,18 @@ ios {
macos {
textFiles.path = Contents/Resources/textFiles
}
+textFiles.files -= CMakeLists.txt
QMAKE_BUNDLE_DATA += textFiles
-# App icons
+# Asset catalog with images and app icons
ios {
- ios_icon.files = $$files($$PWD/appicon/AppIcon*.png)
- QMAKE_BUNDLE_DATA += ios_icon
-}
-
-# Asset catalog with images
-ios {
- # The asset catalog needs to have an empty AppIcon.appiconset, otherwise Xcode refuses
+ # The asset catalog needs to have at least an empty AppIcon.appiconset, otherwise Xcode refuses
# to compile the asset catalog.
- QMAKE_ASSET_CATALOGS += Assets.xcassets
+ versionAtLeast(QMAKE_XCODE_VERSION, 14.0) {
+ QMAKE_ASSET_CATALOGS += AssetsXcode14.3.xcassets
+ } else {
+ QMAKE_ASSET_CATALOGS += AssetsXcode13.0.xcassets
+ }
SOURCES += utils.mm
LIBS += -framework UIKit
}