| equals(TEMPLATE, app):qt { |
| # If the application uses Qt, it needs to be an application bundle |
| # to be able to deploy and run on iOS. The only exception to this |
| # is if you're working with a jailbroken device and can run the |
| # resulting binary from the console/over SSH, but that's not a |
| # use-case we care about, so no need to complicate the logic. |
| CONFIG *= app_bundle |
| |
| # For Qt applications we want Xcode project files as the generated output, |
| # but since qmake doesn't handle the transition between makefiles and Xcode |
| # project files (which happens when using subdirs), we can't just override |
| # MAKEFILE_GENERATOR. Instead, we generate the Xcode project by spawning a |
| # child qmake process with -spec macx-xcode and let the top level qmake |
| # process generate a wrapper makefile that forwards everything to xcodebuild. |
| equals(MAKEFILE_GENERATOR, UNIX): \ |
| CONFIG = xcodebuild $$CONFIG |
| } |
| |
| load(default_post) |
| |
| macx-xcode { |
| ios:!isEmpty(QMAKE_IOS_TARGETED_DEVICE_FAMILY) { |
| warning("QMAKE_IOS_TARGETED_DEVICE_FAMILY is deprecated; use QMAKE_APPLE_TARGETED_DEVICE_FAMILY") |
| QMAKE_APPLE_TARGETED_DEVICE_FAMILY = $$QMAKE_IOS_TARGETED_DEVICE_FAMILY |
| } |
| |
| device_family.name = TARGETED_DEVICE_FAMILY |
| device_family.value = $$QMAKE_APPLE_TARGETED_DEVICE_FAMILY |
| QMAKE_MAC_XCODE_SETTINGS += device_family |
| |
| ios { |
| # Set up default 4-inch iPhone/iPod launch image so that our apps |
| # support the full screen resolution of those devices. |
| qmake_launch_image = Default-568h@2x.png |
| qmake_copy_image.input = $$QMAKESPEC/$$qmake_launch_image |
| qmake_copy_image.output = $$OUT_PWD/$${TARGET}.xcodeproj/$$qmake_launch_image |
| qmake_copy_image.CONFIG = verbatim |
| QMAKE_SUBSTITUTES += qmake_copy_image |
| qmake_launch_images.files = $$qmake_copy_image.output |
| QMAKE_BUNDLE_DATA += qmake_launch_images |
| |
| !versionAtLeast(QMAKE_XCODE_VERSION, 6.0) { |
| warning("You need to update Xcode to version 6 or newer to fully support iPhone6/6+") |
| } else { |
| # Set up default LaunchScreen to support iPhone6/6+ |
| qmake_launch_screen = LaunchScreen.storyboard |
| qmake_copy_launch_screen.input = $$QMAKESPEC/$$qmake_launch_screen |
| qmake_copy_launch_screen.output = $$OUT_PWD/$${TARGET}.xcodeproj/$$qmake_launch_screen |
| QMAKE_SUBSTITUTES += qmake_copy_launch_screen |
| qmake_launch_screens.files = $$qmake_copy_launch_screen.output |
| QMAKE_BUNDLE_DATA += qmake_launch_screens |
| } |
| } |
| } |
| |
| !xcodebuild:equals(TEMPLATE, app):!isEmpty(QMAKE_INFO_PLIST) { |
| # Only link in photo library support if Info.plist contains |
| # NSPhotoLibraryUsageDescription. Otherwise it will be rejected from AppStore. |
| plist_path = $$absolute_path($$QMAKE_INFO_PLIST, $$_PRO_FILE_PWD_) |
| system("/usr/libexec/PlistBuddy -c 'Print NSPhotoLibraryUsageDescription' $$system_quote($$plist_path) &>/dev/null"): \ |
| QTPLUGIN += qiosnsphotolibrarysupport |
| } |