Browse Source

Projucer: Allow setting the network multicast entitlement in the Xcode exporter

v6.1.6
reuk 3 years ago
parent
commit
7525da867b
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
4 changed files with 15 additions and 1 deletions
  1. +3
    -0
      extras/Build/juce_build_tools/utils/juce_Entitlements.cpp
  2. +1
    -0
      extras/Build/juce_build_tools/utils/juce_Entitlements.h
  3. +10
    -1
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
  4. +1
    -0
      extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h

+ 3
- 0
extras/Build/juce_build_tools/utils/juce_Entitlements.cpp View File

@@ -110,6 +110,9 @@ namespace build_tools
entitlements.set (option, "<true/>");
}
if (isNetworkingMulticastEnabled)
entitlements.set ("com.apple.developer.networking.multicast", "<true/>");
return entitlements;
}
}


+ 1
- 0
extras/Build/juce_build_tools/utils/juce_Entitlements.h View File

@@ -42,6 +42,7 @@ namespace build_tools
bool isHardenedRuntimeEnabled = false;
bool isAppSandboxEnabled = false;
bool isAppSandboxInhertianceEnabled = false;
bool isNetworkingMulticastEnabled = false;
String appGroupIdString;


+ 10
- 1
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h View File

@@ -100,6 +100,7 @@ public:
iosPushNotificationsValue (settings, Ids::iosPushNotifications, getUndoManager()),
iosAppGroupsValue (settings, Ids::iosAppGroups, getUndoManager()),
iCloudPermissionsValue (settings, Ids::iCloudPermissions, getUndoManager()),
networkingMulticastValue (settings, Ids::networkingMulticast, getUndoManager()),
iosDevelopmentTeamIDValue (settings, Ids::iosDevelopmentTeamID, getUndoManager()),
iosAppGroupsIDValue (settings, Ids::iosAppGroupsId, getUndoManager()),
keepCustomXcodeSchemesValue (settings, Ids::keepCustomXcodeSchemes, getUndoManager()),
@@ -193,6 +194,7 @@ public:
bool isPushNotificationsEnabled() const { return iosPushNotificationsValue.get(); }
bool isAppGroupsEnabled() const { return iosAppGroupsValue.get(); }
bool isiCloudPermissionsEnabled() const { return iCloudPermissionsValue.get(); }
bool isNetworkingMulticastEnabled() const { return networkingMulticastValue.get(); }
bool isFileSharingEnabled() const { return uiFileSharingEnabledValue.get(); }
bool isDocumentBrowserEnabled() const { return uiSupportsDocumentBrowserValue.get(); }
bool isStatusBarHidden() const { return uiStatusBarHiddenValue.get(); }
@@ -572,8 +574,13 @@ public:
props.add (new ChoicePropertyComponent (iCloudPermissionsValue, "iCloud Permissions"),
"Enable this to grant your app the capability to use native file load/save browser windows on iOS.");
}
props.add (new ChoicePropertyComponent (networkingMulticastValue, "Networking Multicast Capability"),
"Your app must have this entitlement to send or receive IP multicast or broadcast. "
"You will also need permission from Apple to use this entitlement.");
props.add (new ChoicePropertyComponent (iosPushNotificationsValue, "Push Notifications Capability"),
"Enable this to grant your app the capability to receive push notifications.");
@@ -1345,6 +1352,7 @@ public:
|| owner.isAppGroupsEnabled()
|| owner.isAppSandboxEnabled()
|| owner.isHardenedRuntimeEnabled()
|| owner.isNetworkingMulticastEnabled()
|| (owner.isiOS() && owner.isiCloudPermissionsEnabled()))
return true;
@@ -3061,6 +3069,7 @@ private:
options.isHardenedRuntimeEnabled = isHardenedRuntimeEnabled();
options.isAppSandboxEnabled = isAppSandboxEnabled();
options.isAppSandboxInhertianceEnabled = isAppSandboxInhertianceEnabled();
options.isNetworkingMulticastEnabled = isNetworkingMulticastEnabled();
options.appGroupIdString = getAppGroupIdString();
options.hardenedRuntimeOptions = getHardenedRuntimeOptions();
options.appSandboxOptions = getAppSandboxOptions();
@@ -3552,7 +3561,7 @@ private:
sendAppleEventsPermissionNeededValue, sendAppleEventsPermissionTextValue,
uiFileSharingEnabledValue, uiSupportsDocumentBrowserValue, uiStatusBarHiddenValue, uiRequiresFullScreenValue, documentExtensionsValue, iosInAppPurchasesValue,
iosContentSharingValue, iosBackgroundAudioValue, iosBackgroundBleValue, iosPushNotificationsValue, iosAppGroupsValue, iCloudPermissionsValue,
iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue,
networkingMulticastValue, iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue,
exporterBundleIdentifierValue, suppressPlistResourceUsageValue, useLegacyBuildSystemValue, buildNumber;
JUCE_DECLARE_NON_COPYABLE (XcodeProjectExporter)


+ 1
- 0
extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h View File

@@ -260,6 +260,7 @@ namespace Ids
DECLARE_ID (iosPushNotifications);
DECLARE_ID (iosAppGroups);
DECLARE_ID (iCloudPermissions);
DECLARE_ID (networkingMulticast);
DECLARE_ID (iosDevelopmentTeamID);
DECLARE_ID (iosAppGroupsId);
DECLARE_ID (iosBluetoothPermissionNeeded);


Loading…
Cancel
Save