Skip to content

Commit

Permalink
✨ Add support for NSPhotoLibraryUsageDescription (OlivierLDff#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
FransRosencrantz authored Dec 4, 2020
1 parent bf7516c commit 6eb3a26
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 0 deletions.
10 changes: 10 additions & 0 deletions AddQtIosApp.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ include(CMakeParseArguments)
# ORIENTATION_PORTRAIT_UPDOWN
# ORIENTATION_LANDSCAPE_LEFT
# ORIENTATION_LANDSCAPE_RIGHT
# PHOTO_LIBRARY_USAGE_DESCRIPTION "My App needs to access your photo library."
# SUPPORT_IPHONE
# SUPPORT_IPAD
# REQUIRES_FULL_SCREEN
Expand Down Expand Up @@ -99,6 +100,7 @@ function(add_qt_ios_app TARGET)
CATALOG_APPICON
CATALOG_LAUNCHIMAGE
DISTRIBUTION_METHOD
PHOTO_LIBRARY_USAGE_DESCRIPTION
)
set(QT_IOS_MULTI_VALUE_ARG
RESOURCE_FILES
Expand Down Expand Up @@ -144,6 +146,7 @@ function(add_qt_ios_app TARGET)
set(QT_IOS_SUPPORT_IPAD ${ARGIOS_SUPPORT_IPAD})
set(QT_IOS_REQUIRES_FULL_SCREEN ${ARGIOS_REQUIRES_FULL_SCREEN})
set(QT_IOS_HIDDEN_STATUS_BAR ${ARGIOS_HIDDEN_STATUS_BAR})
set(QT_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION ${ARGIOS_PHOTO_LIBRARY_USAGE_DESCRIPTION})

set(QT_IOS_IPA ${ARGIOS_IPA})
set(QT_IOS_UPLOAD_SYMBOL ${ARGIOS_UPLOAD_SYMBOL})
Expand Down Expand Up @@ -261,6 +264,9 @@ function(add_qt_ios_app TARGET)
message(STATUS "ORIENTATION_PORTRAIT_UPDOWN : ${QT_IOS_ORIENTATION_PORTRAIT_UPDOWN}")
message(STATUS "ORIENTATION_LANDSCAPE_LEFT : ${QT_IOS_ORIENTATION_LANDSCAPE_LEFT}")
message(STATUS "ORIENTATION_LANDSCAPE_RIGHT : ${QT_IOS_ORIENTATION_LANDSCAPE_RIGHT}")
if(QT_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION)
message(STATUS "PHOTO_LIBRARY_USAGE_DESCRIPTION : ${QT_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION}")
endif()
message(STATUS "SUPPORT_IPHONE : ${QT_IOS_SUPPORT_IPHONE}")
message(STATUS "SUPPORT_IPAD : ${QT_IOS_SUPPORT_IPAD}")
message(STATUS "REQUIRES_FULL_SCREEN : ${QT_IOS_REQUIRES_FULL_SCREEN}")
Expand Down Expand Up @@ -580,6 +586,10 @@ function(add_qt_ios_app TARGET)
set(QT_IOS_UPLOAD_SYMBOL_KEY "")
endif()

if(QT_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION)
set(MACOSX_BUNDLE_PHOTO_LIBRARY_USAGE_DESCRIPTION "<key>NSPhotoLibraryUsageDescription</key> <string>${QT_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION}</string>" PARENT_SCOPE)
endif()

set(QT_IOS_EXPORT_OPTIONS_FILE ${CMAKE_CURRENT_BINARY_DIR}/${QT_IOS_TARGET}ExportOptions.plist)
configure_file(${QT_IOS_SOURCE_DIR}/ExportOptions.plist.in ${QT_IOS_EXPORT_OPTIONS_FILE})

Expand Down
3 changes: 3 additions & 0 deletions Info.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>

<!-- A message that tells the user why the app is requesting add-only access to the user’s photo library -->
${MACOSX_BUNDLE_PHOTO_LIBRARY_USAGE_DESCRIPTION}

<!-- Ui Orientation -->
<key>UISupportedInterfaceOrientations</key>
<array>
Expand Down
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ add_qt_ios_app(MyApp
ORIENTATION_PORTRAIT_UPSIDEDOWN
ORIENTATION_LANDSCAPELEFT
ORIENTATION_LANDSCAPERIGHT
PHOTO_LIBRARY_USAGE_DESCRIPTION "My App needs to access your photo library."
SUPPORT_IPHONE
SUPPORT_IPAD
REQUIRES_FULL_SCREEN
Expand Down Expand Up @@ -388,6 +389,18 @@ The default allowed orientation can be set with flags:

![ScOrientation](doc/ScOrientation.png)

**PHOTO LIBRARY USAGE DESCRIPTION**

A message that tells the user why the app is requesting access to the user’s photo library.

*Example:*

```cmake
add_qt_ios_app(MyApp
PHOTO_LIBRARY_USAGE_DESCRIPTION "My App needs to access your photo library."
)
```

**SUPPORTED DEVICES**

You can specify supported device either iPhone or iPad or both by settings:
Expand Down

0 comments on commit 6eb3a26

Please sign in to comment.