diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
index 791ed5048c..e5b2c79895 100644
--- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
+++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
@@ -977,6 +977,11 @@ public:
return String ("Info-") + String (getName()).replace (" ", "_") + String (".plist");
}
+ String getEntitlementsFilename() const
+ {
+ return String (getName()).replace (" ", "_") + String (".entitlements");
+ }
+
String xcodePackageType, xcodeBundleSignature, xcodeBundleExtension;
String xcodeProductType, xcodeFileType;
String xcodeOtherRezFlags, xcodeBundleIDSubPath;
@@ -1356,7 +1361,7 @@ public:
s.set ("DEVELOPMENT_TEAM", owner.getDevelopmentTeamIDString());
if (shouldAddEntitlements())
- s.set ("CODE_SIGN_ENTITLEMENTS", owner.getEntitlementsFileName().quoted());
+ s.set ("CODE_SIGN_ENTITLEMENTS", getEntitlementsFilename().quoted());
{
auto cppStandard = owner.project.getCppStandardString();
@@ -2128,7 +2133,8 @@ private:
void addFilesAndGroupsToProject (StringArray& topLevelGroupIDs) const
{
- addEntitlementsFile();
+ for (auto* target : targets)
+ addEntitlementsFile (*target);
for (auto& group : getAllGroups())
{
@@ -3081,12 +3087,7 @@ private:
return {};
}
- String getEntitlementsFileName() const
- {
- return project.getProjectFilenameRootString() + String (".entitlements");
- }
-
- StringPairArray getEntitlements() const
+ StringPairArray getEntitlements (XcodeTarget& target) const
{
StringPairArray entitlements;
@@ -3097,7 +3098,7 @@ private:
if (project.shouldEnableIAA())
entitlements.set ("inter-app-audio", "");
}
- else
+ else if (target.type == XcodeTarget::AudioUnitv3PlugIn)
{
entitlements.set ("com.apple.security.app-sandbox", "");
}
@@ -3152,7 +3153,7 @@ private:
return entitlements;
}
- String addEntitlementsFile() const
+ String addEntitlementsFile (XcodeTarget& target) const
{
String content =
"\n"
@@ -3160,7 +3161,7 @@ private:
"\n"
"\n";
- auto entitlements = getEntitlements();
+ auto entitlements = getEntitlements (target);
auto keys = entitlements.getAllKeys();
for (auto& key : keys)
@@ -3171,11 +3172,11 @@ private:
content += "\n"
"\n";
- auto entitlementsFile = getTargetFolder().getChildFile (getEntitlementsFileName());
+ auto entitlementsFile = getTargetFolder().getChildFile (target.getEntitlementsFilename());
overwriteFileIfDifferentOrThrow (entitlementsFile, content);
- RelativePath plistPath (entitlementsFile, getTargetFolder(), RelativePath::buildTargetFolder);
- return addFile (plistPath, false, false, false, false, nullptr, {});
+ RelativePath entitlementsPath (entitlementsFile, getTargetFolder(), RelativePath::buildTargetFolder);
+ return addFile (entitlementsPath, false, false, false, false, nullptr, {});
}
String addProjectItem (const Project::Item& projectItem) const