Automatically copy XPC Services to correct location

This commit is contained in:
Brentley Jones
2018-08-15 08:30:55 -05:00
parent 0a88147956
commit 341e0214ed
13 changed files with 679 additions and 1 deletions
+4 -1
View File
@@ -429,6 +429,7 @@ public class PBXProjGenerator {
var dependencies: [String] = []
var targetFrameworkBuildFiles: [String] = []
var frameworkBuildPaths = Set<String>()
var copyFilesBuildPhasesFiles: [TargetSource.BuildPhase.CopyFilesSettings: [String]] = [:]
var copyFrameworksReferences: [String] = []
var copyResourcesReferences: [String] = []
var copyWatchReferences: [String] = []
@@ -500,6 +501,8 @@ public class PBXProjGenerator {
copyFrameworksReferences.append(embedFile.reference)
} else if dependencyTarget.type.isApp && dependencyTarget.platform == .watchOS {
copyWatchReferences.append(embedFile.reference)
} else if dependencyTarget.type == .xpcService {
copyFilesBuildPhasesFiles[.xpcServices, default: []].append(embedFile.reference)
} else {
copyResourcesReferences.append(embedFile.reference)
}
@@ -657,7 +660,7 @@ public class PBXProjGenerator {
buildPhases.append(script.reference)
}
let copyFilesBuildPhasesFiles = getBuildFilesForCopyFilesPhases()
copyFilesBuildPhasesFiles.merge(getBuildFilesForCopyFilesPhases()) { $0 + $1 }
if !copyFilesBuildPhasesFiles.isEmpty {
for (copyFiles, buildPhaseFiles) in copyFilesBuildPhasesFiles {
let copyFilesBuildPhase = createObject(
@@ -197,6 +197,7 @@ class SourceGenerator {
subpath: "include/$(PRODUCT_NAME)"
))
case "framework": return .frameworks
case "xpc": return .copyFiles(.xpcServices)
case "xcconfig", "entitlements", "gpx", "lproj", "apns": return nil
default: return .resources
}