Browse Source

Projucer: Use the legacy build system for Xcode projects to work around some issues with Xcode 10

tags/2021-05-28
ed 6 years ago
parent
commit
203b50a189
1 changed files with 25 additions and 0 deletions
  1. +25
    -0
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h

+ 25
- 0
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h View File

@@ -397,6 +397,10 @@ public:
writeInfoPlistFiles();
// This forces the project to use the legacy build system to workaround Xcode 10 issues,
// hopefully these will be fixed in the future and this can be removed...
writeWorkspaceSettings();
// Deleting the .rsrc files can be needed to force Xcode to update the version number.
deleteRsrcFiles (getTargetFolder().getChildFile ("build"));
}
@@ -2282,6 +2286,27 @@ private:
}
}
void writeWorkspaceSettings() const
{
auto settingsFile = getProjectBundle().getChildFile ("project.xcworkspace")
.getChildFile ("xcshareddata")
.getChildFile ("WorkspaceSettings.xcsettings");
MemoryOutputStream mo;
mo.setNewLineString ("\n");
mo << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << newLine
<< "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">" << newLine
<< "<plist version=\"1.0\">" << newLine
<< "<dict>" << newLine
<< " <key>BuildSystemType</key>" << newLine
<< " <string>Original</string>" << newLine
<< "</dict>" << newLine
<< "</plist>" << newLine;
overwriteFileIfDifferentOrThrow (settingsFile, mo);
}
void writeInfoPlistFiles() const
{
for (auto& target : targets)


Loading…
Cancel
Save