@@ -278,6 +278,9 @@ attributes directly to these creation functions, rather than adding them later. | |||||
- `STATUS_BAR_HIDDEN` | - `STATUS_BAR_HIDDEN` | ||||
- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. | - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. | ||||
- `REQUIRES_FULL_SCREEN` | |||||
- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. | |||||
- `BACKGROUND_AUDIO_ENABLED` | - `BACKGROUND_AUDIO_ENABLED` | ||||
- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. | - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. | ||||
@@ -764,6 +764,7 @@ function(_juce_write_configure_time_info target) | |||||
_juce_append_target_property(file_content FILE_SHARING_ENABLED ${target} JUCE_FILE_SHARING_ENABLED) | _juce_append_target_property(file_content FILE_SHARING_ENABLED ${target} JUCE_FILE_SHARING_ENABLED) | ||||
_juce_append_target_property(file_content DOCUMENT_BROWSER_ENABLED ${target} JUCE_DOCUMENT_BROWSER_ENABLED) | _juce_append_target_property(file_content DOCUMENT_BROWSER_ENABLED ${target} JUCE_DOCUMENT_BROWSER_ENABLED) | ||||
_juce_append_target_property(file_content STATUS_BAR_HIDDEN ${target} JUCE_STATUS_BAR_HIDDEN) | _juce_append_target_property(file_content STATUS_BAR_HIDDEN ${target} JUCE_STATUS_BAR_HIDDEN) | ||||
_juce_append_target_property(file_content REQUIRES_FULL_SCREEN ${target} JUCE_REQUIRES_FULL_SCREEN) | |||||
_juce_append_target_property(file_content BACKGROUND_AUDIO_ENABLED ${target} JUCE_BACKGROUND_AUDIO_ENABLED) | _juce_append_target_property(file_content BACKGROUND_AUDIO_ENABLED ${target} JUCE_BACKGROUND_AUDIO_ENABLED) | ||||
_juce_append_target_property(file_content BACKGROUND_BLE_ENABLED ${target} JUCE_BACKGROUND_BLE_ENABLED) | _juce_append_target_property(file_content BACKGROUND_BLE_ENABLED ${target} JUCE_BACKGROUND_BLE_ENABLED) | ||||
_juce_append_target_property(file_content PUSH_NOTIFICATIONS_ENABLED ${target} JUCE_PUSH_NOTIFICATIONS_ENABLED) | _juce_append_target_property(file_content PUSH_NOTIFICATIONS_ENABLED ${target} JUCE_PUSH_NOTIFICATIONS_ENABLED) | ||||
@@ -203,12 +203,12 @@ namespace build_tools | |||||
{ | { | ||||
if (type != ProjectType::Target::AudioUnitv3PlugIn) | if (type != ProjectType::Target::AudioUnitv3PlugIn) | ||||
{ | { | ||||
// Forcing full screen disables the split screen feature and prevents error ITMS-90475 | |||||
addPlistDictionaryKey (*dict, "UIRequiresFullScreen", true); | |||||
if (statusBarHidden) | if (statusBarHidden) | ||||
addPlistDictionaryKey (*dict, "UIStatusBarHidden", true); | addPlistDictionaryKey (*dict, "UIStatusBarHidden", true); | ||||
if (requiresFullScreen) | |||||
addPlistDictionaryKey (*dict, "UIRequiresFullScreen", true); | |||||
addIosScreenOrientations (*dict); | addIosScreenOrientations (*dict); | ||||
addIosBackgroundModes (*dict); | addIosBackgroundModes (*dict); | ||||
} | } | ||||
@@ -68,6 +68,7 @@ namespace build_tools | |||||
bool fileSharingEnabled = false; | bool fileSharingEnabled = false; | ||||
bool documentBrowserEnabled = false; | bool documentBrowserEnabled = false; | ||||
bool statusBarHidden = false; | bool statusBarHidden = false; | ||||
bool requiresFullScreen = false; | |||||
bool backgroundAudioEnabled = false; | bool backgroundAudioEnabled = false; | ||||
bool backgroundBleEnabled = false; | bool backgroundBleEnabled = false; | ||||
bool pushNotificationsEnabled = false; | bool pushNotificationsEnabled = false; | ||||
@@ -246,6 +246,7 @@ juce::build_tools::PlistOptions parsePlistOptions (const juce::File& file, | |||||
updateField ("FILE_SHARING_ENABLED", result.fileSharingEnabled); | updateField ("FILE_SHARING_ENABLED", result.fileSharingEnabled); | ||||
updateField ("DOCUMENT_BROWSER_ENABLED", result.documentBrowserEnabled); | updateField ("DOCUMENT_BROWSER_ENABLED", result.documentBrowserEnabled); | ||||
updateField ("STATUS_BAR_HIDDEN", result.statusBarHidden); | updateField ("STATUS_BAR_HIDDEN", result.statusBarHidden); | ||||
updateField ("REQUIRES_FULL_SCREEN", result.requiresFullScreen); | |||||
updateField ("BACKGROUND_AUDIO_ENABLED", result.backgroundAudioEnabled); | updateField ("BACKGROUND_AUDIO_ENABLED", result.backgroundAudioEnabled); | ||||
updateField ("BACKGROUND_BLE_ENABLED", result.backgroundBleEnabled); | updateField ("BACKGROUND_BLE_ENABLED", result.backgroundBleEnabled); | ||||
updateField ("PUSH_NOTIFICATIONS_ENABLED", result.pushNotificationsEnabled); | updateField ("PUSH_NOTIFICATIONS_ENABLED", result.pushNotificationsEnabled); | ||||
@@ -170,6 +170,7 @@ public: | |||||
uiFileSharingEnabledValue (settings, Ids::UIFileSharingEnabled, getUndoManager()), | uiFileSharingEnabledValue (settings, Ids::UIFileSharingEnabled, getUndoManager()), | ||||
uiSupportsDocumentBrowserValue (settings, Ids::UISupportsDocumentBrowser, getUndoManager()), | uiSupportsDocumentBrowserValue (settings, Ids::UISupportsDocumentBrowser, getUndoManager()), | ||||
uiStatusBarHiddenValue (settings, Ids::UIStatusBarHidden, getUndoManager()), | uiStatusBarHiddenValue (settings, Ids::UIStatusBarHidden, getUndoManager()), | ||||
uiRequiresFullScreenValue (settings, Ids::UIRequiresFullScreen, getUndoManager(), true), | |||||
documentExtensionsValue (settings, Ids::documentExtensions, getUndoManager()), | documentExtensionsValue (settings, Ids::documentExtensions, getUndoManager()), | ||||
iosInAppPurchasesValue (settings, Ids::iosInAppPurchases, getUndoManager()), | iosInAppPurchasesValue (settings, Ids::iosInAppPurchases, getUndoManager()), | ||||
iosContentSharingValue (settings, Ids::iosContentSharing, getUndoManager(), true), | iosContentSharingValue (settings, Ids::iosContentSharing, getUndoManager(), true), | ||||
@@ -271,6 +272,7 @@ public: | |||||
bool isFileSharingEnabled() const { return uiFileSharingEnabledValue.get(); } | bool isFileSharingEnabled() const { return uiFileSharingEnabledValue.get(); } | ||||
bool isDocumentBrowserEnabled() const { return uiSupportsDocumentBrowserValue.get(); } | bool isDocumentBrowserEnabled() const { return uiSupportsDocumentBrowserValue.get(); } | ||||
bool isStatusBarHidden() const { return uiStatusBarHiddenValue.get(); } | bool isStatusBarHidden() const { return uiStatusBarHiddenValue.get(); } | ||||
bool requiresFullScreen() const { return uiRequiresFullScreenValue.get(); } | |||||
bool getSuppressPlistResourceUsage() const { return suppressPlistResourceUsageValue.get(); } | bool getSuppressPlistResourceUsage() const { return suppressPlistResourceUsageValue.get(); } | ||||
@@ -389,6 +391,10 @@ public: | |||||
props.add (new ChoicePropertyComponent (uiStatusBarHiddenValue, "Status Bar Hidden"), | props.add (new ChoicePropertyComponent (uiStatusBarHiddenValue, "Status Bar Hidden"), | ||||
"Enable this to disable the status bar in your app."); | "Enable this to disable the status bar in your app."); | ||||
props.add (new ChoicePropertyComponent (uiRequiresFullScreenValue, "Requires Full Screen"), | |||||
"Disable this to enable non-fullscreen views such as Slide Over or Split View in your app. " | |||||
"You will also need to enable all orientations."); | |||||
} | } | ||||
else if (projectType.isGUIApplication()) | else if (projectType.isGUIApplication()) | ||||
{ | { | ||||
@@ -1748,6 +1754,7 @@ public: | |||||
options.fileSharingEnabled = owner.isFileSharingEnabled(); | options.fileSharingEnabled = owner.isFileSharingEnabled(); | ||||
options.documentBrowserEnabled = owner.isDocumentBrowserEnabled(); | options.documentBrowserEnabled = owner.isDocumentBrowserEnabled(); | ||||
options.statusBarHidden = owner.isStatusBarHidden(); | options.statusBarHidden = owner.isStatusBarHidden(); | ||||
options.requiresFullScreen = owner.requiresFullScreen(); | |||||
options.backgroundAudioEnabled = owner.isBackgroundAudioEnabled(); | options.backgroundAudioEnabled = owner.isBackgroundAudioEnabled(); | ||||
options.backgroundBleEnabled = owner.isBackgroundBleEnabled(); | options.backgroundBleEnabled = owner.isBackgroundBleEnabled(); | ||||
options.pushNotificationsEnabled = owner.isPushNotificationsEnabled(); | options.pushNotificationsEnabled = owner.isPushNotificationsEnabled(); | ||||
@@ -3489,7 +3496,7 @@ private: | |||||
cameraPermissionNeededValue, cameraPermissionTextValue, | cameraPermissionNeededValue, cameraPermissionTextValue, | ||||
bluetoothPermissionNeededValue, bluetoothPermissionTextValue, | bluetoothPermissionNeededValue, bluetoothPermissionTextValue, | ||||
sendAppleEventsPermissionNeededValue, sendAppleEventsPermissionTextValue, | sendAppleEventsPermissionNeededValue, sendAppleEventsPermissionTextValue, | ||||
uiFileSharingEnabledValue, uiSupportsDocumentBrowserValue, uiStatusBarHiddenValue, documentExtensionsValue, iosInAppPurchasesValue, | |||||
uiFileSharingEnabledValue, uiSupportsDocumentBrowserValue, uiStatusBarHiddenValue, uiRequiresFullScreenValue, documentExtensionsValue, iosInAppPurchasesValue, | |||||
iosContentSharingValue, iosBackgroundAudioValue, iosBackgroundBleValue, iosPushNotificationsValue, iosAppGroupsValue, iCloudPermissionsValue, | iosContentSharingValue, iosBackgroundAudioValue, iosBackgroundBleValue, iosPushNotificationsValue, iosAppGroupsValue, iCloudPermissionsValue, | ||||
iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue, | iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue, | ||||
exporterBundleIdentifierValue, suppressPlistResourceUsageValue, useLegacyBuildSystemValue; | exporterBundleIdentifierValue, suppressPlistResourceUsageValue, useLegacyBuildSystemValue; | ||||
@@ -109,6 +109,7 @@ namespace Ids | |||||
DECLARE_ID (UIFileSharingEnabled); | DECLARE_ID (UIFileSharingEnabled); | ||||
DECLARE_ID (UISupportsDocumentBrowser); | DECLARE_ID (UISupportsDocumentBrowser); | ||||
DECLARE_ID (UIStatusBarHidden); | DECLARE_ID (UIStatusBarHidden); | ||||
DECLARE_ID (UIRequiresFullScreen); | |||||
DECLARE_ID (documentExtensions); | DECLARE_ID (documentExtensions); | ||||
DECLARE_ID (keepCustomXcodeSchemes); | DECLARE_ID (keepCustomXcodeSchemes); | ||||
DECLARE_ID (useHeaderMap); | DECLARE_ID (useHeaderMap); | ||||