diff --git a/Package.resolved b/Package.resolved index a82af1f5..eed901f3 100644 --- a/Package.resolved +++ b/Package.resolved @@ -46,15 +46,6 @@ "version": "3.1.4" } }, - { - "package": "ShellOut", - "repositoryURL": "https://github.com/JohnSundell/ShellOut.git", - "state": { - "branch": null, - "revision": "f1c253a34a40df4bfd268b09fdb101b059f6d52d", - "version": "2.1.0" - } - }, { "package": "Spectre", "repositoryURL": "https://github.com/kylef/Spectre.git", @@ -65,12 +56,21 @@ } }, { - "package": "xcproj", - "repositoryURL": "https://github.com/tuist/xcodeproj.git", + "package": "SwiftPM", + "repositoryURL": "https://github.com/apple/swift-package-manager", "state": { "branch": null, - "revision": "5253c22f208558264e3a64a3a29f11537ca1b41a", - "version": "4.3.1" + "revision": "6983434787dec4e543e9d398a0a9acf63ccd4da1", + "version": "0.2.1" + } + }, + { + "package": "xcodeproj", + "repositoryURL": "https://github.com/tuist/xcodeproj.git", + "state": { + "branch": "master", + "revision": "f7f497b00e41dae704815ecebfd030b85f82c240", + "version": null } }, { diff --git a/Package.swift b/Package.swift index b942cd34..93e4c9d5 100644 --- a/Package.swift +++ b/Package.swift @@ -16,7 +16,7 @@ let package = Package( .package(url: "https://github.com/yonaskolb/JSONUtilities.git", from: "4.0.0"), .package(url: "https://github.com/kylef/Spectre.git", from: "0.9.0"), .package(url: "https://github.com/onevcat/Rainbow.git", from: "3.0.0"), - .package(url: "https://github.com/tuist/xcodeproj.git", from: "4.3.1"), + .package(url: "https://github.com/tuist/xcodeproj.git", .branchItem("master")), ], targets: [ .target(name: "XcodeGen", dependencies: [ @@ -27,12 +27,12 @@ let package = Package( .target(name: "XcodeGenKit", dependencies: [ "ProjectSpec", "JSONUtilities", - "xcproj", + "xcodeproj", "PathKit", ]), .target(name: "ProjectSpec", dependencies: [ "JSONUtilities", - "xcproj", + "xcodeproj", "Yams", ]), .testTarget(name: "XcodeGenKitTests", dependencies: [ diff --git a/Sources/ProjectSpec/Config.swift b/Sources/ProjectSpec/Config.swift index 20c7c4ab..2e343e57 100644 --- a/Sources/ProjectSpec/Config.swift +++ b/Sources/ProjectSpec/Config.swift @@ -1,6 +1,5 @@ import Foundation import JSONUtilities -import xcproj public struct Config: Equatable { public var name: String diff --git a/Sources/ProjectSpec/Dependency.swift b/Sources/ProjectSpec/Dependency.swift index 324f703a..84602873 100644 --- a/Sources/ProjectSpec/Dependency.swift +++ b/Sources/ProjectSpec/Dependency.swift @@ -1,6 +1,5 @@ import Foundation import JSONUtilities -import xcproj public struct Dependency: Equatable { diff --git a/Sources/ProjectSpec/DeploymentTarget.swift b/Sources/ProjectSpec/DeploymentTarget.swift index 190ce071..e8640d13 100644 --- a/Sources/ProjectSpec/DeploymentTarget.swift +++ b/Sources/ProjectSpec/DeploymentTarget.swift @@ -1,6 +1,5 @@ import Foundation import JSONUtilities -import xcproj public struct DeploymentTarget: Equatable { diff --git a/Sources/ProjectSpec/Project.swift b/Sources/ProjectSpec/Project.swift index bb6eeebb..482d3986 100644 --- a/Sources/ProjectSpec/Project.swift +++ b/Sources/ProjectSpec/Project.swift @@ -1,7 +1,6 @@ import Foundation import JSONUtilities import PathKit -import xcproj import Yams public struct Project: BuildSettingsContainer { diff --git a/Sources/ProjectSpec/Scheme.swift b/Sources/ProjectSpec/Scheme.swift index d6d87836..1bd83431 100644 --- a/Sources/ProjectSpec/Scheme.swift +++ b/Sources/ProjectSpec/Scheme.swift @@ -1,6 +1,6 @@ import Foundation import JSONUtilities -import xcproj +import xcodeproj public typealias BuildType = XCScheme.BuildAction.Entry.BuildFor @@ -311,7 +311,7 @@ extension BuildType: JSONPrimitiveConvertible { } } -extension XCScheme.EnvironmentVariable: JSONObjectConvertible, Equatable { +extension XCScheme.EnvironmentVariable: JSONObjectConvertible { private static func parseValue(_ value: Any) -> String { if let bool = value as? Bool { @@ -346,10 +346,4 @@ extension XCScheme.EnvironmentVariable: JSONObjectConvertible, Equatable { return [] } } - - public static func == (lhs: XCScheme.EnvironmentVariable, rhs: XCScheme.EnvironmentVariable) -> Bool { - return lhs.variable == rhs.variable && - lhs.value == rhs.value && - lhs.enabled == rhs.enabled - } } diff --git a/Sources/ProjectSpec/Settings.swift b/Sources/ProjectSpec/Settings.swift index c1a5dad5..26d061bf 100644 --- a/Sources/ProjectSpec/Settings.swift +++ b/Sources/ProjectSpec/Settings.swift @@ -1,7 +1,7 @@ import Foundation import JSONUtilities import PathKit -import xcproj +import xcodeproj public struct Settings: Equatable, JSONObjectConvertible, CustomStringConvertible { diff --git a/Sources/ProjectSpec/SpecOptions.swift b/Sources/ProjectSpec/SpecOptions.swift index 6b4adfc4..9d559578 100644 --- a/Sources/ProjectSpec/SpecOptions.swift +++ b/Sources/ProjectSpec/SpecOptions.swift @@ -1,6 +1,5 @@ import Foundation import JSONUtilities -import xcproj public struct SpecOptions: Equatable { diff --git a/Sources/ProjectSpec/Target.swift b/Sources/ProjectSpec/Target.swift index a38e5b13..4cdb7b88 100644 --- a/Sources/ProjectSpec/Target.swift +++ b/Sources/ProjectSpec/Target.swift @@ -1,6 +1,6 @@ import Foundation import JSONUtilities -import xcproj +import xcodeproj public struct LegacyTarget: Equatable { public var toolPath: String diff --git a/Sources/ProjectSpec/TargetScheme.swift b/Sources/ProjectSpec/TargetScheme.swift index 72194461..50d49f88 100644 --- a/Sources/ProjectSpec/TargetScheme.swift +++ b/Sources/ProjectSpec/TargetScheme.swift @@ -1,6 +1,6 @@ import Foundation import JSONUtilities -import xcproj +import xcodeproj public struct TargetScheme: Equatable { public var testTargets: [String] diff --git a/Sources/ProjectSpec/TargetSource.swift b/Sources/ProjectSpec/TargetSource.swift index 08bc65cd..91264e51 100644 --- a/Sources/ProjectSpec/TargetSource.swift +++ b/Sources/ProjectSpec/TargetSource.swift @@ -1,7 +1,7 @@ import Foundation import JSONUtilities import PathKit -import xcproj +import xcodeproj public struct TargetSource: Equatable { @@ -57,7 +57,7 @@ public struct TargetSource: Equatable { case sharedSupport case plugins - public var destination: xcproj.PBXCopyFilesBuildPhase.SubFolder? { + public var destination: xcodeproj.PBXCopyFilesBuildPhase.SubFolder? { switch self { case .absolutePath: return .absolutePath case .productsDirectory: return .productsDirectory @@ -82,7 +82,7 @@ public struct TargetSource: Equatable { } } - public var buildPhase: xcproj.BuildPhase? { + public var buildPhase: xcodeproj.BuildPhase? { switch self { case .sources: return .sources case .headers: return .headers diff --git a/Sources/ProjectSpec/XCProjExtensions.swift b/Sources/ProjectSpec/XCProjExtensions.swift index 0b3096dc..85f74b4d 100644 --- a/Sources/ProjectSpec/XCProjExtensions.swift +++ b/Sources/ProjectSpec/XCProjExtensions.swift @@ -1,6 +1,6 @@ import Foundation import PathKit -import xcproj +import xcodeproj extension PBXProductType { diff --git a/Sources/XcodeGen/main.swift b/Sources/XcodeGen/main.swift index 7531e821..b7288ab2 100644 --- a/Sources/XcodeGen/main.swift +++ b/Sources/XcodeGen/main.swift @@ -4,7 +4,8 @@ import JSONUtilities import PathKit import ProjectSpec import XcodeGenKit -import xcproj +import xcodeproj +import Basic let version = try Version("1.11.2") @@ -54,7 +55,7 @@ func generate(spec: String, project: String, isQuiet: Bool, justVersion: Bool) { if projectFile.exists { try projectFile.copy(tempPath) } - try xcodeProject.write(path: tempPath, override: true) + try xcodeProject.write(path: AbsolutePath(tempPath.absolute().string), override: true) try? projectFile.delete() try tempPath.copy(projectFile) try? tempPath.delete() diff --git a/Sources/XcodeGenKit/PBXProjGenerator.swift b/Sources/XcodeGenKit/PBXProjGenerator.swift index de814fd0..962bc445 100644 --- a/Sources/XcodeGenKit/PBXProjGenerator.swift +++ b/Sources/XcodeGenKit/PBXProjGenerator.swift @@ -1,8 +1,7 @@ import Foundation -import JSONUtilities import PathKit import ProjectSpec -import xcproj +import xcodeproj import Yams public class PBXProjGenerator { @@ -12,13 +11,13 @@ public class PBXProjGenerator { let pbxProj: PBXProj var sourceGenerator: SourceGenerator! - var targetObjects: [String: ObjectReference] = [:] - var targetAggregateObjects: [String: ObjectReference] = [:] - var targetBuildFiles: [String: ObjectReference] = [:] - var targetFileReferences: [String: String] = [:] + var targetObjects: [String: PBXTarget] = [:] + var targetAggregateObjects: [String: PBXAggregateTarget] = [:] + var targetBuildFiles: [String: PBXBuildFile] = [:] + var targetFileReferences: [String: PBXObjectReference] = [:] - var carthageFrameworksByPlatform: [String: Set] = [:] - var frameworkFiles: [String] = [] + var carthageFrameworksByPlatform: [String: Set] = [:] + var frameworkFiles: [PBXObjectReference] = [] var generated = false @@ -28,21 +27,21 @@ public class PBXProjGenerator { public init(project: Project) { self.project = project - pbxProj = PBXProj(rootObject: "", objectVersion: 46) + pbxProj = PBXProj(objectVersion: 46) sourceGenerator = SourceGenerator(project: project) { [unowned self] id, object in - self.addObject(id: id, object) + _ = self.addObject(id: id, object) } } - func addObject(id: String, _ object: PBXObject) -> String { - let reference = pbxProj.objects.generateReference(object, id) - pbxProj.objects.addObject(object, reference: reference) - return reference + func addObject(id: String, _ object: T) -> T { +// let reference = pbxProj.objects.generateReference(object, id) + pbxProj.objects.addObject(object) + return object } - func createObject(id: String, _ object: T) -> ObjectReference { - let reference = addObject(id: id, object) - return ObjectReference(reference: reference, object: object) + func createObject(id: String, _ object: T) -> T { + pbxProj.objects.addObject(object) + return object } public func generate() throws -> PBXProj { @@ -55,9 +54,9 @@ public class PBXProjGenerator { try sourceGenerator.getFileGroups(path: group) } - let buildConfigs: [ObjectReference] = project.configs.map { config in + let buildConfigs: [XCBuildConfiguration] = project.configs.map { config in let buildSettings = project.getProjectBuildSettings(config: config) - var baseConfigurationReference: String? + var baseConfigurationReference: PBXObjectReference? if let configPath = project.configFiles[config.name] { baseConfigurationReference = sourceGenerator.getContainedFileReference(path: project.basePath + configPath) } @@ -71,21 +70,21 @@ public class PBXProjGenerator { ) } - let configName = project.options.defaultConfig ?? buildConfigs.first?.object.name ?? "" + let configName = project.options.defaultConfig ?? buildConfigs.first?.name ?? "" let buildConfigList = createObject( id: project.name, XCConfigurationList( - buildConfigurations: buildConfigs.map { $0.reference }, + buildConfigurationsReferences: buildConfigs.map { $0.reference }, defaultConfigurationName: configName ) ) - var derivedGroups: [ObjectReference] = [] + var derivedGroups: [PBXGroup] = [] let mainGroup = createObject( id: "Project", PBXGroup( - children: [], + childrenReferences: [], sourceTree: .group, usesTabs: project.options.usesTabs, indentWidth: project.options.indentWidth, @@ -97,14 +96,14 @@ public class PBXProjGenerator { id: project.name, PBXProject( name: project.name, - buildConfigurationList: buildConfigList.reference, + buildConfigurationListReference: buildConfigList.reference, compatibilityVersion: "Xcode 3.2", - mainGroup: mainGroup.reference, + mainGroupReference: mainGroup.reference, developmentRegion: project.options.developmentLanguage ?? "en" ) ) - pbxProj.rootObject = pbxProject.reference + pbxProj.rootObjectReference = pbxProject.reference for target in project.targets { let targetObject: PBXTarget @@ -125,7 +124,7 @@ public class PBXProjGenerator { var explicitFileType: String? var lastKnownFileType: String? - let fileType = PBXFileReference.fileType(path: Path(target.filename)) + let fileType = Xcode.fileType(path: Path(target.filename)) if target.platform == .macOS || target.platform == .watchOS || target.type == .framework { explicitFileType = fileType } else { @@ -146,8 +145,8 @@ public class PBXProjGenerator { targetFileReferences[target.name] = fileReference.reference targetBuildFiles[target.name] = createObject( - id: fileReference.reference, - PBXBuildFile(fileRef: fileReference.reference) + id: "legacy target build file" + target.name, + PBXBuildFile(fileReference: fileReference.reference) ) } } @@ -170,7 +169,7 @@ public class PBXProjGenerator { let productGroup = createObject( id: "Products", PBXGroup( - children: Array(targetFileReferences.values), + childrenReferences: Array(targetFileReferences.values), sourceTree: .group, name: "Products" ) @@ -179,23 +178,23 @@ public class PBXProjGenerator { if !carthageFrameworksByPlatform.isEmpty { var platforms: [PBXGroup] = [] - var platformReferences: [String] = [] + var platformReferences: [PBXObjectReference] = [] for (platform, fileReferences) in carthageFrameworksByPlatform { - let platformGroup: ObjectReference = createObject( + let platformGroup: PBXGroup = createObject( id: "Carthage" + platform, PBXGroup( - children: fileReferences.sorted(), + childrenReferences: fileReferences.sorted(), sourceTree: .group, path: platform ) ) platformReferences.append(platformGroup.reference) - platforms.append(platformGroup.object) + platforms.append(platformGroup) } let carthageGroup = createObject( id: "Carthage", PBXGroup( - children: platformReferences.sorted(), + childrenReferences: platformReferences.sorted(), sourceTree: .group, name: "Carthage", path: carthageBuildPath @@ -208,7 +207,7 @@ public class PBXProjGenerator { let group = createObject( id: "Frameworks", PBXGroup( - children: frameworkFiles, + childrenReferences: frameworkFiles, sourceTree: .group, name: "Frameworks" ) @@ -216,12 +215,12 @@ public class PBXProjGenerator { derivedGroups.append(group) } - mainGroup.object.children = Array(sourceGenerator.rootGroups) + mainGroup.childrenReferences = Array(sourceGenerator.rootGroups) sortGroups(group: mainGroup) // add derived groups at the end derivedGroups.forEach(sortGroups) - mainGroup.object.children += derivedGroups - .sorted { $0.object.nameOrPath.localizedStandardCompare($1.object.nameOrPath) == .orderedAscending } + mainGroup.childrenReferences += derivedGroups + .sorted { $0.nameOrPath.localizedStandardCompare($1.nameOrPath) == .orderedAscending } .map { $0.reference } let projectAttributes: [String: Any] = ["LastUpgradeCheck": project.xcodeVersion] @@ -231,24 +230,24 @@ public class PBXProjGenerator { let knownRegions = sourceGenerator.knownRegions.sorted() pbxProject.object.knownRegions = knownRegions.isEmpty ? ["en"] : knownRegions - let allTargets: [ObjectReference] = Array(targetObjects.values) + Array(targetAggregateObjects.values.map { ObjectReference(reference: $0.reference, object: $0.object) }) + let allTargets: [PBXTarget] = Array(targetObjects.values) + Array(targetAggregateObjects.values) pbxProject.object.targets = allTargets - .sorted { $0.object.name < $1.object.name } + .sorted { $0.name < $1.name } .map { $0.reference } - pbxProject.object.attributes = projectAttributes + pbxProject.attributes = projectAttributes return pbxProj } func generateAggregateTarget(_ target: AggregateTarget) throws { - let aggregateTarget = targetAggregateObjects[target.name]!.object + let aggregateTarget = targetAggregateObjects[target.name]! - let configs: [ObjectReference] = project.configs.map { config in + let configs: [XCBuildConfiguration] = project.configs.map { config in let buildSettings = project.getBuildSettings(settings: target.settings, config: config) - var baseConfigurationReference: String? + var baseConfigurationReference: PBXObjectReference? if let configPath = target.configFiles[config.name] { baseConfigurationReference = sourceGenerator.getContainedFileReference(path: project.basePath + configPath) } @@ -260,30 +259,30 @@ public class PBXProjGenerator { return createObject(id: config.name + target.name, buildConfig) } - let dependencies: [String] = target.targets.map { generateTargetDependency(from: target.name, to: $0).reference } + let dependencies: [PBXObjectReference] = target.targets.map { generateTargetDependency(from: target.name, to: $0).reference } let buildConfigList = createObject(id: target.name, XCConfigurationList( - buildConfigurations: configs.map { $0.reference }, + buildConfigurationsReferences: configs.map { $0.reference }, defaultConfigurationName: "" )) - var buildPhases: [String] = [] + var buildPhases: [PBXObjectReference] = [] buildPhases += try target.buildScripts.map { try generateBuildScript(targetName: target.name, buildScript: $0) } - aggregateTarget.buildPhases = buildPhases - aggregateTarget.buildConfigurationList = buildConfigList.reference - aggregateTarget.dependencies = dependencies + aggregateTarget.buildPhasesReferences = buildPhases + aggregateTarget.buildConfigurationListReference = buildConfigList.reference + aggregateTarget.dependenciesReferences = dependencies } - func generateTargetDependency(from: String, to target: String) -> ObjectReference { + func generateTargetDependency(from: String, to target: String) -> PBXTargetDependency { guard let targetReference = targetObjects[target]?.reference ?? targetAggregateObjects[target]?.reference else { fatalError("target not found") } let targetProxy = createObject( id: "\(from)-\(target)", PBXContainerItemProxy( - containerPortal: pbxProj.rootObject, - remoteGlobalIDString: targetReference, + containerPortalReference: pbxProj.rootObjectReference!, + remoteGlobalIDReference: targetReference, proxyType: .nativeTarget, remoteInfo: target ) @@ -292,14 +291,14 @@ public class PBXProjGenerator { let targetDependency = createObject( id: "\(from)-\(target)", PBXTargetDependency( - target: targetReference, - targetProxy: targetProxy.reference + targetReference: targetReference, + targetProxyReference: targetProxy.reference ) ) return targetDependency } - func generateBuildScript(targetName: String, buildScript: BuildScript) throws -> String { + func generateBuildScript(targetName: String, buildScript: BuildScript) throws -> PBXObjectReference { let shellScript: String switch buildScript.script { @@ -310,7 +309,7 @@ public class PBXProjGenerator { } let shellScriptPhase = PBXShellScriptBuildPhase( - files: [], + fileReferences: [], name: buildScript.name ?? "Run Script", inputPaths: buildScript.inputFiles, outputPaths: buildScript.outputFiles, @@ -324,15 +323,15 @@ public class PBXProjGenerator { func generateTargetAttributes() -> [String: Any]? { - var targetAttributes: [String: [String: Any]] = [:] + var targetAttributes: [PBXObjectReference: [String: Any]] = [:] - let uiTestTargets = pbxProj.objects.nativeTargets.objectReferences.filter { $0.object.productType == .uiTestBundle } + let uiTestTargets = pbxProj.objects.nativeTargets.values.filter { $0.productType == .uiTestBundle } for uiTestTarget in uiTestTargets { // look up TEST_TARGET_NAME build setting func testTargetName(_ target: PBXTarget) -> String? { - guard let configurationList = target.buildConfigurationList else { return nil } - guard let buildConfigurationReferences = self.pbxProj.objects.configurationLists[configurationList]?.buildConfigurations else { return nil } + guard let configurationList = target.buildConfigurationListReference else { return nil } + guard let buildConfigurationReferences = self.pbxProj.objects.configurationLists[configurationList]?.buildConfigurationsReferences else { return nil } let configs = buildConfigurationReferences .compactMap { ref in self.pbxProj.objects.buildConfigurations[ref] } @@ -342,13 +341,13 @@ public class PBXProjGenerator { .first } - guard let name = testTargetName(uiTestTarget.object) else { continue } + guard let name = testTargetName(uiTestTarget) else { continue } guard let target = self.pbxProj.objects.targets(named: name).first else { continue } targetAttributes[uiTestTarget.reference, default: [:]].merge(["TestTargetID": target.reference]) } - func generateTargetAttributes(_ target: ProjectTarget, targetReference: String) { + func generateTargetAttributes(_ target: ProjectTarget, targetReference: PBXObjectReference) { if !target.attributes.isEmpty { targetAttributes[targetReference, default: [:]].merge(target.attributes) } @@ -392,33 +391,24 @@ public class PBXProjGenerator { return targetAttributes.isEmpty ? nil : ["TargetAttributes": targetAttributes] } - func sortGroups(group: ObjectReference) { + func sortGroups(group: PBXGroup) { // sort children - let children = group.object.children - .compactMap { reference -> ObjectReference? in - guard let fileElement = pbxProj.objects.getFileElement(reference: reference) else { - return nil - } - return ObjectReference(reference: reference, object: fileElement) - } + let children = group.childrenReferences + .compactMap { pbxProj.objects.getFileElement(reference: $0) } .sorted { child1, child2 in - let sortOrder1 = child1.object.getSortOrder(groupSortPosition: project.options.groupSortPosition) - let sortOrder2 = child2.object.getSortOrder(groupSortPosition: project.options.groupSortPosition) + let sortOrder1 = child1.getSortOrder(groupSortPosition: project.options.groupSortPosition) + let sortOrder2 = child2.getSortOrder(groupSortPosition: project.options.groupSortPosition) if sortOrder1 == sortOrder2 { - return child1.object.nameOrPath.localizedStandardCompare(child2.object.nameOrPath) == .orderedAscending + return child1.nameOrPath.localizedStandardCompare(child2.nameOrPath) == .orderedAscending } else { return sortOrder1 < sortOrder2 } } - group.object.children = children.map { $0.reference }.filter { $0 != group.reference } + group.childrenReferences = children.map { $0.reference }.filter { $0 != group.reference } // sort sub groups - let childGroups = group.object.children.compactMap { reference -> ObjectReference? in - guard let group = pbxProj.objects.groups[reference] else { - return nil - } - return ObjectReference(reference: reference, object: group) } + let childGroups = group.childrenReferences.compactMap { pbxProj.objects.groups[$0] } childGroups.forEach(sortGroups) } @@ -433,14 +423,14 @@ public class PBXProjGenerator { var searchForPlist = true var anyDependencyRequiresObjCLinking = false - var dependencies: [String] = [] - var targetFrameworkBuildFiles: [String] = [] + var dependencies: [PBXObjectReference] = [] + var targetFrameworkBuildFiles: [PBXObjectReference] = [] var frameworkBuildPaths = Set() - var copyFilesBuildPhasesFiles: [TargetSource.BuildPhase.CopyFilesSettings: [String]] = [:] - var copyFrameworksReferences: [String] = [] - var copyResourcesReferences: [String] = [] - var copyWatchReferences: [String] = [] - var extensions: [String] = [] + var copyFilesBuildPhasesFiles: [TargetSource.BuildPhase.CopyFilesSettings: [PBXObjectReference]] = [:] + var copyFrameworksReferences: [PBXObjectReference] = [] + var copyResourcesReferences: [PBXObjectReference] = [] + var copyWatchReferences: [PBXObjectReference] = [] + var extensions: [PBXObjectReference] = [] var carthageFrameworksToEmbed: [String] = [] let targetDependencies = (target.transitivelyLinkDependencies ?? project.options.transitivelyLinkDependencies) ? @@ -479,10 +469,10 @@ public class PBXProjGenerator { || (dependecyLinkage == .static && target.type.isExecutable) ) if link { - let dependencyBuildFile = targetBuildFiles[dependencyTargetName]! + let dependencyBuildFileReference = targetBuildFiles[dependencyTargetName]!.fileReference! let buildFile = createObject( - id: dependencyBuildFile.reference + target.name, - PBXBuildFile(fileRef: dependencyBuildFile.object.fileRef!) + id: "target dependency build file" + target.name, + PBXBuildFile(fileReference: dependencyBuildFileReference) ) targetFrameworkBuildFiles.append(buildFile.reference) @@ -498,9 +488,9 @@ public class PBXProjGenerator { )) if embed { let embedFile = createObject( - id: dependencyFileReference + target.name, + id: "target dependency embed build file" + target.name, PBXBuildFile( - fileRef: dependencyFileReference, + fileReference: dependencyFileReference, settings: getEmbedSettings(dependency: dependency, codeSign: dependency.codeSign ?? !dependencyTarget.type.isExecutable) ) ) @@ -522,7 +512,7 @@ public class PBXProjGenerator { case .framework: guard target.type != .staticLibrary else { break } - let fileReference: String + let fileReference: PBXObjectReference if dependency.implicit { fileReference = sourceGenerator.getFileReference( path: Path(dependency.reference), @@ -537,8 +527,8 @@ public class PBXProjGenerator { } let buildFile = createObject( - id: "framework" + fileReference + target.name, - PBXBuildFile(fileRef: fileReference) + id: "framework file reference" + target.name, + PBXBuildFile(fileReference: fileReference) ) targetFrameworkBuildFiles.append(buildFile.reference) @@ -548,8 +538,8 @@ public class PBXProjGenerator { if embed { let embedFile = createObject( - id: "framework embed" + fileReference + target.name, - PBXBuildFile(fileRef: fileReference, settings: getEmbedSettings(dependency: dependency, codeSign: dependency.codeSign ?? true)) + id: "framework embed file" + target.name, + PBXBuildFile(fileReference: fileReference, settings: getEmbedSettings(dependency: dependency, codeSign: dependency.codeSign ?? true)) ) copyFrameworksReferences.append(embedFile.reference) } @@ -568,8 +558,8 @@ public class PBXProjGenerator { let fileReference = sourceGenerator.getFileReference(path: frameworkPath, inPath: platformPath) let buildFile = createObject( - id: "carthage" + fileReference + target.name, - PBXBuildFile(fileRef: fileReference) + id: "carthage dependency build file" + target.name, + PBXBuildFile(fileReference: fileReference) ) carthageFrameworksByPlatform[target.platform.carthageDirectoryName, default: []].insert(fileReference) @@ -595,8 +585,8 @@ public class PBXProjGenerator { if embed { if directlyEmbedCarthage { let embedFile = createObject( - id: "carthage embed" + fileReference + target.name, - PBXBuildFile(fileRef: fileReference, settings: getEmbedSettings(dependency: dependency, codeSign: dependency.codeSign ?? true)) + id: "carthage embed" + target.name, + PBXBuildFile(fileReference: fileReference, settings: getEmbedSettings(dependency: dependency, codeSign: dependency.codeSign ?? true)) ) copyFrameworksReferences.append(embedFile.reference) } else { @@ -606,9 +596,9 @@ public class PBXProjGenerator { } let fileReference = targetFileReferences[target.name] - var buildPhases: [String] = [] + var buildPhases: [PBXObjectReference] = [] - func getBuildFilesForSourceFiles(_ sourceFiles: [SourceFile]) -> [String] { + func getBuildFilesForSourceFiles(_ sourceFiles: [SourceFile]) -> [PBXObjectReference] { let files = sourceFiles .reduce(into: [SourceFile]()) { output, sourceFile in if !output.contains(where: { $0.fileReference == sourceFile.fileReference }) { @@ -616,17 +606,17 @@ public class PBXProjGenerator { } } .sorted { $0.path.lastComponent < $1.path.lastComponent } - return files.map { createObject(id: $0.fileReference + target.name, $0.buildFile) } + return files.map { createObject(id: $0.path.string + target.name, $0.buildFile) } .map { $0.reference } } - func getBuildFilesForPhase(_ buildPhase: BuildPhase) -> [String] { + func getBuildFilesForPhase(_ buildPhase: BuildPhase) -> [PBXObjectReference] { let filteredSourceFiles = sourceFiles .filter { $0.buildPhase?.buildPhase == buildPhase } return getBuildFilesForSourceFiles(filteredSourceFiles) } - func getBuildFilesForCopyFilesPhases() -> [TargetSource.BuildPhase.CopyFilesSettings: [String]] { + func getBuildFilesForCopyFilesPhases() -> [TargetSource.BuildPhase.CopyFilesSettings: [PBXObjectReference]] { var sourceFilesByCopyFiles: [TargetSource.BuildPhase.CopyFilesSettings: [SourceFile]] = [:] for sourceFile in sourceFiles { guard case let .copyFiles(copyFilesSettings)? = sourceFile.buildPhase else { continue } @@ -639,17 +629,17 @@ public class PBXProjGenerator { let headersBuildPhaseFiles = getBuildFilesForPhase(.headers) if !headersBuildPhaseFiles.isEmpty && (target.type == .framework || target.type == .dynamicLibrary) { - let headersBuildPhase = createObject(id: target.name, PBXHeadersBuildPhase(files: headersBuildPhaseFiles)) + let headersBuildPhase = createObject(id: target.name, PBXHeadersBuildPhase(fileReferences: headersBuildPhaseFiles)) buildPhases.append(headersBuildPhase.reference) } let sourcesBuildPhaseFiles = getBuildFilesForPhase(.sources) - let sourcesBuildPhase = createObject(id: target.name, PBXSourcesBuildPhase(files: sourcesBuildPhaseFiles)) + let sourcesBuildPhase = createObject(id: target.name, PBXSourcesBuildPhase(fileReferences: sourcesBuildPhaseFiles)) buildPhases.append(sourcesBuildPhase.reference) let resourcesBuildPhaseFiles = getBuildFilesForPhase(.resources) + copyResourcesReferences if !resourcesBuildPhaseFiles.isEmpty { - let resourcesBuildPhase = createObject(id: target.name, PBXResourcesBuildPhase(files: resourcesBuildPhaseFiles)) + let resourcesBuildPhase = createObject(id: target.name, PBXResourcesBuildPhase(fileReferences: resourcesBuildPhaseFiles)) buildPhases.append(resourcesBuildPhase.reference) } @@ -665,7 +655,7 @@ public class PBXProjGenerator { let script = createObject( id: "Swift.h" + target.name, PBXShellScriptBuildPhase( - files: [], + fileReferences: [], name: "Copy Swift Objective-C Interface Header", inputPaths: inputPaths, outputPaths: outputPaths, @@ -684,7 +674,7 @@ public class PBXProjGenerator { PBXCopyFilesBuildPhase( dstPath: copyFiles.subpath, dstSubfolderSpec: copyFiles.destination.destination, - files: buildPhaseFiles + fileReferences: buildPhaseFiles ) ) @@ -696,7 +686,7 @@ public class PBXProjGenerator { let frameworkBuildPhase = createObject( id: target.name, - PBXFrameworksBuildPhase(files: targetFrameworkBuildFiles) + PBXFrameworksBuildPhase(fileReferences: targetFrameworkBuildFiles) ) buildPhases.append(frameworkBuildPhase.reference) } @@ -709,7 +699,7 @@ public class PBXProjGenerator { dstPath: "", dstSubfolderSpec: .plugins, name: "Embed App Extensions", - files: extensions + fileReferences: extensions ) ) @@ -725,7 +715,7 @@ public class PBXProjGenerator { dstPath: "", dstSubfolderSpec: .frameworks, name: "Embed Frameworks", - files: copyFrameworksReferences + fileReferences: copyFrameworksReferences ) ) @@ -740,7 +730,7 @@ public class PBXProjGenerator { dstPath: "$(CONTENTS_FOLDER_PATH)/Watch", dstSubfolderSpec: .productsDirectory, name: "Embed Watch Content", - files: copyWatchReferences + fileReferences: copyWatchReferences ) ) @@ -757,7 +747,7 @@ public class PBXProjGenerator { let carthageScript = createObject( id: "Carthage" + target.name, PBXShellScriptBuildPhase( - files: [], + fileReferences: [], name: "Carthage", inputPaths: inputPaths, outputPaths: outputPaths, @@ -786,7 +776,7 @@ public class PBXProjGenerator { buildPhases += try target.postbuildScripts.map { try generateBuildScript(targetName: target.name, buildScript: $0) } - let configs: [ObjectReference] = project.configs.map { config in + let configs: [XCBuildConfiguration] = project.configs.map { config in var buildSettings = project.getTargetBuildSettings(target: target, config: config) // automatically set INFOPLIST_FILE path @@ -860,7 +850,7 @@ public class PBXProjGenerator { } } - var baseConfigurationReference: String? + var baseConfigurationReference: PBXObjectReference? if let configPath = target.configFiles[config.name] { baseConfigurationReference = sourceGenerator.getContainedFileReference(path: project.basePath + configPath) } @@ -873,18 +863,18 @@ public class PBXProjGenerator { } let buildConfigList = createObject(id: target.name, XCConfigurationList( - buildConfigurations: configs.map { $0.reference }, + buildConfigurationsReferences: configs.map { $0.reference }, defaultConfigurationName: "" )) - let targetObject = targetObjects[target.name]!.object + let targetObject = targetObjects[target.name]! targetObject.name = target.name - targetObject.buildConfigurationList = buildConfigList.reference - targetObject.buildPhases = buildPhases - targetObject.dependencies = dependencies + targetObject.buildConfigurationListReference = buildConfigList.reference + targetObject.buildPhasesReferences = buildPhases + targetObject.dependenciesReferences = dependencies targetObject.productName = target.name - targetObject.buildRules = buildRules + targetObject.buildRulesReferences = buildRules targetObject.productReference = fileReference if !target.isLegacy { targetObject.productType = target.type @@ -927,7 +917,7 @@ public class PBXProjGenerator { if let target = projectTarget as? Target { for dependency in target.dependencies { // don't overwrite frameworks, to allow top level ones to rule - if frameworks.contains(reference: dependency.reference) { + if frameworks[dependency.reference] != nil { continue } @@ -971,7 +961,7 @@ public class PBXProjGenerator { for dependency in target.dependencies { // don't overwrite dependencies, to allow top level ones to rule - if dependencies.contains(reference: dependency.reference) { + if dependencies[dependency.reference] != nil { continue } diff --git a/Sources/XcodeGenKit/ProjectGenerator.swift b/Sources/XcodeGenKit/ProjectGenerator.swift index c1c70f58..9336a249 100644 --- a/Sources/XcodeGenKit/ProjectGenerator.swift +++ b/Sources/XcodeGenKit/ProjectGenerator.swift @@ -2,7 +2,7 @@ import Foundation import JSONUtilities import PathKit import ProjectSpec -import xcproj +import xcodeproj import Yams public class ProjectGenerator { diff --git a/Sources/XcodeGenKit/SettingsBuilder.swift b/Sources/XcodeGenKit/SettingsBuilder.swift index c5974e9f..348f6275 100644 --- a/Sources/XcodeGenKit/SettingsBuilder.swift +++ b/Sources/XcodeGenKit/SettingsBuilder.swift @@ -2,8 +2,9 @@ import Foundation import JSONUtilities import PathKit import ProjectSpec -import xcproj +import xcodeproj import Yams +import Basic extension Project { @@ -129,7 +130,7 @@ extension Project { if let settings = configFileSettings[configFilePath.string] { return settings } else { - guard let configFile = try? XCConfig(path: configFilePath) else { return nil } + guard let configFile = try? XCConfig(path: AbsolutePath(configFilePath.absolute().string)) else { return nil } let settings = configFile.flattenedBuildSettings() configFileSettings[configFilePath.string] = settings return settings diff --git a/Sources/XcodeGenKit/SettingsPresetFile.swift b/Sources/XcodeGenKit/SettingsPresetFile.swift index 4fa276b3..5122bc96 100644 --- a/Sources/XcodeGenKit/SettingsPresetFile.swift +++ b/Sources/XcodeGenKit/SettingsPresetFile.swift @@ -1,6 +1,6 @@ import Foundation import ProjectSpec -import xcproj +import xcodeproj public enum SettingsPresetFile { case config(ConfigType) diff --git a/Sources/XcodeGenKit/SourceGenerator.swift b/Sources/XcodeGenKit/SourceGenerator.swift index a56614e3..5c443249 100644 --- a/Sources/XcodeGenKit/SourceGenerator.swift +++ b/Sources/XcodeGenKit/SourceGenerator.swift @@ -1,24 +1,24 @@ import Foundation import PathKit import ProjectSpec -import xcproj +import xcodeproj struct SourceFile { let path: Path - let fileReference: String + let fileReference: PBXObjectReference let buildFile: PBXBuildFile let buildPhase: TargetSource.BuildPhase? } class SourceGenerator { - var rootGroups: Set = [] - private var fileReferencesByPath: [String: String] = [:] - private var groupsByPath: [Path: ObjectReference] = [:] - private var variantGroupsByPath: [Path: ObjectReference] = [:] + var rootGroups: Set = [] + private var fileReferencesByPath: [String: PBXObjectReference] = [:] + private var groupsByPath: [Path: PBXGroup] = [:] + private var variantGroupsByPath: [Path: PBXVariantGroup] = [:] private let project: Project - var addObjectClosure: (String, PBXObject) -> String + var addObjectClosure: (String, PBXObject) -> Void var targetSourceExcludePaths: Set = [] var defaultExcludedFiles = [ ".DS_Store", @@ -28,18 +28,19 @@ class SourceGenerator { private(set) var knownRegions: Set = [] - init(project: Project, addObjectClosure: @escaping (String, PBXObject) -> String) { + init(project: Project, addObjectClosure: @escaping (String, PBXObject) -> Void) { self.project = project self.addObjectClosure = addObjectClosure } - func addObject(id: String, _ object: PBXObject) -> String { - return addObjectClosure(id, object) + func createObject(id: String, _ object: T) -> T { + addObjectClosure(id, object) + return object } - func createObject(id: String, _ object: T) -> ObjectReference { - let reference = addObject(id: id, object) - return ObjectReference(reference: reference, object: object) + func addObject(id: String, _ object: T) -> T { + addObjectClosure(id, object) + return object } func getAllSourceFiles(targetType: PBXProductType, sources: [TargetSource]) throws -> [SourceFile] { @@ -90,7 +91,7 @@ class SourceGenerator { settings["COMPILER_FLAGS"] = targetSource.compilerFlags.joined(separator: " ") } - let buildFile = PBXBuildFile(fileRef: fileReference, settings: settings.isEmpty ? nil : settings) + let buildFile = PBXBuildFile(fileReference: fileReference, settings: settings.isEmpty ? nil : settings) return SourceFile( path: path, fileReference: fileReference, @@ -99,7 +100,7 @@ class SourceGenerator { ) } - func getContainedFileReference(path: Path) -> String { + func getContainedFileReference(path: Path) -> PBXObjectReference { let createIntermediateGroups = project.options.createIntermediateGroups let parentPath = path.parent() @@ -117,7 +118,7 @@ class SourceGenerator { return fileReference } - func getFileReference(path: Path, inPath: Path, name: String? = nil, sourceTree: PBXSourceTree = .group, lastKnownFileType: String? = nil) -> String { + func getFileReference(path: Path, inPath: Path, name: String? = nil, sourceTree: PBXSourceTree = .group, lastKnownFileType: String? = nil) -> PBXObjectReference { let fileReferenceKey = path.string.lowercased() if let fileReference = fileReferencesByPath[fileReferenceKey] { return fileReference @@ -127,7 +128,7 @@ class SourceGenerator { if fileReferencePath.string == fileReferenceName { fileReferenceName = nil } - let lastKnownFileType = lastKnownFileType ?? PBXFileReference.fileType(path: path) + let lastKnownFileType = lastKnownFileType ?? Xcode.fileType(path: path) if path.extension == "xcdatamodeld" { let versionedModels = (try? path.children()) ?? [] @@ -151,7 +152,7 @@ class SourceGenerator { // If no current version path is found we fall back to alphabetical // order by taking the last item in the sortedPaths array let currentVersionPath = findCurrentCoreDataModelVersionPath(using: versionedModels) ?? sortedPaths.last - let currentVersion: ObjectReference? = { + let currentVersion: PBXFileReference? = { guard let indexOf = sortedPaths.index(where: { $0 == currentVersionPath }) else { return nil } return modelFileReference[indexOf] }() @@ -160,10 +161,10 @@ class SourceGenerator { path: fileReferencePath.string, sourceTree: sourceTree, versionGroupType: "wrapper.xcdatamodel", - children: modelFileReference.map { $0.reference } + childrenReferences: modelFileReference.map { $0.reference } )) - fileReferencesByPath[fileReferenceKey] = versionGroup - return versionGroup + fileReferencesByPath[fileReferenceKey] = versionGroup.reference + return versionGroup.reference } else { // For all extensions other than `xcdatamodeld` let fileReference = createObject( @@ -207,12 +208,12 @@ class SourceGenerator { /// Create a group or return an existing one at the path. /// Any merged children are added to a new group or merged into an existing one. - private func getGroup(path: Path, name: String? = nil, mergingChildren children: [String], createIntermediateGroups: Bool, isBaseGroup: Bool) -> ObjectReference { - let groupReference: ObjectReference + private func getGroup(path: Path, name: String? = nil, mergingChildren children: [PBXObjectReference], createIntermediateGroups: Bool, isBaseGroup: Bool) -> PBXGroup { + let groupReference: PBXGroup if let cachedGroup = groupsByPath[path] { // only add the children that aren't already in the cachedGroup - cachedGroup.object.children = Array(Set(cachedGroup.object.children + children)) + cachedGroup.childrenReferences = Array(Set(cachedGroup.childrenReferences + children)) groupReference = cachedGroup } else { @@ -230,7 +231,7 @@ class SourceGenerator { path.byRemovingBase(path: project.basePath).string : path.lastComponent let group = PBXGroup( - children: children, + childrenReferences: children, sourceTree: .group, name: groupName != groupPath ? groupName : nil, path: groupPath @@ -246,13 +247,12 @@ class SourceGenerator { } /// Creates a variant group or returns an existing one at the path - private func getVariantGroup(path: Path, inPath: Path) -> ObjectReference { - let variantGroup: ObjectReference + private func getVariantGroup(path: Path, inPath: Path) -> PBXVariantGroup { + let variantGroup: PBXVariantGroup if let cachedGroup = variantGroupsByPath[path] { variantGroup = cachedGroup } else { let group = PBXVariantGroup( - children: [], sourceTree: .group, name: path.lastComponent ) @@ -305,7 +305,7 @@ class SourceGenerator { /// creates all the source files and groups they belong to for a given targetSource private func getGroupSources(targetType: PBXProductType, targetSource: TargetSource, path: Path, isBaseGroup: Bool) - throws -> (sourceFiles: [SourceFile], groups: [ObjectReference]) { + throws -> (sourceFiles: [SourceFile], groups: [PBXGroup]) { let children = try getSourceChildren(targetSource: targetSource, dirPath: path) @@ -321,11 +321,11 @@ class SourceGenerator { .filter { $0.extension == "lproj" } .sorted { $0.lastComponent < $1.lastComponent } - var groupChildren: [String] = filePaths.map { getFileReference(path: $0, inPath: path) } + var groupChildren: [PBXObjectReference] = filePaths.map { getFileReference(path: $0, inPath: path) } var allSourceFiles: [SourceFile] = filePaths.map { generateSourceFile(targetType: targetType, targetSource: targetSource, path: $0) } - var groups: [ObjectReference] = [] + var groups: [PBXGroup] = [] for path in directories { let subGroups = try getGroupSources(targetType: targetType, targetSource: targetSource, path: path, isBaseGroup: false) @@ -364,12 +364,12 @@ class SourceGenerator { .sorted() { let variantGroup = getVariantGroup(path: filePath, inPath: path) groupChildren.append(variantGroup.reference) - baseLocalisationVariantGroups.append(variantGroup.object) + baseLocalisationVariantGroups.append(variantGroup) let sourceFile = SourceFile( path: filePath, fileReference: variantGroup.reference, - buildFile: PBXBuildFile(fileRef: variantGroup.reference), + buildFile: PBXBuildFile(fileReference: variantGroup.reference), buildPhase: .resources ) allSourceFiles.append(sourceFile) @@ -399,15 +399,15 @@ class SourceGenerator { ) if let variantGroup = variantGroup { - if !variantGroup.children.contains(fileReference) { - variantGroup.children.append(fileReference) + if !variantGroup.childrenReferences.contains(fileReference) { + variantGroup.childrenReferences.append(fileReference) } } else { // add SourceFile to group if there is no Base.lproj directory let sourceFile = SourceFile( path: filePath, fileReference: fileReference, - buildFile: PBXBuildFile(fileRef: fileReference), + buildFile: PBXBuildFile(fileReference: fileReference), buildPhase: .resources ) allSourceFiles.append(sourceFile) @@ -440,7 +440,7 @@ class SourceGenerator { let createIntermediateGroups = project.options.createIntermediateGroups var sourceFiles: [SourceFile] = [] - let sourceReference: String + let sourceReference: PBXObjectReference var sourcePath = path switch type { case .folder: @@ -489,7 +489,7 @@ class SourceGenerator { let (groupSourceFiles, groups) = try getGroupSources(targetType: targetType, targetSource: targetSource, path: path, isBaseGroup: true) let group = groups.first! if let name = targetSource.name { - group.object.name = name + group.name = name } sourceFiles += groupSourceFiles @@ -504,7 +504,7 @@ class SourceGenerator { } // Add groups for all parents recursively - private func createIntermediaGroups(for groupReference: String, at path: Path) { + private func createIntermediaGroups(for groupReference: PBXObjectReference, at path: Path) { let parentPath = path.parent() guard parentPath != project.basePath && path.string.contains(project.basePath.string) else { diff --git a/Sources/XcodeGenKit/XCProjExtensions.swift b/Sources/XcodeGenKit/XCProjExtensions.swift index edf9fe5e..539ded37 100644 --- a/Sources/XcodeGenKit/XCProjExtensions.swift +++ b/Sources/XcodeGenKit/XCProjExtensions.swift @@ -1,5 +1,6 @@ import Foundation -import xcproj +import xcodeproj +import PathKit extension PBXFileElement { @@ -12,7 +13,7 @@ extension PBXProj { public func printGroups() -> String { guard let project = objects.projects.first?.value, - let mainGroup = objects.groups.getReference(project.mainGroup) else { + let mainGroup = objects.groups.getReference(project.mainGroupReference) else { return "" } return printGroup(group: mainGroup) @@ -20,7 +21,7 @@ extension PBXProj { public func printGroup(group: PBXGroup) -> String { var string = group.nameOrPath - for reference in group.children { + for reference in group.childrenReferences { if let group = objects.groups.getReference(reference) { string += "\n 📁 " + printGroup(group: group).replacingOccurrences(of: "\n ", with: "\n ") } else if let fileReference = objects.fileReferences.getReference(reference) { @@ -34,3 +35,34 @@ extension PBXProj { return string } } + +extension PBXObjects { + + public func getFileElement(reference: PBXObjectReference) -> PBXFileElement? { + return groups[reference] ?? + fileReferences[reference] ?? + versionGroups[reference] ?? + variantGroups[reference] + } +} + +extension Dictionary { + + public var valueArray: Array { + return Array(values) + } +} + +extension Dictionary where Key == PBXObjectReference { + + public func getReference(_ reference: PBXObjectReference) -> Value? { + return self[reference] + } +} + +extension Xcode { + + public static func fileType(path: Path) -> String? { + return path.extension.flatMap { Xcode.filetype(extension: $0) } + } +} diff --git a/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj b/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj index badfd0f1..1a7e1f9f 100644 --- a/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj +++ b/Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXAggregateTarget section */ - AT_445731917037 /* SuperTarget */ = { + AB59C0690172FF119F045336C1F1CA0D /* SuperTarget */ = { isa = PBXAggregateTarget; - buildConfigurationList = CL_445731917037 /* Build configuration list for PBXAggregateTarget "SuperTarget" */; + buildConfigurationList = DF19D3419A77EDFF6F8498EFC3E36048 /* Build configuration list for PBXAggregateTarget "SuperTarget" */; buildPhases = ( - SSBP_8280041834 /* MyScript */, + 69E4B11A07FF06F8306B5646CA2403EF /* MyScript */, ); dependencies = ( - TD_208010900457 /* PBXTargetDependency */, - TD_747418473860 /* PBXTargetDependency */, + 3E978D446B3957A557629CD1DF47004B /* PBXTargetDependency */, + 3FFD524CC10F62CA07750D1026106CB3 /* PBXTargetDependency */, ); name = SuperTarget; productName = SuperTarget; @@ -23,829 +23,826 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - BF_138356261076 /* InterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_363921640403 /* InterfaceController.swift */; }; - BF_139519317795 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_452853029807 /* Alamofire.framework */; }; - BF_167705969896 /* TestProjectUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_145531354566 /* TestProjectUITests.swift */; }; - BF_182635022050 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FR_830053537293 /* Assets.xcassets */; }; - BF_184447863946 = {isa = PBXBuildFile; fileRef = FR_935153865209 /* iMessageApp.app */; }; - BF_186245454304 /* LocalizedStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = VG_118219888726 /* LocalizedStoryboard.storyboard */; }; - BF_190684453680 = {isa = PBXBuildFile; fileRef = FR_376569054786 /* XPC Service.xpc */; }; - BF_206432481076 /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_340586388409 /* ExtensionDelegate.swift */; }; - BF_211435872001 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = VG_473000061463 /* Localizable.strings */; }; - BF_212221512596 /* StaticLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_470929579339 /* StaticLibrary.swift */; }; - BF_215463341392 /* SomeFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_654302359039 /* SomeFramework.framework */; }; - BF_217053936758 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_752394658615 /* Alamofire.framework */; }; - BF_225293845818 = {isa = PBXBuildFile; fileRef = FR_507023492251 /* App_watchOS Extension.appex */; }; - BF_237760701422 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FR_987043315473 /* Assets.xcassets */; }; - BF_239684316986 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = FR_815403394914 /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_243071719122 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_172952167809 /* FrameworkFile.swift */; }; - BF_259448131292 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = FR_815403394914 /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_268392110450 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FR_587738154368 /* Assets.xcassets */; }; - BF_279581961655 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FR_868653349092 /* Assets.xcassets */; }; - BF_280535243540 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = VG_609193904586 /* Main.storyboard */; }; - BF_284620660317 /* MyBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = FR_238161558082 /* MyBundle.bundle */; }; - BF_292474606791 = {isa = PBXBuildFile; fileRef = FR_525119120469 /* Framework.framework */; }; - BF_303822704662 = {isa = PBXBuildFile; fileRef = FR_472296042419 /* Framework.framework */; }; - BF_304637845091 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FR_151462316179 /* main.m */; }; - BF_308631758818 /* XPC Service.xpc in CopyFiles */ = {isa = PBXBuildFile; fileRef = FR_376569054786 /* XPC Service.xpc */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BF_314868376788 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = VG_746876637628 /* Localizable.stringsdict */; }; - BF_324363145049 /* Framework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_472296042419 /* Framework.framework */; }; - BF_331192862207 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_481575785861 /* ViewController.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; }; - BF_334321520545 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FR_377082606829 /* Assets.xcassets */; }; - BF_334778067417 = {isa = PBXBuildFile; fileRef = FR_783122899910 /* App_iOS_Tests.xctest */; }; - BF_337656089700 = {isa = PBXBuildFile; fileRef = FR_399755008402 /* StaticLibrary_ObjC.a */; }; - BF_360196406184 /* TestProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_722239415598 /* TestProjectTests.swift */; }; - BF_415651546539 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_752394658615 /* Alamofire.framework */; }; - BF_425679397292 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = FR_183521624014 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_441538117869 /* App_watchOS Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = FR_507023492251 /* App_watchOS Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BF_456457948943 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_172952167809 /* FrameworkFile.swift */; }; - BF_458111705914 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_410645050443 /* Alamofire.framework */; }; - BF_461044234706 /* SomeFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FR_654302359039 /* SomeFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BF_496472559782 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = FR_183521624014 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_501771188469 /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FR_410645050443 /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BF_503484983186 /* MoreUnder.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_196911129660 /* MoreUnder.swift */; }; - BF_510053944904 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = FR_815403394914 /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_518775144316 /* SomeXPCService.xpc in CopyFiles */ = {isa = PBXBuildFile; fileRef = FR_229826849033 /* SomeXPCService.xpc */; }; - BF_526105569599 = {isa = PBXBuildFile; fileRef = FR_437179166843 /* StaticLibrary_Swift.a */; }; - BF_535236390262 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_257516580010 /* Alamofire.framework */; }; - BF_538515166673 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = VG_256263906698 /* LaunchScreen.storyboard */; }; - BF_552913093094 /* Framework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FR_525119120469 /* Framework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BF_561304997165 /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_675266829517 /* Standalone.swift */; }; - BF_563614389392 = {isa = PBXBuildFile; fileRef = FR_618687462494 /* iMessageExtension.appex */; }; - BF_597639300414 /* Framework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_525119120469 /* Framework.framework */; }; - BF_607543323797 /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FR_698230898030 /* StaticLibrary_ObjC.h */; }; - BF_612351978356 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = VG_264279911176 /* Interface.storyboard */; }; - BF_624802436672 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_172952167809 /* FrameworkFile.swift */; }; - BF_632297340262 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = "FR_698230898030-1" /* StaticLibrary_ObjC.m */; }; - BF_647038614509 /* iMessageApp.app in Resources */ = {isa = PBXBuildFile; fileRef = FR_935153865209 /* iMessageApp.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BF_650026899468 = {isa = PBXBuildFile; fileRef = FR_602719163962 /* XPC_Service.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_670499288392 /* Model.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = VG_229021855709 /* Model.xcdatamodeld */; settings = {COMPILER_FLAGS = "-Werror"; }; }; - BF_681504666330 = {isa = PBXBuildFile; fileRef = FR_825232110500 /* App_iOS.app */; }; - BF_703054643820 /* MessagesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_310979699934 /* MessagesViewController.swift */; }; - BF_704149935229 /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_675266829517 /* Standalone.swift */; }; - BF_721498080533 /* ResourceFolder in Resources */ = {isa = PBXBuildFile; fileRef = FR_257073931060 /* ResourceFolder */; }; - BF_725992639588 = {isa = PBXBuildFile; fileRef = FR_480982116789 /* App_macOS.app */; }; - BF_732745079658 = {isa = PBXBuildFile; fileRef = FR_324671077936 /* App_watchOS.app */; }; - BF_734036107922 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = FR_183521624014 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_742449020987 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_410645050443 /* Alamofire.framework */; }; - BF_747443236192 /* App_watchOS.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = FR_324671077936 /* App_watchOS.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BF_752022362638 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = FR_665156855283 /* module.modulemap */; }; - BF_757906110813 = {isa = PBXBuildFile; fileRef = FR_662315837182 /* Framework.framework */; }; - BF_770495922915 /* StaticLibrary_ObjC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_399755008402 /* StaticLibrary_ObjC.a */; }; - BF_803757127643 = {isa = PBXBuildFile; fileRef = FR_739513596122 /* XPC_ServiceProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_807556340853 /* Empty.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FR_837374194182 /* Empty.h */; }; - BF_813358525536 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = FR_183521624014 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_828878846239 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = VG_201160695646 /* MainInterface.storyboard */; }; - BF_830383951771 /* NotificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_304712043717 /* NotificationController.swift */; }; - BF_854463933379 = {isa = PBXBuildFile; fileRef = FR_438704538506 /* Framework.framework */; }; - BF_854691035877 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_257516580010 /* Alamofire.framework */; }; - BF_855988705556 /* XPC_Service.m in Sources */ = {isa = PBXBuildFile; fileRef = FR_602719163945 /* XPC_Service.m */; }; - BF_860391087135 /* StandaloneAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FR_408537768279 /* StandaloneAssets.xcassets */; }; - BF_863842036151 /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FR_410645050443 /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BF_870702193513 /* iMessageExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = FR_618687462494 /* iMessageExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - BF_892119987440 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_854336462818 /* AppDelegate.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; }; - BF_897881229855 /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FR_257516580010 /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BF_898051828670 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_752394658615 /* Alamofire.framework */; }; - BF_901390118565 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = FR_172952167809 /* FrameworkFile.swift */; }; - BF_905038616071 /* Framework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FR_472296042419 /* Framework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - BF_905617636654 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = FR_815403394914 /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; - BF_940936137577 = {isa = PBXBuildFile; fileRef = FR_123503999387 /* App_iOS_UITests.xctest */; }; - BF_943177036061 /* StaticLibrary_ObjC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FR_399755008402 /* StaticLibrary_ObjC.a */; }; + 01E1BB1F24B4A80B8FC21EC54DDAFCFB /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D4316EA80F87D5B5ED86E105CE1FE35 /* Alamofire.framework */; }; + 0A774DBC62F3C7721971E0C95BB2564A /* MoreUnder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1359BCAE8548E7063115210477D5CB83 /* MoreUnder.swift */; }; + 11620E0E3097992FFB14B60ADB580C14 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B0B64C16BE3E860FA96760027A29C74 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 12BB537967032E2ECE176F4F6BD7FEF1 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B711E3A23DD91E764A249E83C1D84E3 /* Alamofire.framework */; }; + 1392EC1CE7BD042F68C39A2AAB6AFBF0 /* SomeXPCService.xpc in CopyFiles */ = {isa = PBXBuildFile; fileRef = 7047649EC963EC43D7BC538E7D8607CC /* SomeXPCService.xpc */; }; + 142F53A6CDA1596543042CFD876E1B17 /* StaticLibrary_ObjC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 948EA9EE1BAE66408843BF6200620E70 /* StaticLibrary_ObjC.a */; }; + 1469E5437CDCEAB8B753538C36C6EC91 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = B9F777771795CF517CFB5FE931917C46 /* StaticLibrary_ObjC.m */; }; + 155B03B91592C42BB787EB5FB9FA4625 /* App_watchOS.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = CFF173E643CE5FF0AE955580CB2B6641 /* App_watchOS.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 166B4DE0C553AC808EA56CB57358CD95 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C71345D3886B5E2221F4441BD871D5 /* Alamofire.framework */; }; + 1D1EBBAD810AB8280C138C76BE8AF7B5 /* Framework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 277BE1159CD7855C287566F29F8939BA /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5E91CF52DCCAC8D07B999177AAB3B7 /* Standalone.swift */; }; + 27D1C1B8C60FD46B541C840BFBA7DD44 /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4B711E3A23DD91E764A249E83C1D84E3 /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 2A8A171902ADC287F600AAB4C3020AA3 /* SomeFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 065FC8C30C4E0AB09C1E77734E46F252 /* SomeFramework.framework */; }; + 2B3F156D5B5BB22B1A6955B8B43F417F /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6237064EDBE405135BC1CE7DE20A131C /* Alamofire.framework */; }; + 2CCCB0657766F9F9527F77A9F42AAF9E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9835A83F1E5D8E22848E171BA3C2DBA6 /* LaunchScreen.storyboard */; }; + 2F3C2D29AD1524C2DAA8601042880BF1 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B711E3A23DD91E764A249E83C1D84E3 /* Alamofire.framework */; }; + 304090AFAC1ED0D09C95B0CB2BEFEB9E /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5E91CF52DCCAC8D07B999177AAB3B7 /* Standalone.swift */; }; + 3243ACA306AD909C8186921F288640DB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E005A2734C32783354AAB8546A12718B /* Localizable.strings */; }; + 334AA8E27C083421E9B411D7CD5D3458 /* Framework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 34D18588625C4E99A9A1265B3B918A50 /* iMessageExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 28C9901BE3ADBC6102849237424B03D6 /* iMessageExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 370B3DF5D5741094E48BE3C0E00B68E7 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C358B60A4C6D98BF3CD9B2C0C75FFC31 /* Interface.storyboard */; }; + 3D49538E97F4592012896021971B0166 /* LocalizedStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 49A30AD670910672DABA8B736EECBAEB /* LocalizedStoryboard.storyboard */; }; + 3E8A30F173DFFDBDDD0EBDA2D21A0D77 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 523DB06F1851416DDCF4B7616911B6CB /* Assets.xcassets */; }; + 3F6CF73FD22CC393D7A5EA3B0C66C24C /* StaticLibrary_ObjC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 948EA9EE1BAE66408843BF6200620E70 /* StaticLibrary_ObjC.a */; }; + 44B62E9C097529F3D5C7A44A5F777A61 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 224967658A2D92DC2BD9D665A1CA1F5F /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; + 45FE59E8EE4FE189573959804F6F6076 /* App_watchOS Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 42CEA852937FACF2B5D933EC8EC14418 /* App_watchOS Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 486E2AABDE448C496C0FCC393A35E669 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B0B64C16BE3E860FA96760027A29C74 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49C46F18756F4E9EE9E1CC328F79A2AD /* NotificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01801EB5629DB3812650E5E47F3362C8 /* NotificationController.swift */; }; + 4A99C1479D453718EDAFA771656D6958 /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6237064EDBE405135BC1CE7DE20A131C /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 5163749E505B01D5ACB99C653525D046 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0C43CE340B78E88FE95F7E8DF5EC35D2 /* Assets.xcassets */; }; + 51FCB6F2D56B68E627A35C53729E423A /* XPC_Service.m in Sources */ = {isa = PBXBuildFile; fileRef = 508B113F244D2D7F7731ED871B2F16DA /* XPC_Service.m */; }; + 55E7240008DD5452802A41DA6FC7A16F /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D68FD4BD70DF5429E43E14A65FDF9D81 /* ViewController.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; }; + 59A1A5DC48B33CCB164751AF5F9B4EF6 /* Alamofire.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6237064EDBE405135BC1CE7DE20A131C /* Alamofire.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 5A6137039176A4E48CF6B399372D56EA /* iMessageApp.app in Resources */ = {isa = PBXBuildFile; fileRef = D26369BE2A7A98A736F7A13BA924A4A2 /* iMessageApp.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 6013ED0F37BB222A6B44D0CB89CE69AE /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B0B64C16BE3E860FA96760027A29C74 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 60677C8B465E055458D1DF51F0EC0A90 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D4316EA80F87D5B5ED86E105CE1FE35 /* Alamofire.framework */; }; + 631A7BEDCB97C03DC5E6AED97FDF408E /* Empty.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5FCB8A69D323BC3CA127642FCFD887A6 /* Empty.h */; }; + 68642C69AC9333487FC491E6FA98261E /* TestProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0248345678C3EEA7143459B634AB4F99 /* TestProjectTests.swift */; }; + 702E56BFA3B2A830E24D74FCA3A33D55 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 224967658A2D92DC2BD9D665A1CA1F5F /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; + 718D11FA2B62EFF8783CF9693CEFC64F /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D4316EA80F87D5B5ED86E105CE1FE35 /* Alamofire.framework */; }; + 766C78D100B581A2A469B47A02A0E6D9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10D051136D86691641578C2EB7616D4B /* AppDelegate.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; }; + 7AE6DE3A93E56909084D4F93795B3C93 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8EAFD105FB449C592C944D3003203AB5 /* Main.storyboard */; }; + 7AF2CCC3F2ECDC1FE82B2C05BEF75B71 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = AC31952D4BF4BB8CC21459D75DCB7DC9 /* main.m */; }; + 7C2B87BE6AEC5813069E896736FA68A3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 80294B8FAECA0DC3B83DC6D2FC6FBE59 /* Assets.xcassets */; }; + 809CDDAA142679CDCFCF376C9CA71C09 /* MyBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = C67AA6BA96CF5A5E2A3FBED848E6C3D4 /* MyBundle.bundle */; }; + 8CF2462D2181DDDA1A8E8A1F176F9A47 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B0B64C16BE3E860FA96760027A29C74 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 959956C14A10B778A0CF1618CA4BC63C /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6237064EDBE405135BC1CE7DE20A131C /* Alamofire.framework */; }; + 9F2CA54E38CDF41C367FAC8E304AF4C5 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81F7E21FBB8DA98ECF0A51099CDAF2EE /* MainInterface.storyboard */; }; + A37247C6EE3138C4083810BA1BA6C7FD /* XPC Service.xpc in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBF5F2565C6807B74F18D4ACCE28D071 /* XPC Service.xpc */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + A4E000AF88BD17B9A2B08452C17C2EEF /* StaticLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B653BE433FA2C7F27E0DD742C56972 /* StaticLibrary.swift */; }; + A6CCC432869EB6B8A65A89B565B57EA5 /* InterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81E39751EDA257E7F7946E95A67FDBBD /* InterfaceController.swift */; }; + AA5AF277386012CD6CC015073239E50F /* StandaloneAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 02537F8F3DAD9BF1F249FF662131F1F5 /* StandaloneAssets.xcassets */; }; + AD00993C2491D03BD3A1B6E48D685C29 /* MessagesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67BB19DDA48C227FF6E676B89FDFCAEB /* MessagesViewController.swift */; }; + AUTO_5VZIHqJ600tEPf73suYa = {isa = PBXBuildFile; fileRef = 28C9901BE3ADBC6102849237424B03D6 /* iMessageExtension.appex */; }; + AUTO_7MKZu584cIQuU5pdvEAL = {isa = PBXBuildFile; fileRef = EABA2B52871944E6E80A12C64E198883 /* App_iOS_UITests.xctest */; }; + AUTO_9aaVkTyiyQWj9chRFSXC = {isa = PBXBuildFile; fileRef = C7F72C86B98DCABE16D17DDC9894C845 /* App_iOS_Tests.xctest */; }; + AUTO_CX9m7izxITPbe6k7gIMS = {isa = PBXBuildFile; fileRef = D26369BE2A7A98A736F7A13BA924A4A2 /* iMessageApp.app */; }; + AUTO_FHqmKTu8R9eQcDSHtBl2 = {isa = PBXBuildFile; fileRef = 77532D0489A67876EE56705C71C908C6 /* XPC_Service.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AUTO_FI4P0L7mD3dfGGVPVNvx = {isa = PBXBuildFile; fileRef = 948EA9EE1BAE66408843BF6200620E70 /* StaticLibrary_ObjC.a */; }; + AUTO_GN80IEuWvCvUcPwoAVnt = {isa = PBXBuildFile; fileRef = DBF5F2565C6807B74F18D4ACCE28D071 /* XPC Service.xpc */; }; + AUTO_LFQ2NgxpvrhYJSYshySZ = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; }; + AUTO_Ni16m8Y84i5PMkMaGKaR = {isa = PBXBuildFile; fileRef = 42CEA852937FACF2B5D933EC8EC14418 /* App_watchOS Extension.appex */; }; + AUTO_OkqadiIPIeuHfZsWVaT8 = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; }; + AUTO_cBeRILf3hWlctfWZW9JQ = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; }; + AUTO_eO1L3NPJcUbCdbs0LA8S = {isa = PBXBuildFile; fileRef = F8D572C96FEC4C18AE61EB3D4D84466C /* XPC_ServiceProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AUTO_elwIMiarYGjkKHoLYkNz = {isa = PBXBuildFile; fileRef = 715B87EA4FFA97FECCBA0D1D269A19F4 /* StaticLibrary_Swift.a */; }; + AUTO_iHu2o18WOxDYzCUar5IX = {isa = PBXBuildFile; fileRef = AE0CDFA0B5B4F5D2FBB870B59FE51154 /* App_macOS.app */; }; + AUTO_m5qNHcIsAuTywjDdFCMx = {isa = PBXBuildFile; fileRef = 9FD5A8B54C9F429451BCCCC3F04CDB99 /* App_iOS.app */; }; + AUTO_sv3hFquUhPl9qfllDvyL = {isa = PBXBuildFile; fileRef = CFF173E643CE5FF0AE955580CB2B6641 /* App_watchOS.app */; }; + AUTO_vusM5sNOIMe1bxFDS6ZY = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; }; + BD4C8B77EF89CF7F4ED0D1C4713397E4 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F657AA556F579E2C56BC6BC04E3CAF4 /* FrameworkFile.swift */; }; + BD8FA9115EB29C8438DE82A4C33C249A /* SomeFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 065FC8C30C4E0AB09C1E77734E46F252 /* SomeFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + BE38983978B6D70795D2924F52F3081D /* ResourceFolder in Resources */ = {isa = PBXBuildFile; fileRef = 138DC1A4CB4E585A69355474092AE0E0 /* ResourceFolder */; }; + C4F880A62908F7CD24C87CE5D67B0196 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F657AA556F579E2C56BC6BC04E3CAF4 /* FrameworkFile.swift */; }; + C5DD61FED061701F52A2AE59334C3964 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EF485495979F5EF324B541071E00D33B /* Assets.xcassets */; }; + D8E194DE99C1389B4335B7112DEA7DC4 /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B71DECBD66A150B303E116D2F05C0B4E /* ExtensionDelegate.swift */; }; + D9338C1374B8F82194B44B6F73075123 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 083D78A107BD9A58D0F5B30EA9A65E2C /* Assets.xcassets */; }; + DB95C341F44FE1E093C948F4F734515B /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 466B302E661DE3B3972203B31F4AFED4 /* Localizable.stringsdict */; }; + DDEAB9F0EBC3BBC4D641C06A86BFD425 /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5878F070E087ECAECE45ADD20BE9D635 /* StaticLibrary_ObjC.h */; }; + E249D28B974B22ED41B7BAE7A1CC7468 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 224967658A2D92DC2BD9D665A1CA1F5F /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; + E831CFC1214156450B81B78792D4A0C1 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84A2F7FD70C38F7B09D6809A2586E1A7 /* module.modulemap */; }; + EBC3AA70BAD516864D119DDEEE2C436D /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F657AA556F579E2C56BC6BC04E3CAF4 /* FrameworkFile.swift */; }; + F16AD8A4E1A6E1189CE048C03CEA9469 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F657AA556F579E2C56BC6BC04E3CAF4 /* FrameworkFile.swift */; }; + F25CA48D38ED8577DF81395CFBFF0FA5 /* Framework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; }; + F7E9F427669FE7710D0A19AA4E1156F4 /* TestProjectUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BE8C8DF245700F7E0EF36D9F2B8C0E3 /* TestProjectUITests.swift */; }; + FA69E7367B9D2F2CB97F57AE7984D9BD /* Framework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; }; + FF688241378D1AE956E9A9F46EEBCFAA /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 224967658A2D92DC2BD9D665A1CA1F5F /* Headers */; settings = {ATTRIBUTES = (Public, ); }; }; + FFA6D03EB711292F77E0BB317C750F5A /* Model.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 32AE52CAD620F8B92487AA4F5924D0EC /* Model.xcdatamodeld */; settings = {COMPILER_FLAGS = "-Werror"; }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - CIP_10972496596 /* PBXContainerItemProxy */ = { + 09709070DE34AF9CD99E9E5EB9990FEA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; proxyType = 1; - remoteGlobalIDString = NT_472296042419; - remoteInfo = Framework_iOS; - }; - CIP_19329118292 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_507023492251; - remoteInfo = "App_watchOS Extension"; - }; - CIP_20801090045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_825232110500; + remoteGlobalIDString = DB85CB6A2C15660854D634EF1B0C1FAD; remoteInfo = App_iOS; }; - CIP_23558050412 /* PBXContainerItemProxy */ = { + 0BF678D2C5D11E654050E6FD6AF1321C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; proxyType = 1; - remoteGlobalIDString = NT_525119120469; - remoteInfo = Framework_macOS; - }; - CIP_28856087625 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_935153865209; + remoteGlobalIDString = 24B389B0959F4A6CB05BB732DABDFE40; remoteInfo = iMessageApp; }; - CIP_31792113134 /* PBXContainerItemProxy */ = { + 29DD3982DDC8FB1816F3413908D59361 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; proxyType = 1; - remoteGlobalIDString = NT_618687462494; - remoteInfo = iMessageExtension; - }; - CIP_33710394010 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_399755008402; - remoteInfo = StaticLibrary_ObjC; - }; - CIP_62903878492 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_399755008402; - remoteInfo = StaticLibrary_ObjC; - }; - CIP_66745555235 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_399755008402; - remoteInfo = StaticLibrary_ObjC; - }; - CIP_67619158112 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_825232110500; - remoteInfo = App_iOS; - }; - CIP_72152212817 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_399755008402; - remoteInfo = StaticLibrary_ObjC; - }; - CIP_74378499241 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_376569054786; - remoteInfo = "XPC Service"; - }; - CIP_74741847386 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; - proxyType = 1; - remoteGlobalIDString = NT_472296042419; + remoteGlobalIDString = FE8D0077B0ADF688264AFA16A3FC213E; remoteInfo = Framework_iOS; }; - CIP_78441234790 /* PBXContainerItemProxy */ = { + 322420B31CCE201E90F298BE48129574 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; proxyType = 1; - remoteGlobalIDString = NT_399755008402; + remoteGlobalIDString = 6805881B1B6A80ABD523DAF4AFA493E2; + remoteInfo = Framework_macOS; + }; + 454E9650A00080FE30274224CC9F46C0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CBCC05D0B8E90F960AA198981827667B; + remoteInfo = "App_watchOS Extension"; + }; + 5A941DAF3EECD0D974E9330E048ABAF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C21579FB597F51FACE99F831124CEB70; remoteInfo = StaticLibrary_ObjC; }; - CIP_82410178775 /* PBXContainerItemProxy */ = { + 61EAE260C32C57D1ADCEAA01E33B62F0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; proxyType = 1; - remoteGlobalIDString = NT_324671077936; + remoteGlobalIDString = 9F21B9C99E75314E51854589C0A2D40C; remoteInfo = App_watchOS; }; - CIP_88714386547 /* PBXContainerItemProxy */ = { + 707E4E6909BBD1E09760167B4CFEC227 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; proxyType = 1; - remoteGlobalIDString = NT_825232110500; + remoteGlobalIDString = C21579FB597F51FACE99F831124CEB70; + remoteInfo = StaticLibrary_ObjC; + }; + 91B2DBDD3AE5AF1D532D18340182CF27 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C21579FB597F51FACE99F831124CEB70; + remoteInfo = StaticLibrary_ObjC; + }; + 931421A32656354E62549752A08EDBF8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = DB85CB6A2C15660854D634EF1B0C1FAD; remoteInfo = App_iOS; }; - CIP_95747640947 /* PBXContainerItemProxy */ = { + 9B58798122BFEA3C65A8FF0A3351860D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = P_8448771205358 /* Project object */; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; proxyType = 1; - remoteGlobalIDString = NT_399755008402; + remoteGlobalIDString = F61DEA90F1B7331EE9B26BBA1F66D1F3; + remoteInfo = "XPC Service"; + }; + C3EE26A1AAD19418C160843CDB61D97D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C21579FB597F51FACE99F831124CEB70; + remoteInfo = StaticLibrary_ObjC; + }; + CC516AFC796533BF02DD6B96F8DD7E74 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = DB85CB6A2C15660854D634EF1B0C1FAD; + remoteInfo = App_iOS; + }; + DE00464172E7A41CC51991B9136AA5BD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8A0FE14A3A3815C1F26B447C6178089C; + remoteInfo = iMessageExtension; + }; + E09571F16E5252817F36D382C4132D85 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C21579FB597F51FACE99F831124CEB70; + remoteInfo = StaticLibrary_ObjC; + }; + EEB2D30EB7369BDB638EBEEF136463C2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = FE8D0077B0ADF688264AFA16A3FC213E; + remoteInfo = Framework_iOS; + }; + FF9930E567A8C8A64F553637C661978F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 48BA824E9883B72747F77581255D9C94 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C21579FB597F51FACE99F831124CEB70; remoteInfo = StaticLibrary_ObjC; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - CFBP_2836118931 /* Embed Watch Content */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "$(CONTENTS_FOLDER_PATH)/Watch"; - dstSubfolderSpec = 16; - files = ( - BF_747443236192 /* App_watchOS.app in Embed Watch Content */, - ); - name = "Embed Watch Content"; - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_3265670993 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - BF_607543323797 /* StaticLibrary_ObjC.h in CopyFiles */, - BF_752022362638 /* module.modulemap in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_4082141876 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BF_863842036151 /* Alamofire.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_4626438721 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BF_501771188469 /* Alamofire.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_4684049960 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - BF_441538117869 /* App_watchOS Extension.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_4930089528 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BF_552913093094 /* Framework.framework in Embed Frameworks */, - BF_897881229855 /* Alamofire.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_5460766702 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - BF_870702193513 /* iMessageExtension.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_6493932244 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BF_905038616071 /* Framework.framework in Embed Frameworks */, - BF_461044234706 /* SomeFramework.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_7191905390 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - BF_807556340853 /* Empty.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CFBP_8368933518 /* CopyFiles */ = { + 0B85189BAB2D1568EECF81226FF3FF97 /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = "$(CONTENTS_FOLDER_PATH)/XPCServices"; dstSubfolderSpec = 16; files = ( - BF_308631758818 /* XPC Service.xpc in CopyFiles */, - BF_518775144316 /* SomeXPCService.xpc in CopyFiles */, + A37247C6EE3138C4083810BA1BA6C7FD /* XPC Service.xpc in CopyFiles */, + 1392EC1CE7BD042F68C39A2AAB6AFBF0 /* SomeXPCService.xpc in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1130301AAAB06CA6AE2DBC09B9F82B74 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 1D1EBBAD810AB8280C138C76BE8AF7B5 /* Framework.framework in Embed Frameworks */, + BD8FA9115EB29C8438DE82A4C33C249A /* SomeFramework.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 31035708668339C7624CD18BC4971F27 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 4A99C1479D453718EDAFA771656D6958 /* Alamofire.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 64735A35127234188A50A9CC433F3D43 /* Embed App Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + 45FE59E8EE4FE189573959804F6F6076 /* App_watchOS Extension.appex in Embed App Extensions */, + ); + name = "Embed App Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; + 800C402270322E33CF2C5DBBAE32DD06 /* Embed Watch Content */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "$(CONTENTS_FOLDER_PATH)/Watch"; + dstSubfolderSpec = 16; + files = ( + 155B03B91592C42BB787EB5FB9FA4625 /* App_watchOS.app in Embed Watch Content */, + ); + name = "Embed Watch Content"; + runOnlyForDeploymentPostprocessing = 0; + }; + 8748CD344E8DDE93B221AA670D93DA94 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + DDEAB9F0EBC3BBC4D641C06A86BFD425 /* StaticLibrary_ObjC.h in CopyFiles */, + E831CFC1214156450B81B78792D4A0C1 /* module.modulemap in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8C62857F0DCEBB22C299F26FCCE769F9 /* Embed App Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + 34D18588625C4E99A9A1265B3B918A50 /* iMessageExtension.appex in Embed App Extensions */, + ); + name = "Embed App Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; + 916C69163E65CD06E8BD0CCC8D8227C2 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 59A1A5DC48B33CCB164751AF5F9B4EF6 /* Alamofire.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + DBC722FD0EE319959445B8F14D3EE091 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 334AA8E27C083421E9B411D7CD5D3458 /* Framework.framework in Embed Frameworks */, + 27D1C1B8C60FD46B541C840BFBA7DD44 /* Alamofire.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + FE39362C1CB6263D81609FF7975359EE /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + 631A7BEDCB97C03DC5E6AED97FDF408E /* Empty.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - FR_118219888726 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LocalizedStoryboard.storyboard; sourceTree = ""; }; - FR_123503999387 /* App_iOS_UITests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = App_iOS_UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_145531354566 /* TestProjectUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectUITests.swift; sourceTree = ""; }; - FR_151462316179 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - FR_172952167809 /* FrameworkFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkFile.swift; sourceTree = ""; }; - FR_183521624014 /* MyFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFramework.h; sourceTree = ""; }; - FR_196911129660 /* MoreUnder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreUnder.swift; sourceTree = ""; }; - FR_201160695646 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; - FR_229826849033 /* SomeXPCService.xpc */ = {isa = PBXFileReference; path = SomeXPCService.xpc; sourceTree = ""; }; - FR_232605427418 /* Mintfile */ = {isa = PBXFileReference; path = Mintfile; sourceTree = ""; }; - FR_238161558082 /* MyBundle.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = MyBundle.bundle; sourceTree = ""; }; - FR_247808626608 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_256263906698 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - FR_257073931060 /* ResourceFolder */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ResourceFolder; path = Resources/ResourceFolder; sourceTree = SOURCE_ROOT; }; - FR_257516580010 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; - FR_263408310401 /* Model 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Model 3.xcdatamodel"; sourceTree = ""; }; - FR_264279911176 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = ""; }; - FR_293137352077 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_304712043717 /* NotificationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationController.swift; sourceTree = ""; }; - FR_310979699934 /* MessagesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessagesViewController.swift; sourceTree = ""; }; - FR_324671077936 /* App_watchOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App_watchOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_340586388409 /* ExtensionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = ""; }; - FR_363921640403 /* InterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InterfaceController.swift; sourceTree = ""; }; - FR_376569054786 /* XPC Service.xpc */ = {isa = PBXFileReference; includeInIndex = 0; path = "XPC Service.xpc"; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_377082606829 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - FR_399755008402 /* StaticLibrary_ObjC.a */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = archive.ar; path = StaticLibrary_ObjC.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_408537768279 /* StandaloneAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = StandaloneAssets.xcassets; sourceTree = ""; }; - FR_410645050443 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; - FR_437179166843 /* StaticLibrary_Swift.a */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = archive.ar; path = StaticLibrary_Swift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_438704538506 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_452853029807 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; - FR_461737784133 /* module.modulemap */ = {isa = PBXFileReference; path = module.modulemap; sourceTree = ""; }; - FR_470929579339 /* StaticLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StaticLibrary.swift; sourceTree = ""; }; - FR_472296042419 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_473000061463 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; - FR_479281060337 /* Folder */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Folder; sourceTree = SOURCE_ROOT; }; - FR_480982116789 /* App_macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App_macOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_481575785861 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - FR_500792082643 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/LocalizedStoryboard.strings; sourceTree = ""; }; - FR_505327409380 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_507023492251 /* App_watchOS Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "App_watchOS Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_525119120469 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_530852296303 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_570918052822 /* Model.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Model.xcdatamodel; sourceTree = ""; }; - FR_587738154368 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - FR_602633703434 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = ""; }; - FR_602719163945 /* XPC_Service.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPC_Service.m; sourceTree = ""; }; - FR_602719163962 /* XPC_Service.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPC_Service.h; sourceTree = ""; }; - FR_609193904586 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - FR_618687462494 /* iMessageExtension.appex */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.app-extension"; path = iMessageExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_635802719871 /* base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = ""; }; - FR_643034527839 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_654302359039 /* SomeFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SomeFramework.framework; path = Vendor/SomeFramework.framework; sourceTree = ""; }; - FR_655678458041 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_660690926982 /* config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = config.xcconfig; sourceTree = ""; }; - FR_662315837182 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_665156855283 /* module.modulemap */ = {isa = PBXFileReference; path = module.modulemap; sourceTree = ""; }; - FR_675266829517 /* Standalone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Standalone.swift; sourceTree = ""; }; - FR_698230898030 /* StaticLibrary_ObjC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StaticLibrary_ObjC.h; sourceTree = ""; }; - "FR_698230898030-1" /* StaticLibrary_ObjC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StaticLibrary_ObjC.m; sourceTree = ""; }; - FR_722239415598 /* TestProjectTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectTests.swift; sourceTree = ""; }; - FR_725187762757 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_739513596122 /* XPC_ServiceProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPC_ServiceProtocol.h; sourceTree = ""; }; - FR_746876637628 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.stringsdict; sourceTree = ""; }; - FR_748548478992 /* PushNotificationPayload.apns */ = {isa = PBXFileReference; lastKnownFileType = text; path = PushNotificationPayload.apns; sourceTree = ""; }; - FR_752394658615 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; - FR_771029596306 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - FR_775316160345 /* SomeFile */ = {isa = PBXFileReference; path = SomeFile; sourceTree = ""; }; - FR_783122899910 /* App_iOS_Tests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = App_iOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_796781152159 /* Model 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Model 2.xcdatamodel"; sourceTree = ""; }; - FR_803921963291 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_815403394914 /* Headers */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Headers; sourceTree = SOURCE_ROOT; }; - FR_825232110500 /* App_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App_iOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_830053537293 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - FR_837374194182 /* Empty.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Empty.h; sourceTree = ""; }; - FR_854336462818 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - FR_868653349092 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - FR_935153865209 /* iMessageApp.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = iMessageApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - FR_948931241088 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FR_987043315473 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 01801EB5629DB3812650E5E47F3362C8 /* NotificationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationController.swift; sourceTree = ""; }; + 0248345678C3EEA7143459B634AB4F99 /* TestProjectTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectTests.swift; sourceTree = ""; }; + 02537F8F3DAD9BF1F249FF662131F1F5 /* StandaloneAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = StandaloneAssets.xcassets; sourceTree = ""; }; + 065FC8C30C4E0AB09C1E77734E46F252 /* SomeFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SomeFramework.framework; path = Vendor/SomeFramework.framework; sourceTree = ""; }; + 083D78A107BD9A58D0F5B30EA9A65E2C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 0BE8C8DF245700F7E0EF36D9F2B8C0E3 /* TestProjectUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectUITests.swift; sourceTree = ""; }; + 0BFEFFB973F5EEEF285D98AB90CFC9B0 /* base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = ""; }; + 0C43CE340B78E88FE95F7E8DF5EC35D2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 0F657AA556F579E2C56BC6BC04E3CAF4 /* FrameworkFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkFile.swift; sourceTree = ""; }; + 10D051136D86691641578C2EB7616D4B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 11DBDC38AD04D9F24454201311335431 /* PushNotificationPayload.apns */ = {isa = PBXFileReference; lastKnownFileType = text; path = PushNotificationPayload.apns; sourceTree = ""; }; + 1359BCAE8548E7063115210477D5CB83 /* MoreUnder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreUnder.swift; sourceTree = ""; }; + 138DC1A4CB4E585A69355474092AE0E0 /* ResourceFolder */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ResourceFolder; path = Resources/ResourceFolder; sourceTree = SOURCE_ROOT; }; + 224967658A2D92DC2BD9D665A1CA1F5F /* Headers */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Headers; sourceTree = SOURCE_ROOT; }; + 247D8122E426D1FC239D36918CE3C0C5 /* SomeFile */ = {isa = PBXFileReference; path = SomeFile; sourceTree = ""; }; + 25F603F3FBBAB0B8947331C9190A6282 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 28C9901BE3ADBC6102849237424B03D6 /* iMessageExtension.appex */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.app-extension"; path = iMessageExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 2923CD786EB965107819EFF08193E672 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 2E871C49A75D636E1E87F8904C5BA3D9 /* en */ = {isa = PBXFileReference; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = ""; }; + 31F27C0F2868434258A846C4ADE4B35A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 354650483D8F76CB15A0FB0A99D2657F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; + 3F8D809984627520BE1811A1AC9B1AD9 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.module; path = module.modulemap; sourceTree = ""; }; + 42CEA852937FACF2B5D933EC8EC14418 /* App_watchOS Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "App_watchOS Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; + 4B711E3A23DD91E764A249E83C1D84E3 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; + 508B113F244D2D7F7731ED871B2F16DA /* XPC_Service.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPC_Service.m; sourceTree = ""; }; + 523DB06F1851416DDCF4B7616911B6CB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 5878F070E087ECAECE45ADD20BE9D635 /* StaticLibrary_ObjC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StaticLibrary_ObjC.h; sourceTree = ""; }; + 5FA5EA11F66D659044AB1FB5496EBF25 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 5FCB8A69D323BC3CA127642FCFD887A6 /* Empty.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Empty.h; sourceTree = ""; }; + 6237064EDBE405135BC1CE7DE20A131C /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; + 67BB19DDA48C227FF6E676B89FDFCAEB /* MessagesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessagesViewController.swift; sourceTree = ""; }; + 6B9588F9AA980468B26837ADE36D0D2E /* Base */ = {isa = PBXFileReference; name = Base; path = Base.lproj/Localizable.stringsdict; sourceTree = ""; }; + 7047649EC963EC43D7BC538E7D8607CC /* SomeXPCService.xpc */ = {isa = PBXFileReference; path = SomeXPCService.xpc; sourceTree = ""; }; + 715B87EA4FFA97FECCBA0D1D269A19F4 /* StaticLibrary_Swift.a */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = archive.ar; path = StaticLibrary_Swift.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 72AE3D8A409EF0F4D17EA0BD0EC3BFFA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 75B653BE433FA2C7F27E0DD742C56972 /* StaticLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StaticLibrary.swift; sourceTree = ""; }; + 77532D0489A67876EE56705C71C908C6 /* XPC_Service.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPC_Service.h; sourceTree = ""; }; + 7A5E91CF52DCCAC8D07B999177AAB3B7 /* Standalone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Standalone.swift; sourceTree = ""; }; + 7AF3ACEAC55D3B6352EED8415D5B2951 /* Mintfile */ = {isa = PBXFileReference; path = Mintfile; sourceTree = ""; }; + 7B0B64C16BE3E860FA96760027A29C74 /* MyFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFramework.h; sourceTree = ""; }; + 7D4316EA80F87D5B5ED86E105CE1FE35 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; + 80294B8FAECA0DC3B83DC6D2FC6FBE59 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 81E39751EDA257E7F7946E95A67FDBBD /* InterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InterfaceController.swift; sourceTree = ""; }; + 84A2F7FD70C38F7B09D6809A2586E1A7 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.module; path = module.modulemap; sourceTree = ""; }; + 88CE11E8D928D43BCC70F12A5576D511 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8AFEF032B9B258B97EFBD5B5AA741E8C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 948EA9EE1BAE66408843BF6200620E70 /* StaticLibrary_ObjC.a */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = archive.ar; path = StaticLibrary_ObjC.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 9FD5A8B54C9F429451BCCCC3F04CDB99 /* App_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App_iOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; + A444869BCBB55167EF043EEFFD075A78 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A59DAE760F32225493BDC5D378468EA9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = ""; }; + AC31952D4BF4BB8CC21459D75DCB7DC9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + AE0CDFA0B5B4F5D2FBB870B59FE51154 /* App_macOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App_macOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; + AFDDC1A69B4B2637D36C39EE01DF23C3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B71DECBD66A150B303E116D2F05C0B4E /* ExtensionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = ""; }; + B9F777771795CF517CFB5FE931917C46 /* StaticLibrary_ObjC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StaticLibrary_ObjC.m; sourceTree = ""; }; + BD07DCE20104773C42E7617A09A55BD5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C64021D20FD55B89CE1AFE88AE7C1CDD /* config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = config.xcconfig; sourceTree = ""; }; + C67AA6BA96CF5A5E2A3FBED848E6C3D4 /* MyBundle.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = MyBundle.bundle; sourceTree = ""; }; + C7F72C86B98DCABE16D17DDC9894C845 /* App_iOS_Tests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = App_iOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + C8822458902508063262BA655921BA2F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + CFF173E643CE5FF0AE955580CB2B6641 /* App_watchOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App_watchOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D26369BE2A7A98A736F7A13BA924A4A2 /* iMessageApp.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = iMessageApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D68FD4BD70DF5429E43E14A65FDF9D81 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + D99F14029800E2D9F2434C4B6D718A5E /* Model.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Model.xcdatamodel; sourceTree = ""; }; + DB194C9EF763551CE2D5131407E8CF1C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/LocalizedStoryboard.strings; sourceTree = ""; }; + DBF5F2565C6807B74F18D4ACCE28D071 /* XPC Service.xpc */ = {isa = PBXFileReference; includeInIndex = 0; path = "XPC Service.xpc"; sourceTree = BUILT_PRODUCTS_DIR; }; + E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EABA2B52871944E6E80A12C64E198883 /* App_iOS_UITests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = App_iOS_UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + EC5C7923578F1110EE9EE74505530753 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + EF485495979F5EF324B541071E00D33B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + F04030C0892CAC78F4B4376F938018E3 /* Model 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Model 3.xcdatamodel"; sourceTree = ""; }; + F435E28C9379AF718A5D502BF3B2FB26 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + F56A7C74F4A75492F063A0A5BDBBF65C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LocalizedStoryboard.storyboard; sourceTree = ""; }; + F8D572C96FEC4C18AE61EB3D4D84466C /* XPC_ServiceProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPC_ServiceProtocol.h; sourceTree = ""; }; + F9C71345D3886B5E2221F4441BD871D5 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = ""; }; + FBF4C9FD09B493401414CA2F3086041F /* Model 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Model 2.xcdatamodel"; sourceTree = ""; }; + FFA022D59DE3CD80EDCC5CCEC6DB29C7 /* Folder */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Folder; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - FBP_32467107793 /* Frameworks */ = { + 1D124A23C4D38CE6B023194E85A64BBA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_415651546539 /* Alamofire.framework in Frameworks */, + 01E1BB1F24B4A80B8FC21EC54DDAFCFB /* Alamofire.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBP_43870453850 /* Frameworks */ = { + 266AF93F95F8ECC5F62E443DD79D4263 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_898051828670 /* Alamofire.framework in Frameworks */, + 12BB537967032E2ECE176F4F6BD7FEF1 /* Alamofire.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBP_47229604241 /* Frameworks */ = { + 3730EBC6001089E597081CA9CF12AF52 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_742449020987 /* Alamofire.framework in Frameworks */, + 2B3F156D5B5BB22B1A6955B8B43F417F /* Alamofire.framework in Frameworks */, + F25CA48D38ED8577DF81395CFBFF0FA5 /* Framework.framework in Frameworks */, + 142F53A6CDA1596543042CFD876E1B17 /* StaticLibrary_ObjC.a in Frameworks */, + 2A8A171902ADC287F600AAB4C3020AA3 /* SomeFramework.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBP_48098211678 /* Frameworks */ = { + 6F3C985C6701880E8731C4AAFBDC9FEF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_535236390262 /* Alamofire.framework in Frameworks */, - BF_597639300414 /* Framework.framework in Frameworks */, - BF_770495922915 /* StaticLibrary_ObjC.a in Frameworks */, + 959956C14A10B778A0CF1618CA4BC63C /* Alamofire.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBP_50702349225 /* Frameworks */ = { + 78E2554EF343D4CF421577E8651E5480 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_217053936758 /* Alamofire.framework in Frameworks */, + 60677C8B465E055458D1DF51F0EC0A90 /* Alamofire.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBP_52511912046 /* Frameworks */ = { + C79A51DBA8AF7631AEF22BA83E104A04 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_854691035877 /* Alamofire.framework in Frameworks */, + 166B4DE0C553AC808EA56CB57358CD95 /* Alamofire.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBP_66231583718 /* Frameworks */ = { + C8CA7D5902F866D50BF6F9A24BF1D10A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_139519317795 /* Alamofire.framework in Frameworks */, + 2F3C2D29AD1524C2DAA8601042880BF1 /* Alamofire.framework in Frameworks */, + FA69E7367B9D2F2CB97F57AE7984D9BD /* Framework.framework in Frameworks */, + 3F6CF73FD22CC393D7A5EA3B0C66C24C /* StaticLibrary_ObjC.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBP_82523211050 /* Frameworks */ = { + F6C2490C6497837A21966090C77C3602 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BF_458111705914 /* Alamofire.framework in Frameworks */, - BF_324363145049 /* Framework.framework in Frameworks */, - BF_943177036061 /* StaticLibrary_ObjC.a in Frameworks */, - BF_215463341392 /* SomeFramework.framework in Frameworks */, + 718D11FA2B62EFF8783CF9693CEFC64F /* Alamofire.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - G_1235039993875 /* App_iOS_UITests */ = { + 0637537049544BDB5A2EB886E765A6C8 /* Module */ = { isa = PBXGroup; children = ( - FR_643034527839 /* Info.plist */, - FR_145531354566 /* TestProjectUITests.swift */, - ); - path = App_iOS_UITests; - sourceTree = ""; - }; - G_1646573205915 /* iMessage MessagesExtension */ = { - isa = PBXGroup; - children = ( - FR_830053537293 /* Assets.xcassets */, - FR_948931241088 /* Info.plist */, - VG_201160695646 /* MainInterface.storyboard */, - FR_310979699934 /* MessagesViewController.swift */, - ); - path = "iMessage MessagesExtension"; - sourceTree = ""; - }; - G_1885780145626 /* CopyFiles */ = { - isa = PBXGroup; - children = ( - FR_837374194182 /* Empty.h */, - ); - path = CopyFiles; - sourceTree = ""; - }; - G_1952740716080 /* Frameworks */ = { - isa = PBXGroup; - children = ( - G_2883690153011 /* Carthage */, - FR_654302359039 /* SomeFramework.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - G_2262017438925 /* iOS */ = { - isa = PBXGroup; - children = ( - FR_410645050443 /* Alamofire.framework */, - ); - path = iOS; - sourceTree = ""; - }; - G_2262017442691 /* Mac */ = { - isa = PBXGroup; - children = ( - FR_257516580010 /* Alamofire.framework */, - ); - path = Mac; - sourceTree = ""; - }; - G_2883690153011 /* Carthage */ = { - isa = PBXGroup; - children = ( - G_2262017438925 /* iOS */, - G_2262017442691 /* Mac */, - G_8628897169668 /* tvOS */, - G_8244488572839 /* watchOS */, - ); - name = Carthage; - path = Carthage/Build; - sourceTree = ""; - }; - G_3234630030493 /* FileGroup */ = { - isa = PBXGroup; - children = ( - G_8030722683864 /* UnderFileGroup */, - ); - path = FileGroup; - sourceTree = ""; - }; - G_3246710779368 /* App_watchOS */ = { - isa = PBXGroup; - children = ( - FR_587738154368 /* Assets.xcassets */, - FR_293137352077 /* Info.plist */, - VG_264279911176 /* Interface.storyboard */, - ); - path = App_watchOS; - sourceTree = ""; - }; - G_3765690547864 /* XPC Service */ = { - isa = PBXGroup; - children = ( - FR_803921963291 /* Info.plist */, - FR_151462316179 /* main.m */, - FR_602719163962 /* XPC_Service.h */, - FR_602719163945 /* XPC_Service.m */, - FR_739513596122 /* XPC_ServiceProtocol.h */, - ); - path = "XPC Service"; - sourceTree = ""; - }; - G_3997550084026 /* StaticLibrary_ObjC */ = { - isa = PBXGroup; - children = ( - G_5938599606592 /* Module */, - FR_698230898030 /* StaticLibrary_ObjC.h */, - "FR_698230898030-1" /* StaticLibrary_ObjC.m */, - ); - path = StaticLibrary_ObjC; - sourceTree = ""; - }; - G_4371791668439 /* StaticLibrary_Swift */ = { - isa = PBXGroup; - children = ( - FR_470929579339 /* StaticLibrary.swift */, - ); - path = StaticLibrary_Swift; - sourceTree = ""; - }; - G_4661500274312 /* Framework */ = { - isa = PBXGroup; - children = ( - FR_172952167809 /* FrameworkFile.swift */, - FR_247808626608 /* Info.plist */, - FR_183521624014 /* MyFramework.h */, - ); - path = Framework; - sourceTree = ""; - }; - G_4793969390202 /* Vendor */ = { - isa = PBXGroup; - children = ( - FR_229826849033 /* SomeXPCService.xpc */, - ); - path = Vendor; - sourceTree = ""; - }; - G_5070234922517 /* App_watchOS Extension */ = { - isa = PBXGroup; - children = ( - FR_987043315473 /* Assets.xcassets */, - FR_340586388409 /* ExtensionDelegate.swift */, - FR_530852296303 /* Info.plist */, - FR_363921640403 /* InterfaceController.swift */, - FR_304712043717 /* NotificationController.swift */, - FR_748548478992 /* PushNotificationPayload.apns */, - ); - path = "App_watchOS Extension"; - sourceTree = ""; - }; - G_5938599606592 /* Module */ = { - isa = PBXGroup; - children = ( - FR_665156855283 /* module.modulemap */, + 84A2F7FD70C38F7B09D6809A2586E1A7 /* module.modulemap */, ); path = Module; sourceTree = ""; }; - G_6651250437419 /* StandaloneFiles */ = { + 09F7EC373CEDA69072DC9D77495F0E25 /* App_iOS_UITests */ = { isa = PBXGroup; children = ( - FR_675266829517 /* Standalone.swift */, - FR_408537768279 /* StandaloneAssets.xcassets */, + 31F27C0F2868434258A846C4ADE4B35A /* Info.plist */, + 0BE8C8DF245700F7E0EF36D9F2B8C0E3 /* TestProjectUITests.swift */, ); - path = StandaloneFiles; + path = App_iOS_UITests; sourceTree = ""; }; - G_7189434949822 /* Resources */ = { + 17999F76E13B84D118972DC03BCEA6F2 /* App_iOS_Tests */ = { isa = PBXGroup; children = ( - FR_238161558082 /* MyBundle.bundle */, - ); - path = Resources; - sourceTree = ""; - }; - G_7831228999101 /* App_iOS_Tests */ = { - isa = PBXGroup; - children = ( - FR_655678458041 /* Info.plist */, - FR_722239415598 /* TestProjectTests.swift */, + BD07DCE20104773C42E7617A09A55BD5 /* Info.plist */, + 0248345678C3EEA7143459B634AB4F99 /* TestProjectTests.swift */, ); path = App_iOS_Tests; sourceTree = ""; }; - G_8030722683864 /* UnderFileGroup */ = { + 1AAEB7BBE834CAB4A205069AE3E0AF11 /* Frameworks */ = { isa = PBXGroup; children = ( - FR_196911129660 /* MoreUnder.swift */, + F4476AACF02F14D7CACC61F1763C176B /* Carthage */, + 065FC8C30C4E0AB09C1E77734E46F252 /* SomeFramework.framework */, ); - path = UnderFileGroup; + name = Frameworks; sourceTree = ""; }; - G_8244488572839 /* watchOS */ = { + 215025EF88E84A49861B7B0A717D575C /* Configs */ = { isa = PBXGroup; children = ( - FR_752394658615 /* Alamofire.framework */, + 0BFEFFB973F5EEEF285D98AB90CFC9B0 /* base.xcconfig */, + C64021D20FD55B89CE1AFE88AE7C1CDD /* config.xcconfig */, ); - path = watchOS; + path = Configs; sourceTree = ""; }; - G_8252321105004 /* App */ = { + 384C5FF5A3C798619B2A3F5A9C654EE3 /* Resources */ = { isa = PBXGroup; children = ( - FR_854336462818 /* AppDelegate.swift */, - FR_868653349092 /* Assets.xcassets */, - FR_725187762757 /* Info.plist */, - VG_256263906698 /* LaunchScreen.storyboard */, - VG_473000061463 /* Localizable.strings */, - VG_746876637628 /* Localizable.stringsdict */, - VG_118219888726 /* LocalizedStoryboard.storyboard */, - VG_609193904586 /* Main.storyboard */, - VG_229021855709 /* Model.xcdatamodeld */, - FR_461737784133 /* module.modulemap */, - FR_481575785861 /* ViewController.swift */, + C67AA6BA96CF5A5E2A3FBED848E6C3D4 /* MyBundle.bundle */, + ); + path = Resources; + sourceTree = ""; + }; + 4AD39BFA18B0D81C8C8BA3425FE6E91A /* Framework */ = { + isa = PBXGroup; + children = ( + 0F657AA556F579E2C56BC6BC04E3CAF4 /* FrameworkFile.swift */, + 25F603F3FBBAB0B8947331C9190A6282 /* Info.plist */, + 7B0B64C16BE3E860FA96760027A29C74 /* MyFramework.h */, + ); + path = Framework; + sourceTree = ""; + }; + 56936C3686A0928B34562E16F94536C8 /* App_watchOS */ = { + isa = PBXGroup; + children = ( + 0C43CE340B78E88FE95F7E8DF5EC35D2 /* Assets.xcassets */, + 88CE11E8D928D43BCC70F12A5576D511 /* Info.plist */, + C358B60A4C6D98BF3CD9B2C0C75FFC31 /* Interface.storyboard */, + ); + path = App_watchOS; + sourceTree = ""; + }; + 5BC30B8BA34DE0A67196277EA184BAAC /* CopyFiles */ = { + isa = PBXGroup; + children = ( + 5FCB8A69D323BC3CA127642FCFD887A6 /* Empty.h */, + ); + path = CopyFiles; + sourceTree = ""; + }; + 61FC1E8D4842FD2FBD2E37F067E943F9 /* iOS */ = { + isa = PBXGroup; + children = ( + 6237064EDBE405135BC1CE7DE20A131C /* Alamofire.framework */, + ); + path = iOS; + sourceTree = ""; + }; + 63A2C5F06E17FA2652DDA338F0A32501 /* StaticLibrary_ObjC */ = { + isa = PBXGroup; + children = ( + 0637537049544BDB5A2EB886E765A6C8 /* Module */, + 5878F070E087ECAECE45ADD20BE9D635 /* StaticLibrary_ObjC.h */, + B9F777771795CF517CFB5FE931917C46 /* StaticLibrary_ObjC.m */, + ); + path = StaticLibrary_ObjC; + sourceTree = ""; + }; + 874A71D4E37BA319FD212D21173C1CED /* iMessage MessagesExtension */ = { + isa = PBXGroup; + children = ( + 80294B8FAECA0DC3B83DC6D2FC6FBE59 /* Assets.xcassets */, + 72AE3D8A409EF0F4D17EA0BD0EC3BFFA /* Info.plist */, + 81F7E21FBB8DA98ECF0A51099CDAF2EE /* MainInterface.storyboard */, + 67BB19DDA48C227FF6E676B89FDFCAEB /* MessagesViewController.swift */, + ); + path = "iMessage MessagesExtension"; + sourceTree = ""; + }; + B2AA9B645D928F657D399D8F62BB4DDC /* App_watchOS Extension */ = { + isa = PBXGroup; + children = ( + 523DB06F1851416DDCF4B7616911B6CB /* Assets.xcassets */, + B71DECBD66A150B303E116D2F05C0B4E /* ExtensionDelegate.swift */, + AFDDC1A69B4B2637D36C39EE01DF23C3 /* Info.plist */, + 81E39751EDA257E7F7946E95A67FDBBD /* InterfaceController.swift */, + 01801EB5629DB3812650E5E47F3362C8 /* NotificationController.swift */, + 11DBDC38AD04D9F24454201311335431 /* PushNotificationPayload.apns */, + ); + path = "App_watchOS Extension"; + sourceTree = ""; + }; + BA50A516F5BBC843E3CD4B1845B99334 /* App */ = { + isa = PBXGroup; + children = ( + 10D051136D86691641578C2EB7616D4B /* AppDelegate.swift */, + 083D78A107BD9A58D0F5B30EA9A65E2C /* Assets.xcassets */, + A444869BCBB55167EF043EEFFD075A78 /* Info.plist */, + 9835A83F1E5D8E22848E171BA3C2DBA6 /* LaunchScreen.storyboard */, + E005A2734C32783354AAB8546A12718B /* Localizable.strings */, + 466B302E661DE3B3972203B31F4AFED4 /* Localizable.stringsdict */, + 49A30AD670910672DABA8B736EECBAEB /* LocalizedStoryboard.storyboard */, + 8EAFD105FB449C592C944D3003203AB5 /* Main.storyboard */, + 32AE52CAD620F8B92487AA4F5924D0EC /* Model.xcdatamodeld */, + 3F8D809984627520BE1811A1AC9B1AD9 /* module.modulemap */, + D68FD4BD70DF5429E43E14A65FDF9D81 /* ViewController.swift */, ); name = App; path = App_iOS; sourceTree = ""; }; - G_8268950006174 /* iMessage */ = { + BEB2E21F3B6F8B8E6CA0CB877DE3D47D /* Vendor */ = { isa = PBXGroup; children = ( - FR_377082606829 /* Assets.xcassets */, - FR_505327409380 /* Info.plist */, + 7047649EC963EC43D7BC538E7D8607CC /* SomeXPCService.xpc */, + ); + path = Vendor; + sourceTree = ""; + }; + C27E200F9D2708164A4BDD75B7A861BC /* StandaloneFiles */ = { + isa = PBXGroup; + children = ( + 7A5E91CF52DCCAC8D07B999177AAB3B7 /* Standalone.swift */, + 02537F8F3DAD9BF1F249FF662131F1F5 /* StandaloneAssets.xcassets */, + ); + path = StandaloneFiles; + sourceTree = ""; + }; + C30E33740CB17218735DAE1FFFC565AE /* FileGroup */ = { + isa = PBXGroup; + children = ( + D81BDF703E98A5351121B96103BD52A6 /* UnderFileGroup */, + ); + path = FileGroup; + sourceTree = ""; + }; + D59738133ECA1ACC9C32CAD22FBEF0F4 /* StaticLibrary_Swift */ = { + isa = PBXGroup; + children = ( + 75B653BE433FA2C7F27E0DD742C56972 /* StaticLibrary.swift */, + ); + path = StaticLibrary_Swift; + sourceTree = ""; + }; + D81BDF703E98A5351121B96103BD52A6 /* UnderFileGroup */ = { + isa = PBXGroup; + children = ( + 1359BCAE8548E7063115210477D5CB83 /* MoreUnder.swift */, + ); + path = UnderFileGroup; + sourceTree = ""; + }; + DA18B6EB7FF6E1DAACDFA5EB93833C54 /* watchOS */ = { + isa = PBXGroup; + children = ( + 7D4316EA80F87D5B5ED86E105CE1FE35 /* Alamofire.framework */, + ); + path = watchOS; + sourceTree = ""; + }; + E0B77C999E8E6D192A135A06E7331C27 /* Mac */ = { + isa = PBXGroup; + children = ( + 4B711E3A23DD91E764A249E83C1D84E3 /* Alamofire.framework */, + ); + path = Mac; + sourceTree = ""; + }; + ECD23E49A0CA25E14EC0D028673840D6 /* iMessage */ = { + isa = PBXGroup; + children = ( + EF485495979F5EF324B541071E00D33B /* Assets.xcassets */, + 2923CD786EB965107819EFF08193E672 /* Info.plist */, ); path = iMessage; sourceTree = ""; }; - G_8340618952527 /* Configs */ = { + EDFE6B7A5CE9583846B704EE371675F2 = { isa = PBXGroup; children = ( - FR_635802719871 /* base.xcconfig */, - FR_660690926982 /* config.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - G_8448771205358 = { - isa = PBXGroup; - children = ( - G_8252321105004 /* App */, - G_7831228999101 /* App_iOS_Tests */, - G_1235039993875 /* App_iOS_UITests */, - G_3246710779368 /* App_watchOS */, - G_5070234922517 /* App_watchOS Extension */, - G_8340618952527 /* Configs */, - G_1885780145626 /* CopyFiles */, - G_3234630030493 /* FileGroup */, - G_4661500274312 /* Framework */, - G_8268950006174 /* iMessage */, - G_1646573205915 /* iMessage MessagesExtension */, - G_7189434949822 /* Resources */, - G_6651250437419 /* StandaloneFiles */, - G_3997550084026 /* StaticLibrary_ObjC */, - G_4371791668439 /* StaticLibrary_Swift */, - G_4793969390202 /* Vendor */, - G_3765690547864 /* XPC Service */, - FR_479281060337 /* Folder */, - FR_815403394914 /* Headers */, - FR_232605427418 /* Mintfile */, - FR_257073931060 /* ResourceFolder */, - FR_775316160345 /* SomeFile */, - G_1952740716080 /* Frameworks */, - G_8620238527590 /* Products */, + BA50A516F5BBC843E3CD4B1845B99334 /* App */, + 17999F76E13B84D118972DC03BCEA6F2 /* App_iOS_Tests */, + 09F7EC373CEDA69072DC9D77495F0E25 /* App_iOS_UITests */, + 56936C3686A0928B34562E16F94536C8 /* App_watchOS */, + B2AA9B645D928F657D399D8F62BB4DDC /* App_watchOS Extension */, + 215025EF88E84A49861B7B0A717D575C /* Configs */, + 5BC30B8BA34DE0A67196277EA184BAAC /* CopyFiles */, + C30E33740CB17218735DAE1FFFC565AE /* FileGroup */, + 4AD39BFA18B0D81C8C8BA3425FE6E91A /* Framework */, + ECD23E49A0CA25E14EC0D028673840D6 /* iMessage */, + 874A71D4E37BA319FD212D21173C1CED /* iMessage MessagesExtension */, + 384C5FF5A3C798619B2A3F5A9C654EE3 /* Resources */, + C27E200F9D2708164A4BDD75B7A861BC /* StandaloneFiles */, + 63A2C5F06E17FA2652DDA338F0A32501 /* StaticLibrary_ObjC */, + D59738133ECA1ACC9C32CAD22FBEF0F4 /* StaticLibrary_Swift */, + BEB2E21F3B6F8B8E6CA0CB877DE3D47D /* Vendor */, + F37F48EF1C25643F0E408DC3E115895A /* XPC Service */, + FFA022D59DE3CD80EDCC5CCEC6DB29C7 /* Folder */, + 224967658A2D92DC2BD9D665A1CA1F5F /* Headers */, + 7AF3ACEAC55D3B6352EED8415D5B2951 /* Mintfile */, + 138DC1A4CB4E585A69355474092AE0E0 /* ResourceFolder */, + 247D8122E426D1FC239D36918CE3C0C5 /* SomeFile */, + 1AAEB7BBE834CAB4A205069AE3E0AF11 /* Frameworks */, + FC1E35057FBB1EE0597B70D0D9EDF4EE /* Products */, ); indentWidth = 2; sourceTree = ""; tabWidth = 2; usesTabs = 0; }; - G_8620238527590 /* Products */ = { + EF06950CAC36EBAD861CAD7CA561D440 /* tvOS */ = { isa = PBXGroup; children = ( - FR_783122899910 /* App_iOS_Tests.xctest */, - FR_123503999387 /* App_iOS_UITests.xctest */, - FR_825232110500 /* App_iOS.app */, - FR_480982116789 /* App_macOS.app */, - FR_507023492251 /* App_watchOS Extension.appex */, - FR_324671077936 /* App_watchOS.app */, - FR_525119120469 /* Framework.framework */, - FR_662315837182 /* Framework.framework */, - FR_438704538506 /* Framework.framework */, - FR_472296042419 /* Framework.framework */, - FR_935153865209 /* iMessageApp.app */, - FR_618687462494 /* iMessageExtension.appex */, - FR_399755008402 /* StaticLibrary_ObjC.a */, - FR_437179166843 /* StaticLibrary_Swift.a */, - FR_376569054786 /* XPC Service.xpc */, - ); - name = Products; - sourceTree = ""; - }; - G_8628897169668 /* tvOS */ = { - isa = PBXGroup; - children = ( - FR_452853029807 /* Alamofire.framework */, + F9C71345D3886B5E2221F4441BD871D5 /* Alamofire.framework */, ); path = tvOS; sourceTree = ""; }; + F37F48EF1C25643F0E408DC3E115895A /* XPC Service */ = { + isa = PBXGroup; + children = ( + 8AFEF032B9B258B97EFBD5B5AA741E8C /* Info.plist */, + AC31952D4BF4BB8CC21459D75DCB7DC9 /* main.m */, + 77532D0489A67876EE56705C71C908C6 /* XPC_Service.h */, + 508B113F244D2D7F7731ED871B2F16DA /* XPC_Service.m */, + F8D572C96FEC4C18AE61EB3D4D84466C /* XPC_ServiceProtocol.h */, + ); + path = "XPC Service"; + sourceTree = ""; + }; + F4476AACF02F14D7CACC61F1763C176B /* Carthage */ = { + isa = PBXGroup; + children = ( + 61FC1E8D4842FD2FBD2E37F067E943F9 /* iOS */, + E0B77C999E8E6D192A135A06E7331C27 /* Mac */, + EF06950CAC36EBAD861CAD7CA561D440 /* tvOS */, + DA18B6EB7FF6E1DAACDFA5EB93833C54 /* watchOS */, + ); + name = Carthage; + path = Carthage/Build; + sourceTree = ""; + }; + FC1E35057FBB1EE0597B70D0D9EDF4EE /* Products */ = { + isa = PBXGroup; + children = ( + C7F72C86B98DCABE16D17DDC9894C845 /* App_iOS_Tests.xctest */, + EABA2B52871944E6E80A12C64E198883 /* App_iOS_UITests.xctest */, + 9FD5A8B54C9F429451BCCCC3F04CDB99 /* App_iOS.app */, + AE0CDFA0B5B4F5D2FBB870B59FE51154 /* App_macOS.app */, + 42CEA852937FACF2B5D933EC8EC14418 /* App_watchOS Extension.appex */, + CFF173E643CE5FF0AE955580CB2B6641 /* App_watchOS.app */, + E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */, + E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */, + E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */, + E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */, + D26369BE2A7A98A736F7A13BA924A4A2 /* iMessageApp.app */, + 28C9901BE3ADBC6102849237424B03D6 /* iMessageExtension.appex */, + 948EA9EE1BAE66408843BF6200620E70 /* StaticLibrary_ObjC.a */, + 715B87EA4FFA97FECCBA0D1D269A19F4 /* StaticLibrary_Swift.a */, + DBF5F2565C6807B74F18D4ACCE28D071 /* XPC Service.xpc */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - HBP_43870453850 /* Headers */ = { + 440F7F1F9382CEDD92D75B89E25552D5 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BF_239684316986 /* Headers in Headers */, - BF_813358525536 /* MyFramework.h in Headers */, + E249D28B974B22ED41B7BAE7A1CC7468 /* Headers in Headers */, + 486E2AABDE448C496C0FCC393A35E669 /* MyFramework.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - HBP_47229604241 /* Headers */ = { + 9C424B9F3AFC563C6A6CE8FA124F8801 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BF_510053944904 /* Headers in Headers */, - BF_425679397292 /* MyFramework.h in Headers */, + FF688241378D1AE956E9A9F46EEBCFAA /* Headers in Headers */, + 6013ED0F37BB222A6B44D0CB89CE69AE /* MyFramework.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - HBP_52511912046 /* Headers */ = { + A08871F94C4ADE4FF10D349F4ECC06C9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BF_905617636654 /* Headers in Headers */, - BF_496472559782 /* MyFramework.h in Headers */, + 44B62E9C097529F3D5C7A44A5F777A61 /* Headers in Headers */, + 11620E0E3097992FFB14B60ADB580C14 /* MyFramework.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - HBP_66231583718 /* Headers */ = { + B6AA01763EF8349E60D1FA4E652778F3 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BF_259448131292 /* Headers in Headers */, - BF_734036107922 /* MyFramework.h in Headers */, + 702E56BFA3B2A830E24D74FCA3A33D55 /* Headers in Headers */, + 8CF2462D2181DDDA1A8E8A1F176F9A47 /* MyFramework.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXLegacyTarget section */ - LT_479264660374 /* Legacy */ = { + D47258787A296733EB9A496796369EDC /* Legacy */ = { isa = PBXLegacyTarget; - buildConfigurationList = CL_479264660374 /* Build configuration list for PBXLegacyTarget "Legacy" */; + buildConfigurationList = 7523052A5C96494802A0431E05947F67 /* Build configuration list for PBXLegacyTarget "Legacy" */; buildPhases = ( - SBP_47926466037 /* Sources */, + 634CFCBFE3760F2A0288F1BF42B66FF9 /* Sources */, ); buildToolPath = /usr/bin/true; dependencies = ( @@ -857,191 +854,87 @@ /* End PBXLegacyTarget section */ /* Begin PBXNativeTarget section */ - NT_123503999387 /* App_iOS_UITests */ = { + 24B389B0959F4A6CB05BB732DABDFE40 /* iMessageApp */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_123503999387 /* Build configuration list for PBXNativeTarget "App_iOS_UITests" */; + buildConfigurationList = 59C3AA3AEA5802DA17DF9B42615D9B6B /* Build configuration list for PBXNativeTarget "iMessageApp" */; buildPhases = ( - SBP_12350399938 /* Sources */, - CFBP_4082141876 /* Embed Frameworks */, + 1C8F955BEA261BDB36838B408C2D7D23 /* Sources */, + DFB4932D20872BF046F9902EB430C6B6 /* Resources */, + 8C62857F0DCEBB22C299F26FCCE769F9 /* Embed App Extensions */, ); buildRules = ( ); dependencies = ( - TD_676191581124 /* PBXTargetDependency */, + D976477E0195A8FFD5043C8BBD4B67C4 /* PBXTargetDependency */, ); - name = App_iOS_UITests; - productName = App_iOS_UITests; - productReference = FR_123503999387 /* App_iOS_UITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; + name = iMessageApp; + productName = iMessageApp; + productReference = D26369BE2A7A98A736F7A13BA924A4A2 /* iMessageApp.app */; + productType = "com.apple.product-type.application.messages"; }; - NT_324671077936 /* App_watchOS */ = { + 2563A01E1A5E949F2AE1CD7308779FE3 /* Framework_tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_324671077936 /* Build configuration list for PBXNativeTarget "App_watchOS" */; + buildConfigurationList = 0AA719054B034D653457F3861CE722A9 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */; buildPhases = ( - SBP_32467107793 /* Sources */, - RBP_32467107793 /* Resources */, - FBP_32467107793 /* Frameworks */, - CFBP_4684049960 /* Embed App Extensions */, - SSBP_5954948530 /* Carthage */, + E74DACDAB11D89D5B824405B81E48D89 /* Sources */, + B6AA01763EF8349E60D1FA4E652778F3 /* Headers */, + C79A51DBA8AF7631AEF22BA83E104A04 /* Frameworks */, + ADF413AF548A97CB33898BB4F6211314 /* MyScript */, ); buildRules = ( ); dependencies = ( - TD_193291182921 /* PBXTargetDependency */, + 63D97355ECD5B9E4B835338653920BC1 /* PBXTargetDependency */, ); - name = App_watchOS; - productName = App_watchOS; - productReference = FR_324671077936 /* App_watchOS.app */; - productType = "com.apple.product-type.application.watchapp2"; + name = Framework_tvOS; + productName = Framework_tvOS; + productReference = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; + productType = "com.apple.product-type.framework"; }; - NT_376569054786 /* XPC Service */ = { + 347AE2E7B939A276DEE77148A708FDE4 /* Framework_watchOS */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_376569054786 /* Build configuration list for PBXNativeTarget "XPC Service" */; + buildConfigurationList = CCF68725DCD5EF7FD03872D0B98C32F0 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */; buildPhases = ( - SBP_37656905478 /* Sources */, + A0301004CBF36C0004B23102202FA9FE /* Sources */, + 9C424B9F3AFC563C6A6CE8FA124F8801 /* Headers */, + F6C2490C6497837A21966090C77C3602 /* Frameworks */, + DABB7DFD3C5DB4EAC8C5D24C79EA4E35 /* MyScript */, ); buildRules = ( ); dependencies = ( - ); - name = "XPC Service"; - productName = "XPC Service"; - productReference = FR_376569054786 /* XPC Service.xpc */; - productType = "com.apple.product-type.xpc-service"; - }; - NT_399755008402 /* StaticLibrary_ObjC */ = { - isa = PBXNativeTarget; - buildConfigurationList = CL_399755008402 /* Build configuration list for PBXNativeTarget "StaticLibrary_ObjC" */; - buildPhases = ( - SBP_39975500840 /* Sources */, - CFBP_3265670993 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StaticLibrary_ObjC; - productName = StaticLibrary_ObjC; - productReference = FR_399755008402 /* StaticLibrary_ObjC.a */; - productType = "com.apple.product-type.library.static"; - }; - NT_437179166843 /* StaticLibrary_Swift */ = { - isa = PBXNativeTarget; - buildConfigurationList = CL_437179166843 /* Build configuration list for PBXNativeTarget "StaticLibrary_Swift" */; - buildPhases = ( - SBP_43717916684 /* Sources */, - SSBP_5390042403 /* Copy Swift Objective-C Interface Header */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StaticLibrary_Swift; - productName = StaticLibrary_Swift; - productReference = FR_437179166843 /* StaticLibrary_Swift.a */; - productType = "com.apple.product-type.library.static"; - }; - NT_438704538506 /* Framework_watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CL_438704538506 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */; - buildPhases = ( - HBP_43870453850 /* Headers */, - SBP_43870453850 /* Sources */, - FBP_43870453850 /* Frameworks */, - SSBP_2467869845 /* MyScript */, - ); - buildRules = ( - ); - dependencies = ( - TD_784412347908 /* PBXTargetDependency */, + 7E5A83C554576126BB5DB76070940A42 /* PBXTargetDependency */, ); name = Framework_watchOS; productName = Framework_watchOS; - productReference = FR_438704538506 /* Framework.framework */; + productReference = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; productType = "com.apple.product-type.framework"; }; - NT_472296042419 /* Framework_iOS */ = { + 6805881B1B6A80ABD523DAF4AFA493E2 /* Framework_macOS */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_472296042419 /* Build configuration list for PBXNativeTarget "Framework_iOS" */; + buildConfigurationList = 9BA95DBD7B862EE1F43DC68338281D0E /* Build configuration list for PBXNativeTarget "Framework_macOS" */; buildPhases = ( - HBP_47229604241 /* Headers */, - SBP_47229604241 /* Sources */, - FBP_47229604241 /* Frameworks */, - SSBP_3886691194 /* MyScript */, + 1411E21883A09388E140C6D123029288 /* Sources */, + A08871F94C4ADE4FF10D349F4ECC06C9 /* Headers */, + 266AF93F95F8ECC5F62E443DD79D4263 /* Frameworks */, + 78EF33E6A08B3BB88D8805DC3588843C /* MyScript */, ); buildRules = ( ); dependencies = ( - TD_667455552356 /* PBXTargetDependency */, - ); - name = Framework_iOS; - productName = Framework_iOS; - productReference = FR_472296042419 /* Framework.framework */; - productType = "com.apple.product-type.framework"; - }; - NT_480982116789 /* App_macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CL_480982116789 /* Build configuration list for PBXNativeTarget "App_macOS" */; - buildPhases = ( - SBP_48098211678 /* Sources */, - CFBP_8368933518 /* CopyFiles */, - FBP_48098211678 /* Frameworks */, - CFBP_4930089528 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - TD_235580504123 /* PBXTargetDependency */, - TD_629038784927 /* PBXTargetDependency */, - TD_743784992411 /* PBXTargetDependency */, - ); - name = App_macOS; - productName = App_macOS; - productReference = FR_480982116789 /* App_macOS.app */; - productType = "com.apple.product-type.application"; - }; - NT_507023492251 /* App_watchOS Extension */ = { - isa = PBXNativeTarget; - buildConfigurationList = CL_507023492251 /* Build configuration list for PBXNativeTarget "App_watchOS Extension" */; - buildPhases = ( - SBP_50702349225 /* Sources */, - RBP_50702349225 /* Resources */, - FBP_50702349225 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "App_watchOS Extension"; - productName = "App_watchOS Extension"; - productReference = FR_507023492251 /* App_watchOS Extension.appex */; - productType = "com.apple.product-type.watchkit2-extension"; - }; - NT_525119120469 /* Framework_macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CL_525119120469 /* Build configuration list for PBXNativeTarget "Framework_macOS" */; - buildPhases = ( - HBP_52511912046 /* Headers */, - SBP_52511912046 /* Sources */, - FBP_52511912046 /* Frameworks */, - SSBP_8255377629 /* MyScript */, - ); - buildRules = ( - ); - dependencies = ( - TD_337103940101 /* PBXTargetDependency */, + B7FA3A9932789DFBE8BEDD648C9424B2 /* PBXTargetDependency */, ); name = Framework_macOS; productName = Framework_macOS; - productReference = FR_525119120469 /* Framework.framework */; + productReference = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; productType = "com.apple.product-type.framework"; }; - NT_618687462494 /* iMessageExtension */ = { + 8A0FE14A3A3815C1F26B447C6178089C /* iMessageExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_618687462494 /* Build configuration list for PBXNativeTarget "iMessageExtension" */; + buildConfigurationList = 330B76D4702856DD55067456FD7A4F4A /* Build configuration list for PBXNativeTarget "iMessageExtension" */; buildPhases = ( - SBP_61868746249 /* Sources */, - RBP_61868746249 /* Resources */, + 35714896F7B0D8F151E1A3B4C04AE0DB /* Sources */, + 32ECF2BB5AFA1C4E9A0F6DFE1417110E /* Resources */, ); buildRules = ( ); @@ -1049,113 +942,204 @@ ); name = iMessageExtension; productName = iMessageExtension; - productReference = FR_618687462494 /* iMessageExtension.appex */; + productReference = 28C9901BE3ADBC6102849237424B03D6 /* iMessageExtension.appex */; productType = "com.apple.product-type.app-extension.messages"; }; - NT_662315837182 /* Framework_tvOS */ = { + 8CDD0FC5B69DB55054CAECF513716138 /* App_iOS_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_662315837182 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */; + buildConfigurationList = 4DF366239AC6F6E9EE59EEA525319ABA /* Build configuration list for PBXNativeTarget "App_iOS_Tests" */; buildPhases = ( - HBP_66231583718 /* Headers */, - SBP_66231583718 /* Sources */, - FBP_66231583718 /* Frameworks */, - SSBP_6331376344 /* MyScript */, + E74227370CF6081A47B8C2AB02479899 /* Sources */, + 31035708668339C7624CD18BC4971F27 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - TD_957476409477 /* PBXTargetDependency */, - ); - name = Framework_tvOS; - productName = Framework_tvOS; - productReference = FR_662315837182 /* Framework.framework */; - productType = "com.apple.product-type.framework"; - }; - NT_783122899910 /* App_iOS_Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CL_783122899910 /* Build configuration list for PBXNativeTarget "App_iOS_Tests" */; - buildPhases = ( - SBP_78312289991 /* Sources */, - CFBP_4626438721 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - TD_887143865471 /* PBXTargetDependency */, + 85A9116EE91FAB1AA6CA20FD4203A941 /* PBXTargetDependency */, ); name = App_iOS_Tests; productName = App_iOS_Tests; - productReference = FR_783122899910 /* App_iOS_Tests.xctest */; + productReference = C7F72C86B98DCABE16D17DDC9894C845 /* App_iOS_Tests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - NT_825232110500 /* App_iOS */ = { + 9F21B9C99E75314E51854589C0A2D40C /* App_watchOS */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_825232110500 /* Build configuration list for PBXNativeTarget "App_iOS" */; + buildConfigurationList = 13FC8BD638A49F585CF46B85EF6E6E4E /* Build configuration list for PBXNativeTarget "App_watchOS" */; buildPhases = ( - SBP_82523211050 /* Sources */, - RBP_82523211050 /* Resources */, - CFBP_7191905390 /* CopyFiles */, - FBP_82523211050 /* Frameworks */, - CFBP_6493932244 /* Embed Frameworks */, - CFBP_2836118931 /* Embed Watch Content */, - SSBP_8106229290 /* Carthage */, - SSBP_5106020372 /* Strip Unused Architectures from Frameworks */, - SSBP_8706434794 /* MyScript */, + 8E6FC06C82186DB3FA95E51EFE18711C /* Sources */, + 24E393E5BC60BE4C18A4E88099C92B0B /* Resources */, + 1D124A23C4D38CE6B023194E85A64BBA /* Frameworks */, + 64735A35127234188A50A9CC433F3D43 /* Embed App Extensions */, + 2F13215A0801F44C3CCF154F3EE02A7B /* Carthage */, ); buildRules = ( ); dependencies = ( - TD_824101787753 /* PBXTargetDependency */, - TD_109724965966 /* PBXTargetDependency */, - TD_721522128177 /* PBXTargetDependency */, - TD_288560876254 /* PBXTargetDependency */, + 586BE274C55FC00DE6BE62A0AAC127F6 /* PBXTargetDependency */, + ); + name = App_watchOS; + productName = App_watchOS; + productReference = CFF173E643CE5FF0AE955580CB2B6641 /* App_watchOS.app */; + productType = "com.apple.product-type.application.watchapp2"; + }; + B145BCFEB550C3DDF48510BB85CDE8DC /* App_iOS_UITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 933D4300D58AA7B25E208357C65F2AD3 /* Build configuration list for PBXNativeTarget "App_iOS_UITests" */; + buildPhases = ( + D037068D88E7DAEB3A373602EE996609 /* Sources */, + 916C69163E65CD06E8BD0CCC8D8227C2 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + A835D5FBAD20741BCF95975E1CD63A7A /* PBXTargetDependency */, + ); + name = App_iOS_UITests; + productName = App_iOS_UITests; + productReference = EABA2B52871944E6E80A12C64E198883 /* App_iOS_UITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; + C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7066464807EABA4728B984B10A24E931 /* Build configuration list for PBXNativeTarget "StaticLibrary_ObjC" */; + buildPhases = ( + 6186DB37B6D48F0D14D3C9300D18BE16 /* Sources */, + 8748CD344E8DDE93B221AA670D93DA94 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StaticLibrary_ObjC; + productName = StaticLibrary_ObjC; + productReference = 948EA9EE1BAE66408843BF6200620E70 /* StaticLibrary_ObjC.a */; + productType = "com.apple.product-type.library.static"; + }; + CBCC05D0B8E90F960AA198981827667B /* App_watchOS Extension */ = { + isa = PBXNativeTarget; + buildConfigurationList = FC084246C395F08CB12677620BAF2399 /* Build configuration list for PBXNativeTarget "App_watchOS Extension" */; + buildPhases = ( + 910907240480D0AFBF32A79A4008D866 /* Sources */, + 918FF44B84209799C8ECD292189E6D55 /* Resources */, + 78E2554EF343D4CF421577E8651E5480 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "App_watchOS Extension"; + productName = "App_watchOS Extension"; + productReference = 42CEA852937FACF2B5D933EC8EC14418 /* App_watchOS Extension.appex */; + productType = "com.apple.product-type.watchkit2-extension"; + }; + D20DB1C7D23BB53FF8FD09BAF451A294 /* StaticLibrary_Swift */ = { + isa = PBXNativeTarget; + buildConfigurationList = F40A414D7A0A13368AC9FB64BA5C73AC /* Build configuration list for PBXNativeTarget "StaticLibrary_Swift" */; + buildPhases = ( + A305A9C4673244353334E95DCDFD735D /* Sources */, + 06FB4F63AAEECCDD060382A3AF8AEF4B /* Copy Swift Objective-C Interface Header */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StaticLibrary_Swift; + productName = StaticLibrary_Swift; + productReference = 715B87EA4FFA97FECCBA0D1D269A19F4 /* StaticLibrary_Swift.a */; + productType = "com.apple.product-type.library.static"; + }; + DB85CB6A2C15660854D634EF1B0C1FAD /* App_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5B1322FEBB7A746BD1BF9227D37A7421 /* Build configuration list for PBXNativeTarget "App_iOS" */; + buildPhases = ( + 1C758FAD884F96BE234FBB1BBE295E97 /* Sources */, + FEFBCD77CD631C182084B94EC52BEE33 /* Resources */, + FE39362C1CB6263D81609FF7975359EE /* CopyFiles */, + 3730EBC6001089E597081CA9CF12AF52 /* Frameworks */, + 1130301AAAB06CA6AE2DBC09B9F82B74 /* Embed Frameworks */, + 800C402270322E33CF2C5DBBAE32DD06 /* Embed Watch Content */, + 712CA3288AD8B0F43FAA19930C53500B /* Carthage */, + 974A437754992A1B4A30613EC766AE2C /* Strip Unused Architectures from Frameworks */, + 70D0BCF93538A104153586A9BF269386 /* MyScript */, + ); + buildRules = ( + ); + dependencies = ( + 10B5BED93CB8C9A5B7BB81E996C7F071 /* PBXTargetDependency */, + 5189C5E269DD98A187BF59169A4FC1D1 /* PBXTargetDependency */, + FA8E2412D27AAD48D0F75809A484D599 /* PBXTargetDependency */, + 16156D2E07BFBB09D5921589B483FF23 /* PBXTargetDependency */, ); name = App_iOS; productName = App_iOS; - productReference = FR_825232110500 /* App_iOS.app */; + productReference = 9FD5A8B54C9F429451BCCCC3F04CDB99 /* App_iOS.app */; productType = "com.apple.product-type.application"; }; - NT_935153865209 /* iMessageApp */ = { + E165F00BB866D2A7087C93650EDB1138 /* App_macOS */ = { isa = PBXNativeTarget; - buildConfigurationList = CL_935153865209 /* Build configuration list for PBXNativeTarget "iMessageApp" */; + buildConfigurationList = 837376727FE2CF4AE46785F0E9561ED1 /* Build configuration list for PBXNativeTarget "App_macOS" */; buildPhases = ( - SBP_93515386520 /* Sources */, - RBP_93515386520 /* Resources */, - CFBP_5460766702 /* Embed App Extensions */, + 25185271EDE7FEEC99372505A683359C /* Sources */, + 0B85189BAB2D1568EECF81226FF3FF97 /* CopyFiles */, + C8CA7D5902F866D50BF6F9A24BF1D10A /* Frameworks */, + DBC722FD0EE319959445B8F14D3EE091 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - TD_317921131342 /* PBXTargetDependency */, + BCAEBFE2D144CD4E9F4042CB793B6FFB /* PBXTargetDependency */, + 8583B3541D71924D376A891CCAD90C80 /* PBXTargetDependency */, + 632C4C9ABCE4E550CC5CC6F87B5C4DBD /* PBXTargetDependency */, ); - name = iMessageApp; - productName = iMessageApp; - productReference = FR_935153865209 /* iMessageApp.app */; - productType = "com.apple.product-type.application.messages"; + name = App_macOS; + productName = App_macOS; + productReference = AE0CDFA0B5B4F5D2FBB870B59FE51154 /* App_macOS.app */; + productType = "com.apple.product-type.application"; + }; + F61DEA90F1B7331EE9B26BBA1F66D1F3 /* XPC Service */ = { + isa = PBXNativeTarget; + buildConfigurationList = 526C1EB2E50CDBABCB448EE2FDF2E5D8 /* Build configuration list for PBXNativeTarget "XPC Service" */; + buildPhases = ( + E32AAD525623BF5008484D641327F1AD /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "XPC Service"; + productName = "XPC Service"; + productReference = DBF5F2565C6807B74F18D4ACCE28D071 /* XPC Service.xpc */; + productType = "com.apple.product-type.xpc-service"; + }; + FE8D0077B0ADF688264AFA16A3FC213E /* Framework_iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = ABBCABD06AD7666C13DD9BAF0C16276E /* Build configuration list for PBXNativeTarget "Framework_iOS" */; + buildPhases = ( + AFF1863F9CDDD4DD0B0EB22A6AD9850A /* Sources */, + 440F7F1F9382CEDD92D75B89E25552D5 /* Headers */, + 6F3C985C6701880E8731C4AAFBDC9FEF /* Frameworks */, + 2983C9312429A22DF5437C4020B9937E /* MyScript */, + ); + buildRules = ( + ); + dependencies = ( + 0F0F18C8C8E08CF4C25A4DA89DB09A3A /* PBXTargetDependency */, + ); + name = Framework_iOS; + productName = Framework_iOS; + productReference = E3C43679A1164385CDC2FCB5DD62C634 /* Framework.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - P_8448771205358 /* Project object */ = { + 48BA824E9883B72747F77581255D9C94 /* Project object */ = { isa = PBXProject; attributes = { LastUpgradeCheck = 0930; - TargetAttributes = { - AT_445731917037 = { - CUSTOM = value; - }; - NT_123503999387 = { - TestTargetID = NT_825232110500; - }; - NT_480982116789 = { - ProvisioningStyle = Automatic; - }; - NT_825232110500 = { - ProvisioningStyle = Automatic; - }; - }; + TargetAttributes = "[xcodeproj.PBXObjectReference: [\"TestTargetID\": xcodeproj.PBXObjectReference], xcodeproj.PBXObjectReference: [\"CUSTOM\": \"value\"], xcodeproj.PBXObjectReference: [\"ProvisioningStyle\": \"Automatic\"], xcodeproj.PBXObjectReference: [\"ProvisioningStyle\": \"Automatic\"]]"; }; - buildConfigurationList = CL_844877120535 /* Build configuration list for PBXProject "Project" */; + buildConfigurationList = 0D5965C1A1D5123D687DA32AC9B957F8 /* Build configuration list for PBXProject "Project" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = en; hasScannedForEncodings = 0; @@ -1163,129 +1147,87 @@ Base, en, ); - mainGroup = G_8448771205358; + mainGroup = EDFE6B7A5CE9583846B704EE371675F2; projectDirPath = ""; projectRoot = ""; targets = ( - NT_825232110500 /* App_iOS */, - NT_783122899910 /* App_iOS_Tests */, - NT_123503999387 /* App_iOS_UITests */, - NT_480982116789 /* App_macOS */, - NT_324671077936 /* App_watchOS */, - NT_507023492251 /* App_watchOS Extension */, - NT_472296042419 /* Framework_iOS */, - NT_525119120469 /* Framework_macOS */, - NT_662315837182 /* Framework_tvOS */, - NT_438704538506 /* Framework_watchOS */, - LT_479264660374 /* Legacy */, - NT_399755008402 /* StaticLibrary_ObjC */, - NT_437179166843 /* StaticLibrary_Swift */, - AT_445731917037 /* SuperTarget */, - NT_376569054786 /* XPC Service */, - NT_935153865209 /* iMessageApp */, - NT_618687462494 /* iMessageExtension */, + DB85CB6A2C15660854D634EF1B0C1FAD /* App_iOS */, + 8CDD0FC5B69DB55054CAECF513716138 /* App_iOS_Tests */, + B145BCFEB550C3DDF48510BB85CDE8DC /* App_iOS_UITests */, + E165F00BB866D2A7087C93650EDB1138 /* App_macOS */, + 9F21B9C99E75314E51854589C0A2D40C /* App_watchOS */, + CBCC05D0B8E90F960AA198981827667B /* App_watchOS Extension */, + FE8D0077B0ADF688264AFA16A3FC213E /* Framework_iOS */, + 6805881B1B6A80ABD523DAF4AFA493E2 /* Framework_macOS */, + 2563A01E1A5E949F2AE1CD7308779FE3 /* Framework_tvOS */, + 347AE2E7B939A276DEE77148A708FDE4 /* Framework_watchOS */, + D47258787A296733EB9A496796369EDC /* Legacy */, + C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */, + D20DB1C7D23BB53FF8FD09BAF451A294 /* StaticLibrary_Swift */, + AB59C0690172FF119F045336C1F1CA0D /* SuperTarget */, + F61DEA90F1B7331EE9B26BBA1F66D1F3 /* XPC Service */, + 24B389B0959F4A6CB05BB732DABDFE40 /* iMessageApp */, + 8A0FE14A3A3815C1F26B447C6178089C /* iMessageExtension */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - RBP_32467107793 /* Resources */ = { + 24E393E5BC60BE4C18A4E88099C92B0B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_268392110450 /* Assets.xcassets in Resources */, - BF_612351978356 /* Interface.storyboard in Resources */, + 5163749E505B01D5ACB99C653525D046 /* Assets.xcassets in Resources */, + 370B3DF5D5741094E48BE3C0E00B68E7 /* Interface.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - RBP_50702349225 /* Resources */ = { + 32ECF2BB5AFA1C4E9A0F6DFE1417110E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_237760701422 /* Assets.xcassets in Resources */, + 7C2B87BE6AEC5813069E896736FA68A3 /* Assets.xcassets in Resources */, + 9F2CA54E38CDF41C367FAC8E304AF4C5 /* MainInterface.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - RBP_61868746249 /* Resources */ = { + 918FF44B84209799C8ECD292189E6D55 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_182635022050 /* Assets.xcassets in Resources */, - BF_828878846239 /* MainInterface.storyboard in Resources */, + 3E8A30F173DFFDBDDD0EBDA2D21A0D77 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - RBP_82523211050 /* Resources */ = { + DFB4932D20872BF046F9902EB430C6B6 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_279581961655 /* Assets.xcassets in Resources */, - BF_538515166673 /* LaunchScreen.storyboard in Resources */, - BF_211435872001 /* Localizable.strings in Resources */, - BF_314868376788 /* Localizable.stringsdict in Resources */, - BF_186245454304 /* LocalizedStoryboard.storyboard in Resources */, - BF_280535243540 /* Main.storyboard in Resources */, - BF_284620660317 /* MyBundle.bundle in Resources */, - BF_721498080533 /* ResourceFolder in Resources */, - BF_860391087135 /* StandaloneAssets.xcassets in Resources */, - BF_647038614509 /* iMessageApp.app in Resources */, + C5DD61FED061701F52A2AE59334C3964 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - RBP_93515386520 /* Resources */ = { + FEFBCD77CD631C182084B94EC52BEE33 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_334321520545 /* Assets.xcassets in Resources */, + D9338C1374B8F82194B44B6F73075123 /* Assets.xcassets in Resources */, + 2CCCB0657766F9F9527F77A9F42AAF9E /* LaunchScreen.storyboard in Resources */, + 3243ACA306AD909C8186921F288640DB /* Localizable.strings in Resources */, + DB95C341F44FE1E093C948F4F734515B /* Localizable.stringsdict in Resources */, + 3D49538E97F4592012896021971B0166 /* LocalizedStoryboard.storyboard in Resources */, + 7AE6DE3A93E56909084D4F93795B3C93 /* Main.storyboard in Resources */, + 809CDDAA142679CDCFCF376C9CA71C09 /* MyBundle.bundle in Resources */, + BE38983978B6D70795D2924F52F3081D /* ResourceFolder in Resources */, + AA5AF277386012CD6CC015073239E50F /* StandaloneAssets.xcassets in Resources */, + 5A6137039176A4E48CF6B399372D56EA /* iMessageApp.app in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - SSBP_2467869845 /* MyScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = MyScript; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"You ran a script\"\n"; - }; - SSBP_3886691194 /* MyScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = MyScript; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"You ran a script\"\n"; - }; - SSBP_5106020372 /* Strip Unused Architectures from Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Strip Unused Architectures from Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 1; - shellPath = /bin/sh; - shellScript = "################################################################################\n#\n# Copyright 2015 Realm Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n################################################################################\n\n# This script strips all non-valid architectures from dynamic libraries in\n# the application's `Frameworks` directory.\n#\n# The following environment variables are required:\n#\n# BUILT_PRODUCTS_DIR\n# FRAMEWORKS_FOLDER_PATH\n# VALID_ARCHS\n# EXPANDED_CODE_SIGN_IDENTITY\n\n\n# Signs a framework with the provided identity\ncode_sign() {\n # Use the current code_sign_identitiy\n echo \"Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}\"\n echo \"/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1\"\n /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"\n}\n\n# Set working directory to product’s embedded frameworks\ncd \"${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\nif [ \"$ACTION\" = \"install\" ]; then\n echo \"Copy .bcsymbolmap files to .xcarchive\"\n find . -name '*.bcsymbolmap' -type f -exec mv {} \"${CONFIGURATION_BUILD_DIR}\" \\;\nelse\n # Delete *.bcsymbolmap files from framework bundle unless archiving\n find . -name '*.bcsymbolmap' -type f -exec rm -rf \"{}\" +\\;\nfi\n\necho \"Stripping frameworks\"\n\nfor file in $(find . -type f -perm +111); do\n # Skip non-dynamic libraries\n if ! [[ \"$(file \"$file\")\" == *\"dynamically linked shared library\"* ]]; then\n continue\n fi\n # Get architectures for current file\n archs=\"$(lipo -info \"${file}\" | rev | cut -d ':' -f1 | rev)\"\n stripped=\"\"\n for arch in $archs; do\n if ! [[ \"${VALID_ARCHS}\" == *\"$arch\"* ]]; then\n # Strip non-valid architectures in-place\n lipo -remove \"$arch\" -output \"$file\" \"$file\" || exit 1\n stripped=\"$stripped $arch\"\n fi\n done\n if [[ \"$stripped\" != \"\" ]]; then\n echo \"Stripped $file of architectures:$stripped\"\n if [ \"${CODE_SIGNING_REQUIRED}\" == \"YES\" ]; then\n code_sign \"${file}\"\n fi\n fi\ndone\n"; - }; - SSBP_5390042403 /* Copy Swift Objective-C Interface Header */ = { + 06FB4F63AAEECCDD060382A3AF8AEF4B /* Copy Swift Objective-C Interface Header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1301,7 +1243,21 @@ shellPath = /bin/sh; shellScript = "ditto \"${SCRIPT_INPUT_FILE_0}\" \"${SCRIPT_OUTPUT_FILE_0}\"\n"; }; - SSBP_5954948530 /* Carthage */ = { + 2983C9312429A22DF5437C4020B9937E /* MyScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = MyScript; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"You ran a script\"\n"; + }; + 2F13215A0801F44C3CCF154F3EE02A7B /* Carthage */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1317,7 +1273,7 @@ shellPath = /bin/sh; shellScript = "carthage copy-frameworks\n"; }; - SSBP_6331376344 /* MyScript */ = { + 69E4B11A07FF06F8306B5646CA2403EF /* MyScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1329,9 +1285,23 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"You ran a script\"\n"; + shellScript = "echo \"do the thing\""; }; - SSBP_8106229290 /* Carthage */ = { + 70D0BCF93538A104153586A9BF269386 /* MyScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = MyScript; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"You ran a script!\"\n"; + }; + 712CA3288AD8B0F43FAA19930C53500B /* Carthage */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1347,7 +1317,7 @@ shellPath = /bin/sh; shellScript = "carthage copy-frameworks\n"; }; - SSBP_8255377629 /* MyScript */ = { + 78EF33E6A08B3BB88D8805DC3588843C /* MyScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1361,21 +1331,21 @@ shellPath = /bin/sh; shellScript = "echo \"You ran a script\"\n"; }; - SSBP_8280041834 /* MyScript */ = { + 974A437754992A1B4A30613EC766AE2C /* Strip Unused Architectures from Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = MyScript; + name = "Strip Unused Architectures from Frameworks"; outputPaths = ( ); - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 1; shellPath = /bin/sh; - shellScript = "echo \"do the thing\""; + shellScript = "################################################################################\n#\n# Copyright 2015 Realm Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n################################################################################\n\n# This script strips all non-valid architectures from dynamic libraries in\n# the application's `Frameworks` directory.\n#\n# The following environment variables are required:\n#\n# BUILT_PRODUCTS_DIR\n# FRAMEWORKS_FOLDER_PATH\n# VALID_ARCHS\n# EXPANDED_CODE_SIGN_IDENTITY\n\n\n# Signs a framework with the provided identity\ncode_sign() {\n # Use the current code_sign_identitiy\n echo \"Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}\"\n echo \"/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1\"\n /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements \"$1\"\n}\n\n# Set working directory to product’s embedded frameworks\ncd \"${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\nif [ \"$ACTION\" = \"install\" ]; then\n echo \"Copy .bcsymbolmap files to .xcarchive\"\n find . -name '*.bcsymbolmap' -type f -exec mv {} \"${CONFIGURATION_BUILD_DIR}\" \\;\nelse\n # Delete *.bcsymbolmap files from framework bundle unless archiving\n find . -name '*.bcsymbolmap' -type f -exec rm -rf \"{}\" +\\;\nfi\n\necho \"Stripping frameworks\"\n\nfor file in $(find . -type f -perm +111); do\n # Skip non-dynamic libraries\n if ! [[ \"$(file \"$file\")\" == *\"dynamically linked shared library\"* ]]; then\n continue\n fi\n # Get architectures for current file\n archs=\"$(lipo -info \"${file}\" | rev | cut -d ':' -f1 | rev)\"\n stripped=\"\"\n for arch in $archs; do\n if ! [[ \"${VALID_ARCHS}\" == *\"$arch\"* ]]; then\n # Strip non-valid architectures in-place\n lipo -remove \"$arch\" -output \"$file\" \"$file\" || exit 1\n stripped=\"$stripped $arch\"\n fi\n done\n if [[ \"$stripped\" != \"\" ]]; then\n echo \"Stripped $file of architectures:$stripped\"\n if [ \"${CODE_SIGNING_REQUIRED}\" == \"YES\" ]; then\n code_sign \"${file}\"\n fi\n fi\ndone\n"; }; - SSBP_8706434794 /* MyScript */ = { + ADF413AF548A97CB33898BB4F6211314 /* MyScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1387,538 +1357,311 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"You ran a script!\"\n"; + shellScript = "echo \"You ran a script\"\n"; + }; + DABB7DFD3C5DB4EAC8C5D24C79EA4E35 /* MyScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = MyScript; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"You ran a script\"\n"; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - SBP_12350399938 /* Sources */ = { + 1411E21883A09388E140C6D123029288 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_167705969896 /* TestProjectUITests.swift in Sources */, + BD4C8B77EF89CF7F4ED0D1C4713397E4 /* FrameworkFile.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_32467107793 /* Sources */ = { + 1C758FAD884F96BE234FBB1BBE295E97 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 766C78D100B581A2A469B47A02A0E6D9 /* AppDelegate.swift in Sources */, + FFA6D03EB711292F77E0BB317C750F5A /* Model.xcdatamodeld in Sources */, + 0A774DBC62F3C7721971E0C95BB2564A /* MoreUnder.swift in Sources */, + 304090AFAC1ED0D09C95B0CB2BEFEB9E /* Standalone.swift in Sources */, + 55E7240008DD5452802A41DA6FC7A16F /* ViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1C8F955BEA261BDB36838B408C2D7D23 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_37656905478 /* Sources */ = { + 25185271EDE7FEEC99372505A683359C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_855988705556 /* XPC_Service.m in Sources */, - BF_304637845091 /* main.m in Sources */, + 277BE1159CD7855C287566F29F8939BA /* Standalone.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_39975500840 /* Sources */ = { + 35714896F7B0D8F151E1A3B4C04AE0DB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_632297340262 /* StaticLibrary_ObjC.m in Sources */, + AD00993C2491D03BD3A1B6E48D685C29 /* MessagesViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_43717916684 /* Sources */ = { + 6186DB37B6D48F0D14D3C9300D18BE16 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_212221512596 /* StaticLibrary.swift in Sources */, + 1469E5437CDCEAB8B753538C36C6EC91 /* StaticLibrary_ObjC.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_43870453850 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BF_624802436672 /* FrameworkFile.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - SBP_47229604241 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BF_456457948943 /* FrameworkFile.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - SBP_47926466037 /* Sources */ = { + 634CFCBFE3760F2A0288F1BF42B66FF9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_48098211678 /* Sources */ = { + 8E6FC06C82186DB3FA95E51EFE18711C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_704149935229 /* Standalone.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_50702349225 /* Sources */ = { + 910907240480D0AFBF32A79A4008D866 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_206432481076 /* ExtensionDelegate.swift in Sources */, - BF_138356261076 /* InterfaceController.swift in Sources */, - BF_830383951771 /* NotificationController.swift in Sources */, + D8E194DE99C1389B4335B7112DEA7DC4 /* ExtensionDelegate.swift in Sources */, + A6CCC432869EB6B8A65A89B565B57EA5 /* InterfaceController.swift in Sources */, + 49C46F18756F4E9EE9E1CC328F79A2AD /* NotificationController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_52511912046 /* Sources */ = { + A0301004CBF36C0004B23102202FA9FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_901390118565 /* FrameworkFile.swift in Sources */, + C4F880A62908F7CD24C87CE5D67B0196 /* FrameworkFile.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_61868746249 /* Sources */ = { + A305A9C4673244353334E95DCDFD735D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_703054643820 /* MessagesViewController.swift in Sources */, + A4E000AF88BD17B9A2B08452C17C2EEF /* StaticLibrary.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_66231583718 /* Sources */ = { + AFF1863F9CDDD4DD0B0EB22A6AD9850A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_243071719122 /* FrameworkFile.swift in Sources */, + EBC3AA70BAD516864D119DDEEE2C436D /* FrameworkFile.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_78312289991 /* Sources */ = { + D037068D88E7DAEB3A373602EE996609 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_360196406184 /* TestProjectTests.swift in Sources */, + F7E9F427669FE7710D0A19AA4E1156F4 /* TestProjectUITests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_82523211050 /* Sources */ = { + E32AAD525623BF5008484D641327F1AD /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF_892119987440 /* AppDelegate.swift in Sources */, - BF_670499288392 /* Model.xcdatamodeld in Sources */, - BF_503484983186 /* MoreUnder.swift in Sources */, - BF_561304997165 /* Standalone.swift in Sources */, - BF_331192862207 /* ViewController.swift in Sources */, + 51FCB6F2D56B68E627A35C53729E423A /* XPC_Service.m in Sources */, + 7AF2CCC3F2ECDC1FE82B2C05BEF75B71 /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - SBP_93515386520 /* Sources */ = { + E74227370CF6081A47B8C2AB02479899 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 68642C69AC9333487FC491E6FA98261E /* TestProjectTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E74DACDAB11D89D5B824405B81E48D89 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F16AD8A4E1A6E1189CE048C03CEA9469 /* FrameworkFile.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - TD_109724965966 /* PBXTargetDependency */ = { + 0F0F18C8C8E08CF4C25A4DA89DB09A3A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_472296042419 /* Framework_iOS */; - targetProxy = CIP_10972496596 /* PBXContainerItemProxy */; + target = C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */; + targetProxy = C3EE26A1AAD19418C160843CDB61D97D /* PBXContainerItemProxy */; }; - TD_193291182921 /* PBXTargetDependency */ = { + 10B5BED93CB8C9A5B7BB81E996C7F071 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_507023492251 /* App_watchOS Extension */; - targetProxy = CIP_19329118292 /* PBXContainerItemProxy */; + target = 9F21B9C99E75314E51854589C0A2D40C /* App_watchOS */; + targetProxy = 61EAE260C32C57D1ADCEAA01E33B62F0 /* PBXContainerItemProxy */; }; - TD_208010900457 /* PBXTargetDependency */ = { + 16156D2E07BFBB09D5921589B483FF23 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_825232110500 /* App_iOS */; - targetProxy = CIP_20801090045 /* PBXContainerItemProxy */; + target = 24B389B0959F4A6CB05BB732DABDFE40 /* iMessageApp */; + targetProxy = 0BF678D2C5D11E654050E6FD6AF1321C /* PBXContainerItemProxy */; }; - TD_235580504123 /* PBXTargetDependency */ = { + 3E978D446B3957A557629CD1DF47004B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_525119120469 /* Framework_macOS */; - targetProxy = CIP_23558050412 /* PBXContainerItemProxy */; + target = DB85CB6A2C15660854D634EF1B0C1FAD /* App_iOS */; + targetProxy = 931421A32656354E62549752A08EDBF8 /* PBXContainerItemProxy */; }; - TD_288560876254 /* PBXTargetDependency */ = { + 3FFD524CC10F62CA07750D1026106CB3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_935153865209 /* iMessageApp */; - targetProxy = CIP_28856087625 /* PBXContainerItemProxy */; + target = FE8D0077B0ADF688264AFA16A3FC213E /* Framework_iOS */; + targetProxy = EEB2D30EB7369BDB638EBEEF136463C2 /* PBXContainerItemProxy */; }; - TD_317921131342 /* PBXTargetDependency */ = { + 5189C5E269DD98A187BF59169A4FC1D1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_618687462494 /* iMessageExtension */; - targetProxy = CIP_31792113134 /* PBXContainerItemProxy */; + target = FE8D0077B0ADF688264AFA16A3FC213E /* Framework_iOS */; + targetProxy = 29DD3982DDC8FB1816F3413908D59361 /* PBXContainerItemProxy */; }; - TD_337103940101 /* PBXTargetDependency */ = { + 586BE274C55FC00DE6BE62A0AAC127F6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_399755008402 /* StaticLibrary_ObjC */; - targetProxy = CIP_33710394010 /* PBXContainerItemProxy */; + target = CBCC05D0B8E90F960AA198981827667B /* App_watchOS Extension */; + targetProxy = 454E9650A00080FE30274224CC9F46C0 /* PBXContainerItemProxy */; }; - TD_629038784927 /* PBXTargetDependency */ = { + 632C4C9ABCE4E550CC5CC6F87B5C4DBD /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_399755008402 /* StaticLibrary_ObjC */; - targetProxy = CIP_62903878492 /* PBXContainerItemProxy */; + target = F61DEA90F1B7331EE9B26BBA1F66D1F3 /* XPC Service */; + targetProxy = 9B58798122BFEA3C65A8FF0A3351860D /* PBXContainerItemProxy */; }; - TD_667455552356 /* PBXTargetDependency */ = { + 63D97355ECD5B9E4B835338653920BC1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_399755008402 /* StaticLibrary_ObjC */; - targetProxy = CIP_66745555235 /* PBXContainerItemProxy */; + target = C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */; + targetProxy = FF9930E567A8C8A64F553637C661978F /* PBXContainerItemProxy */; }; - TD_676191581124 /* PBXTargetDependency */ = { + 7E5A83C554576126BB5DB76070940A42 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_825232110500 /* App_iOS */; - targetProxy = CIP_67619158112 /* PBXContainerItemProxy */; + target = C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */; + targetProxy = 91B2DBDD3AE5AF1D532D18340182CF27 /* PBXContainerItemProxy */; }; - TD_721522128177 /* PBXTargetDependency */ = { + 8583B3541D71924D376A891CCAD90C80 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_399755008402 /* StaticLibrary_ObjC */; - targetProxy = CIP_72152212817 /* PBXContainerItemProxy */; + target = C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */; + targetProxy = 707E4E6909BBD1E09760167B4CFEC227 /* PBXContainerItemProxy */; }; - TD_743784992411 /* PBXTargetDependency */ = { + 85A9116EE91FAB1AA6CA20FD4203A941 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_376569054786 /* XPC Service */; - targetProxy = CIP_74378499241 /* PBXContainerItemProxy */; + target = DB85CB6A2C15660854D634EF1B0C1FAD /* App_iOS */; + targetProxy = CC516AFC796533BF02DD6B96F8DD7E74 /* PBXContainerItemProxy */; }; - TD_747418473860 /* PBXTargetDependency */ = { + A835D5FBAD20741BCF95975E1CD63A7A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_472296042419 /* Framework_iOS */; - targetProxy = CIP_74741847386 /* PBXContainerItemProxy */; + target = DB85CB6A2C15660854D634EF1B0C1FAD /* App_iOS */; + targetProxy = 09709070DE34AF9CD99E9E5EB9990FEA /* PBXContainerItemProxy */; }; - TD_784412347908 /* PBXTargetDependency */ = { + B7FA3A9932789DFBE8BEDD648C9424B2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_399755008402 /* StaticLibrary_ObjC */; - targetProxy = CIP_78441234790 /* PBXContainerItemProxy */; + target = C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */; + targetProxy = E09571F16E5252817F36D382C4132D85 /* PBXContainerItemProxy */; }; - TD_824101787753 /* PBXTargetDependency */ = { + BCAEBFE2D144CD4E9F4042CB793B6FFB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_324671077936 /* App_watchOS */; - targetProxy = CIP_82410178775 /* PBXContainerItemProxy */; + target = 6805881B1B6A80ABD523DAF4AFA493E2 /* Framework_macOS */; + targetProxy = 322420B31CCE201E90F298BE48129574 /* PBXContainerItemProxy */; }; - TD_887143865471 /* PBXTargetDependency */ = { + D976477E0195A8FFD5043C8BBD4B67C4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_825232110500 /* App_iOS */; - targetProxy = CIP_88714386547 /* PBXContainerItemProxy */; + target = 8A0FE14A3A3815C1F26B447C6178089C /* iMessageExtension */; + targetProxy = DE00464172E7A41CC51991B9136AA5BD /* PBXContainerItemProxy */; }; - TD_957476409477 /* PBXTargetDependency */ = { + FA8E2412D27AAD48D0F75809A484D599 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = NT_399755008402 /* StaticLibrary_ObjC */; - targetProxy = CIP_95747640947 /* PBXContainerItemProxy */; + target = C21579FB597F51FACE99F831124CEB70 /* StaticLibrary_ObjC */; + targetProxy = 5A941DAF3EECD0D974E9330E048ABAF1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - VG_118219888726 /* LocalizedStoryboard.storyboard */ = { + 466B302E661DE3B3972203B31F4AFED4 /* Localizable.stringsdict */ = { isa = PBXVariantGroup; children = ( - FR_118219888726 /* Base */, - FR_500792082643 /* en */, + 6B9588F9AA980468B26837ADE36D0D2E /* Base */, + 2E871C49A75D636E1E87F8904C5BA3D9 /* en */, + ); + name = Localizable.stringsdict; + sourceTree = ""; + }; + 49A30AD670910672DABA8B736EECBAEB /* LocalizedStoryboard.storyboard */ = { + isa = PBXVariantGroup; + children = ( + F56A7C74F4A75492F063A0A5BDBBF65C /* Base */, + DB194C9EF763551CE2D5131407E8CF1C /* en */, ); name = LocalizedStoryboard.storyboard; sourceTree = ""; }; - VG_201160695646 /* MainInterface.storyboard */ = { + 81F7E21FBB8DA98ECF0A51099CDAF2EE /* MainInterface.storyboard */ = { isa = PBXVariantGroup; children = ( - FR_201160695646 /* Base */, + 354650483D8F76CB15A0FB0A99D2657F /* Base */, ); name = MainInterface.storyboard; sourceTree = ""; }; - VG_256263906698 /* LaunchScreen.storyboard */ = { + 8EAFD105FB449C592C944D3003203AB5 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - FR_256263906698 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; - VG_264279911176 /* Interface.storyboard */ = { - isa = PBXVariantGroup; - children = ( - FR_264279911176 /* Base */, - ); - name = Interface.storyboard; - sourceTree = ""; - }; - VG_473000061463 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - FR_473000061463 /* Base */, - FR_771029596306 /* en */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - VG_609193904586 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - FR_609193904586 /* Base */, + C8822458902508063262BA655921BA2F /* Base */, ); name = Main.storyboard; sourceTree = ""; }; - VG_746876637628 /* Localizable.stringsdict */ = { + 9835A83F1E5D8E22848E171BA3C2DBA6 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( - FR_746876637628 /* Base */, - FR_602633703434 /* en */, + 5FA5EA11F66D659044AB1FB5496EBF25 /* Base */, ); - name = Localizable.stringsdict; + name = LaunchScreen.storyboard; + sourceTree = ""; + }; + C358B60A4C6D98BF3CD9B2C0C75FFC31 /* Interface.storyboard */ = { + isa = PBXVariantGroup; + children = ( + A59DAE760F32225493BDC5D378468EA9 /* Base */, + ); + name = Interface.storyboard; + sourceTree = ""; + }; + E005A2734C32783354AAB8546A12718B /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + F435E28C9379AF718A5D502BF3B2FB26 /* Base */, + EC5C7923578F1110EE9EE74505530753 /* en */, + ); + name = Localizable.strings; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - BC_108053643718 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; - PRODUCT_NAME = Framework; - SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Test Debug"; - }; - BC_122527152613 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - MY_SETTING = hello; - }; - name = "Test Release"; - }; - BC_128103534773 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - "\"Vendor\"", - ); - INFOPLIST_FILE = App_iOS/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.project.app; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Release"; - }; - BC_128566007109 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = App_watchOS/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = "Staging Release"; - }; - BC_129177384103 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Test Release"; - }; - BC_167564962969 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Release"; - }; - BC_210307580165 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Release"; - }; - BC_210338877784 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; - PRODUCT_NAME = Framework; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Test Release"; - }; - BC_213267780961 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = "XPC Service/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; - SDKROOT = macosx; - }; - name = "Production Debug"; - }; - BC_240587562436 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Test Debug"; - }; - BC_242096321611 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; - VALIDATE_PRODUCT = YES; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - }; - name = "Production Release"; - }; - BC_249152711841 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = IMessage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Test Release"; - }; - BC_257261481133 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_UITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = App_iOS; - }; - name = "Staging Release"; - }; - BC_264139320591 /* Test Release */ = { + 017D658B4ABE46C5A30A44E1EB610EEC /* Production Release */ = { isa = XCBuildConfiguration; buildSettings = { LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1927,85 +1670,25 @@ SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; - name = "Test Release"; + name = "Production Release"; }; - BC_264159662496 /* Test Release */ = { + 01DBD7FCC87C5676808C8DC642E5076D /* Test Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = App_watchOS/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = "Test Release"; - }; - BC_265230327262 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + BUNDLE_LOADER = "$(TEST_HOST)"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", - "\"Vendor\"", ); - INFOPLIST_FILE = App_iOS/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.project.app; + INFOPLIST_FILE = App_iOS_Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; }; - name = "Staging Release"; + name = "Test Release"; }; - BC_275347760107 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; - PRODUCT_NAME = Framework; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Production Debug"; - }; - BC_275754663824 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = IMessage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Release"; - }; - BC_280651168996 /* Production Debug */ = { + 033BB6B0853606FB2D2FD4F80238B6C0 /* Staging Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -2024,34 +1707,76 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; SDKROOT = macosx; }; - name = "Production Debug"; + name = "Staging Release"; }; - BC_282993554784 /* Production Release */ = { + 042BBE336DA13DF962EA6C453B022AF8 /* Test Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + "\"Vendor\"", + ); + INFOPLIST_FILE = App_iOS/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.project.app; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Debug"; + }; + 043A0C042785957178A6693CFA0E1AD6 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Debug"; + }; + 073C2C693117E1D34E1B0F985E54181E /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + MY_SETTING = hello; + }; + name = "Staging Debug"; + }; + 07E1360852ED801B9A2C191311650CB6 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; - PRODUCT_NAME = Framework; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; }; name = "Production Release"; }; - BC_296138297674 /* Test Release */ = { + 096ECE14561204A143946060635175E2 /* Test Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; @@ -2066,154 +1791,9 @@ SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 4; }; - name = "Test Release"; - }; - BC_301490151478 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = IMessage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Debug"; - }; - BC_309031681908 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; name = "Test Debug"; }; - BC_313103118526 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; - PRODUCT_NAME = Framework; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Staging Debug"; - }; - BC_334821934458 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - MY_SETTING = hello; - }; - name = "Production Release"; - }; - BC_351179072988 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; - PRODUCT_NAME = Framework; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Test Debug"; - }; - BC_355674198163 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_UITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = App_iOS; - }; - name = "Production Debug"; - }; - BC_368555321779 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Release"; - }; - BC_370290618113 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - MY_SETTING = hello; - }; - name = "Production Debug"; - }; - BC_380703106572 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; - PRODUCT_NAME = Framework; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Test Release"; - }; - BC_381577484690 /* Production Release */ = { + 0A20244EB4E72EC58117F028E72046EC /* Staging Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; @@ -2235,9 +1815,721 @@ TARGETED_DEVICE_FAMILY = 4; VERSIONING_SYSTEM = "apple-generic"; }; + name = "Staging Release"; + }; + 17DD6C54D892A228DC61C020225C9051 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = App_watchOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 3.0; + }; name = "Production Release"; }; - BC_397339763951 /* Staging Debug */ = { + 17F6FF338B0EDFF7796A8F04E3F3800F /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; + PRODUCT_NAME = Framework; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Test Debug"; + }; + 182E0CC8A3915AEB912F5D1291301A43 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; + SDKROOT = macosx; + }; + name = "Production Debug"; + }; + 1A086472EE7B5AD1BCC790833A32EEBD /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + MY_SETTING = hello; + }; + name = "Test Debug"; + }; + 1B04852DE1BAC9963EC108C9CF616C68 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + "\"Vendor\"", + ); + INFOPLIST_FILE = App_iOS/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.project.app; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Debug"; + }; + 1D285F94CF59832C2BA027CD569DDAB7 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + }; + name = "Staging Debug"; + }; + 1D9EB22E5DBAB4FA60986D9F7D4EB36B /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; + PRODUCT_NAME = Framework; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Test Release"; + }; + 238AD5E15AEE443741AA30FC7DF9BE4E /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Debug"; + }; + 239E8DC605456167C1F5A3E11E89E02E /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; + PRODUCT_NAME = Framework; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Test Release"; + }; + 2EABDD2A3CB1E85833E8A1555AE92380 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Debug"; + }; + 3B64F4C26A564FBA69A8B5DD22A9CF1E /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = "XPC Service/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; + SDKROOT = macosx; + }; + name = "Staging Release"; + }; + 3BE57E2A55CD16BC51F289949EC85F76 /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + }; + name = "Staging Release"; + }; + 3E086BCE5D760D61BB3D412C9F0B4BDA /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; + PRODUCT_NAME = Framework; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Test Debug"; + }; + 41AE4D3B9E1B4B940169B84E3BA5CCE7 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = "XPC Service/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; + SDKROOT = macosx; + }; + name = "Staging Debug"; + }; + 42E41490B4F137D48214D74A60E82741 /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + MY_SETTING = hello; + }; + name = "Staging Release"; + }; + 48C7C82163507BFDDBBE9640C56C4384 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = IMessage/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Release"; + }; + 4E69BB19B16E547D43AF93A25BCD9F31 /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + }; + name = "Test Release"; + }; + 53FA2A6BC1E12907C7E04A1686CD2235 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; + PRODUCT_NAME = Framework; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Production Debug"; + }; + 56663C3D4D239DB7132EFC6F4BD6931F /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_UITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = App_iOS; + }; + name = "Production Debug"; + }; + 5720F6E9771684E5729A08D75426C874 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; + PRODUCT_NAME = Framework; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Staging Debug"; + }; + 591C680E52370290108989EB469E5509 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; + PRODUCT_NAME = Framework; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Production Debug"; + }; + 5A1D3DA3365EDDAF6EC275BEF2A939B0 /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; + PRODUCT_NAME = Framework; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Staging Release"; + }; + 5AA86BB667B6BB6A065CDC7A86358C06 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_UITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = App_iOS; + }; + name = "Test Debug"; + }; + 5E2F1BACE5D532159E4E4CDEA7781A53 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + "\"Vendor\"", + ); + INFOPLIST_FILE = App_iOS/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.project.app; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Debug"; + }; + 5F9AF0BD4959D01102D429D68A1AE409 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; + PRODUCT_NAME = Framework; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Production Release"; + }; + 600D2124C2A4443FF163E6E3B501E909 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Debug"; + }; + 617BB41EB582FD2294AD3F0EF67FF86C /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = App_watchOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 3.0; + }; + name = "Production Debug"; + }; + 65444C57D9A364444BA7003179D5061D /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_UITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = App_iOS; + }; + name = "Staging Release"; + }; + 676171EF49F08996E70CF35B0210B3EE /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; + PRODUCT_NAME = Framework; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Staging Release"; + }; + 679FF6873FEB353F21917C19BCC838E8 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/tvOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; + PRODUCT_NAME = Framework; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Staging Debug"; + }; + 6E76891FB5D6528F7679C4029CEA9DDB /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Release"; + }; + 6FFE1C21D2525DBB6DFB640EA7DC613A /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Debug"; + }; + 70725C98440FD53BB91443718AC11C49 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + }; + name = "Production Debug"; + }; + 71D8747E9D932CC57F5C7689CDAB915E /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Debug"; + }; + 76B45660690ECDC9D44E1D9957AF5029 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = "XPC Service/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; + SDKROOT = macosx; + }; + name = "Production Debug"; + }; + 78064626756CECDA6038E7E6CF655FCD /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; + INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Release"; + }; + 787DD7CC61878131127305CB1AB42E45 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; + PRODUCT_NAME = Framework; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Test Debug"; + }; + 7F42FA78F9209A1EA4BE36ECC88B48DA /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; + SDKROOT = macosx; + }; + name = "Test Release"; + }; + 7F6F9A02354EC9131372E38141776CF3 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Debug"; + }; + 8605D350B1463319F76600AD82025190 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_UITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = App_iOS; + }; + name = "Production Release"; + }; + 86078CF18D4E8E2A296357BBD43BB418 /* Staging Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2297,135 +2589,7 @@ }; name = "Staging Debug"; }; - BC_424897564588 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Debug"; - }; - BC_437463937945 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_UITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = App_iOS; - }; - name = "Production Release"; - }; - BC_439666751882 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - MY_SETTING = hello; - }; - name = "Staging Debug"; - }; - BC_444705348320 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Debug"; - }; - BC_447998896881 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_UITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = App_iOS; - }; - name = "Test Debug"; - }; - BC_456712168038 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Debug"; - }; - BC_464603633927 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Test Release"; - }; - BC_467730755629 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Release"; - }; - BC_470682595853 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = App_watchOS/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = "Production Release"; - }; - BC_474716674004 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_UITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = App_iOS; - }; - name = "Test Release"; - }; - BC_480688547948 /* Staging Debug */ = { + 860C0A667616D8C33213E17E6B7FC967 /* Staging Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -2446,140 +2610,36 @@ SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; }; - name = "Staging Debug"; + name = "Staging Release"; }; - BC_488246438798 /* Production Debug */ = { + 88755377456A33C84C2CDA0C44A6A61A /* Production Release */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Debug"; - }; - BC_493052431451 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; - PRODUCT_NAME = Framework; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Production Release"; - }; - BC_499325041919 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-watchOS"; - PRODUCT_NAME = Framework; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Production Debug"; - }; - BC_504862512837 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - }; - name = "Production Debug"; - }; - BC_507219048168 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = IMessage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Debug"; - }; - BC_517306343059 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; + BUNDLE_LOADER = "$(TEST_HOST)"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; - PRODUCT_NAME = Framework; + INFOPLIST_FILE = App_iOS_Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; }; - name = "Staging Release"; + name = "Production Release"; }; - BC_525459892506 /* Production Debug */ = { + 8946521E677C9578763AF0CAA5650B6E /* Test Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = App_watchOS/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = "XPC Service/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; + SDKROOT = macosx; }; - name = "Production Debug"; + name = "Test Release"; }; - BC_530755208334 /* Test Release */ = { + 8A20B26D66C3C3E2B0C19F697723BF52 /* Test Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -2602,43 +2662,7 @@ }; name = "Test Release"; }; - BC_530814251927 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Test Debug"; - }; - BC_533481109982 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; - PRODUCT_NAME = Framework; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Staging Debug"; - }; - BC_563308786207 /* Staging Debug */ = { + 8A3DFEC561EA277BC662D7722D957AF7 /* Staging Debug */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; @@ -2662,124 +2686,7 @@ }; name = "Staging Debug"; }; - BC_563702409464 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; - SDKROOT = macosx; - }; - name = "Staging Debug"; - }; - BC_568886047790 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Debug"; - }; - BC_568928282286 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = App_watchOS/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = "Test Debug"; - }; - BC_570828727916 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Release"; - }; - BC_575374366235 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - BUNDLE_ID_SUFFIX = .test; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; - VALIDATE_PRODUCT = YES; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - }; - name = "Test Release"; - }; - BC_592419322448 /* Production Release */ = { + 8D77D883600ADB89A783275CF554E4A3 /* Test Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -2788,34 +2695,20 @@ SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; - name = "Production Release"; + name = "Test Debug"; }; - BC_594849660073 /* Production Release */ = { + 8D88F6B294E0A440C7E8DCFCC8FD89C6 /* Test Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + INFOPLIST_FILE = IMessage/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; - PRODUCT_NAME = Framework; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; SDKROOT = iphoneos; - SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; }; - name = "Production Release"; + name = "Test Release"; }; - BC_609023497374 /* Test Release */ = { + 8EB82130053C36429A3383113E7E4C52 /* Staging Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; @@ -2825,9 +2718,9 @@ SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; }; - name = "Test Release"; + name = "Staging Release"; }; - BC_609604761299 /* Staging Release */ = { + 8EBAD5F0051E7CC4CB35D6D849C46F80 /* Production Release */ = { isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; @@ -2836,289 +2729,9 @@ PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; SDKROOT = macosx; }; - name = "Staging Release"; - }; - BC_609753632568 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = IMessage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; name = "Production Release"; }; - BC_612244244384 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - MY_SETTING = hello; - }; - name = "Test Debug"; - }; - BC_622471558373 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; - PRODUCT_NAME = Framework; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Production Debug"; - }; - BC_627109222781 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; - SDKROOT = macosx; - }; - name = "Production Release"; - }; - BC_629891546665 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Debug"; - }; - BC_634896623305 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = App_watchOS/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 3.0; - }; - name = "Staging Debug"; - }; - BC_644737893954 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Debug"; - }; - BC_645651856160 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Release"; - }; - BC_655752097950 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-tvOS"; - PRODUCT_NAME = Framework; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Test Debug"; - }; - BC_667304541586 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = "XPC Service/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; - SDKROOT = macosx; - }; - name = "Test Debug"; - }; - BC_669628489596 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Release"; - }; - BC_685135820012 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-watchOS"; - PRODUCT_NAME = Framework; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Test Release"; - }; - BC_697789525657 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - }; - name = "Staging Release"; - }; - BC_702596407424 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - }; - name = "Production Release"; - }; - BC_704315531994 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = IMessage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Test Debug"; - }; - BC_705279564212 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; - PRODUCT_NAME = Framework; - SDKROOT = macosx; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Production Debug"; - }; - BC_707904794064 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; - SDKROOT = macosx; - }; - name = "Test Release"; - }; - BC_709947688544 /* Production Debug */ = { + 9163A49EEE507A13BD6BB29DE77C5AEB /* Production Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -3177,7 +2790,38 @@ }; name = "Production Debug"; }; - BC_724654958001 /* Staging Debug */ = { + 919E11B8D5FA5EE79F9312E6467F574E /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-watchOS"; + PRODUCT_NAME = Framework; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Production Release"; + }; + 9450C1BF180480F99BCF85B483F6CB9A /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + MY_SETTING = hello; + }; + name = "Production Release"; + }; + 94A3AAC4CEA168599D557CA3E04F4BDC /* Staging Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -3188,7 +2832,170 @@ }; name = "Staging Debug"; }; - BC_730521266150 /* Staging Release */ = { + 953F56182B4014BC2431B0C3BC8C6116 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; + SDKROOT = macosx; + }; + name = "Test Debug"; + }; + 9846B0E883E03113D131FFC4E4BA1F08 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-watchOS"; + PRODUCT_NAME = Framework; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Test Debug"; + }; + 9945D662313B9CDAC19EE8047DF3F96F /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; + PRODUCT_NAME = Framework; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Production Debug"; + }; + 9B26DE732F220BC292EADF89DE60A554 /* Test Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C64021D20FD55B89CE1AFE88AE7C1CDD /* config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + BUNDLE_ID_SUFFIX = .test; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "DEBUG=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + }; + name = "Test Debug"; + }; + 9D3303E44AE7082447202EA72DDBE833 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; + SDKROOT = macosx; + }; + name = "Staging Debug"; + }; + A23AD01C12E6042FBB38025556F802B9 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Release"; + }; + A245D8EE9B5EE2DC9F08D3E480476D6B /* Staging Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -3240,11 +3047,65 @@ }; name = "Staging Release"; }; - BC_741359447852 /* Test Release */ = { + A28E48690DF1F007ADE74AF8232F9936 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Release"; + }; + A3BBDD580918C4146F640B3D5BECDE3A /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Release"; + }; + A6191A82E89AAE95FF0927ADC4CED07C /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = IMessage/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Debug"; + }; + A94D9A8E6B3EC8B43280005AA5CA08C5 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; + INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Debug"; + }; + AB6DE922A459F5FD497E4A88028D774F /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = IMessage/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Debug"; + }; + AC0BADE62931604AA108798EB524D47A /* Staging Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; - COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; @@ -3252,20 +3113,154 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", + "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = Framework/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-macOS"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; PRODUCT_NAME = Framework; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Staging Release"; + }; + AE20EE3DA3CAF7CF656625BC1104E356 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Debug"; + }; + AEC12413C878641363A9F9D8159AFAFD /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = App_watchOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 3.0; + }; + name = "Staging Release"; + }; + AF4710F4CCB14CED351633EBACE040EE /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Release"; + }; + B1E2C4D4695C5EF681BF34BD6414FFD9 /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Release"; + }; + B524E0A2A955DEAE9EA8A773C63AB9AC /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + MY_SETTING = hello; + }; + name = "Test Release"; + }; + B5ED36F7268D18E542F85A14D09E1740 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Debug"; + }; + B6B5C9184CEE823626CCCC86A8CD9AB0 /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; + INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Debug"; + }; + B7022F6F63AADF6396ED13F7B439FD4A /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; + INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Production Release"; + }; + B84D4575BDB10CC7877B363EE9AB4333 /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-iOS"; + PRODUCT_NAME = Framework; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; }; name = "Test Release"; }; - BC_749393271654 /* Test Debug */ = { + BAC461FFB8CD5E0FBEF317CF56AE0847 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = App_watchOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 3.0; + }; + name = "Test Debug"; + }; + BEA623C6A5A8AA7DFF3972CFA7FDB1FF /* Production Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -3286,9 +3281,82 @@ SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; }; + name = "Production Release"; + }; + C1B80F9BE08D4FB9503CA748D889BCB6 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = App_watchOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 3.0; + }; + name = "Staging Debug"; + }; + C715D4C7279C44607E66D74085D7E2C3 /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = App_watchOS/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + WATCHOS_DEPLOYMENT_TARGET = 3.0; + }; + name = "Test Release"; + }; + C964103E2697EFFCBB8E04FAD89BCB2A /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_UITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-UITests"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = App_iOS; + }; + name = "Staging Debug"; + }; + CA1133BA3266746EA55DC6CA3BB15C79 /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = IMessage/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Release"; + }; + CF4A979E679D2D7B6180C42079630DF7 /* Test Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = "XPC Service/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; + SDKROOT = macosx; + }; name = "Test Debug"; }; - BC_760168680599 /* Staging Release */ = { + D135C764212A868AB1BFA59D08477749 /* Production Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; @@ -3311,9 +3379,91 @@ TARGETED_DEVICE_FAMILY = 3; VERSIONING_SYSTEM = "apple-generic"; }; + name = "Production Release"; + }; + D30FF0A51CA7720140967225CEB93621 /* Production Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + }; + name = "Production Release"; + }; + D517F3468BE1A7136FA1FCBBEF7555F1 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + INFOPLIST_FILE = IMessage/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Debug"; + }; + D9FDA7C09DC2A6CD9C4249D09843E029 /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/watchOS", + ); + INFOPLIST_FILE = Framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-watchOS"; + PRODUCT_NAME = Framework; + SDKROOT = watchos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 4; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Test Release"; + }; + DC7B7968E87668181B3ECAB77307359B /* Production Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + MY_SETTING = hello; + }; + name = "Production Debug"; + }; + E22E8833641D3779586C0B16FA32A016 /* Staging Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; + INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Staging Debug"; + }; + E288B83C7EAA142895818E3148453206 /* Staging Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; name = "Staging Release"; }; - BC_765441740976 /* Staging Release */ = { + E3CDCDB9EED4CB38950534D8D9E521B2 /* Staging Debug */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; @@ -3336,21 +3486,25 @@ SKIP_INSTALL = YES; VERSIONING_SYSTEM = "apple-generic"; }; - name = "Staging Release"; + name = "Staging Debug"; }; - BC_766399414659 /* Staging Debug */ = { + E6B9E89A82F37BBE7118A108CDD2FA96 /* Staging Release */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = App_iOS_Tests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; }; - name = "Staging Debug"; + name = "Staging Release"; }; - BC_769258280401 /* Staging Debug */ = { + E86C0E6E6FD6A5052CFD159F134F7C0C /* Test Release */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; @@ -3365,156 +3519,10 @@ TARGETED_DEVICE_FAMILY = "1,2"; TEST_TARGET_NAME = App_iOS; }; - name = "Staging Debug"; - }; - BC_776042221288 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Staging Release"; - }; - BC_790711614758 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = Framework/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.Framework-watchOS"; - PRODUCT_NAME = Framework; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Staging Release"; - }; - BC_793714544511 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = App_iOS_Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-iOS-Tests"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; name = "Test Release"; }; - BC_799591451484 /* Test Debug */ = { + EC28E440C15EE7F1FB7DB5DCE6730C35 /* Test Release */ = { isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Test Debug"; - }; - BC_799916603316 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - "\"Vendor\"", - ); - INFOPLIST_FILE = App_iOS/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.project.app; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Debug"; - }; - BC_805283956103 /* Production Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Debug"; - }; - BC_823301630526 /* Test Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = "XPC Service/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; - SDKROOT = macosx; - }; - name = "Test Release"; - }; - BC_823840129404 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - }; - name = "Test Debug"; - }; - BC_825545455794 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = "XPC Service/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; - SDKROOT = macosx; - }; - name = "Staging Debug"; - }; - BC_831819337335 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon"; - INFOPLIST_FILE = "IMessage MessagesExtension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.iMessageApp.extension; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Production Release"; - }; - BC_832100796021 /* Test Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FR_660690926982 /* config.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; BUNDLE_ID_SUFFIX = .test; @@ -3546,34 +3554,37 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "DEBUG=1", - ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; + VALIDATE_PRODUCT = YES; WATCHOS_DEPLOYMENT_TARGET = 4.0; }; - name = "Test Debug"; + name = "Test Release"; }; - BC_835911551172 /* Test Debug */ = { + EF427E493E485ED823B46796B5706EE0 /* Test Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-Swift"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Test Release"; + }; + F554EE27D3B2F59E7560BC2EA81F0126 /* Production Debug */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; @@ -3595,65 +3606,19 @@ TARGETED_DEVICE_FAMILY = 4; VERSIONING_SYSTEM = "apple-generic"; }; - name = "Test Debug"; + name = "Production Debug"; }; - BC_851086512031 /* Staging Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - MY_SETTING = hello; - }; - name = "Staging Release"; - }; - BC_864485046941 /* Staging Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/watchOS", - ); - INFOPLIST_FILE = "App_watchOS Extension/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.app.watch.extension; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - }; - name = "Staging Debug"; - }; - BC_866329197584 /* Test Debug */ = { + FD6B56D66F61D5D15F85BF3A793A4737 /* Test Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.project.StaticLibrary-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = com.project.Legacy; SDKROOT = iphoneos; - SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = "Test Debug"; }; - BC_866352849045 /* Test Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; - SDKROOT = macosx; - }; - name = "Test Debug"; - }; - BC_879000441352 /* Staging Debug */ = { + FF1FD074D08FB642C47833A35CF9A077 /* Production Release */ = { isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = ""; @@ -3676,273 +3641,292 @@ SKIP_INSTALL = YES; VERSIONING_SYSTEM = "apple-generic"; }; - name = "Staging Debug"; - }; - BC_906683798476 /* Production Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = "XPC Service/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.project.XPCService; - SDKROOT = macosx; - }; name = "Production Release"; }; - BC_914036878229 /* Staging Release */ = { + FF20BE3E1E930A3CDD0440B465F82FD9 /* Production Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = Vendor/SomeXPCService.xpc/Contents/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.project.App-macOS"; - SDKROOT = macosx; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; + VALIDATE_PRODUCT = YES; + WATCHOS_DEPLOYMENT_TARGET = 4.0; }; - name = "Staging Release"; + name = "Production Release"; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - CL_123503999387 /* Build configuration list for PBXNativeTarget "App_iOS_UITests" */ = { + 0AA719054B034D653457F3861CE722A9 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - BC_355674198163 /* Production Debug */, - BC_437463937945 /* Production Release */, - BC_769258280401 /* Staging Debug */, - BC_257261481133 /* Staging Release */, - BC_447998896881 /* Test Debug */, - BC_474716674004 /* Test Release */, + 53FA2A6BC1E12907C7E04A1686CD2235 /* Production Debug */, + D135C764212A868AB1BFA59D08477749 /* Production Release */, + 679FF6873FEB353F21917C19BCC838E8 /* Staging Debug */, + 676171EF49F08996E70CF35B0210B3EE /* Staging Release */, + 3E086BCE5D760D61BB3D412C9F0B4BDA /* Test Debug */, + 1D9EB22E5DBAB4FA60986D9F7D4EB36B /* Test Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = ""; }; - CL_324671077936 /* Build configuration list for PBXNativeTarget "App_watchOS" */ = { + 0D5965C1A1D5123D687DA32AC9B957F8 /* Build configuration list for PBXProject "Project" */ = { isa = XCConfigurationList; buildConfigurations = ( - BC_525459892506 /* Production Debug */, - BC_470682595853 /* Production Release */, - BC_634896623305 /* Staging Debug */, - BC_128566007109 /* Staging Release */, - BC_568928282286 /* Test Debug */, - BC_264159662496 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_376569054786 /* Build configuration list for PBXNativeTarget "XPC Service" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_213267780961 /* Production Debug */, - BC_906683798476 /* Production Release */, - BC_825545455794 /* Staging Debug */, - BC_609604761299 /* Staging Release */, - BC_667304541586 /* Test Debug */, - BC_823301630526 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_399755008402 /* Build configuration list for PBXNativeTarget "StaticLibrary_ObjC" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_629891546665 /* Production Debug */, - BC_592419322448 /* Production Release */, - BC_724654958001 /* Staging Debug */, - BC_776042221288 /* Staging Release */, - BC_866329197584 /* Test Debug */, - BC_464603633927 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_437179166843 /* Build configuration list for PBXNativeTarget "StaticLibrary_Swift" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_456712168038 /* Production Debug */, - BC_570828727916 /* Production Release */, - BC_424897564588 /* Staging Debug */, - BC_669628489596 /* Staging Release */, - BC_530814251927 /* Test Debug */, - BC_264139320591 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_438704538506 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_499325041919 /* Production Debug */, - BC_381577484690 /* Production Release */, - BC_563308786207 /* Staging Debug */, - BC_790711614758 /* Staging Release */, - BC_835911551172 /* Test Debug */, - BC_685135820012 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_445731917037 /* Build configuration list for PBXAggregateTarget "SuperTarget" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_370290618113 /* Production Debug */, - BC_334821934458 /* Production Release */, - BC_439666751882 /* Staging Debug */, - BC_851086512031 /* Staging Release */, - BC_612244244384 /* Test Debug */, - BC_122527152613 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_472296042419 /* Build configuration list for PBXNativeTarget "Framework_iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_622471558373 /* Production Debug */, - BC_594849660073 /* Production Release */, - BC_313103118526 /* Staging Debug */, - BC_517306343059 /* Staging Release */, - BC_351179072988 /* Test Debug */, - BC_210338877784 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_479264660374 /* Build configuration list for PBXLegacyTarget "Legacy" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_805283956103 /* Production Debug */, - BC_467730755629 /* Production Release */, - BC_444705348320 /* Staging Debug */, - BC_645651856160 /* Staging Release */, - BC_799591451484 /* Test Debug */, - BC_129177384103 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_480982116789 /* Build configuration list for PBXNativeTarget "App_macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_280651168996 /* Production Debug */, - BC_627109222781 /* Production Release */, - BC_563702409464 /* Staging Debug */, - BC_914036878229 /* Staging Release */, - BC_866352849045 /* Test Debug */, - BC_707904794064 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_507023492251 /* Build configuration list for PBXNativeTarget "App_watchOS Extension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_504862512837 /* Production Debug */, - BC_702596407424 /* Production Release */, - BC_864485046941 /* Staging Debug */, - BC_697789525657 /* Staging Release */, - BC_823840129404 /* Test Debug */, - BC_296138297674 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_525119120469 /* Build configuration list for PBXNativeTarget "Framework_macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_705279564212 /* Production Debug */, - BC_282993554784 /* Production Release */, - BC_879000441352 /* Staging Debug */, - BC_765441740976 /* Staging Release */, - BC_108053643718 /* Test Debug */, - BC_741359447852 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_618687462494 /* Build configuration list for PBXNativeTarget "iMessageExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_488246438798 /* Production Debug */, - BC_831819337335 /* Production Release */, - BC_766399414659 /* Staging Debug */, - BC_167564962969 /* Staging Release */, - BC_309031681908 /* Test Debug */, - BC_609023497374 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_662315837182 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_275347760107 /* Production Debug */, - BC_493052431451 /* Production Release */, - BC_533481109982 /* Staging Debug */, - BC_760168680599 /* Staging Release */, - BC_655752097950 /* Test Debug */, - BC_380703106572 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_783122899910 /* Build configuration list for PBXNativeTarget "App_iOS_Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_568886047790 /* Production Debug */, - BC_368555321779 /* Production Release */, - BC_644737893954 /* Staging Debug */, - BC_210307580165 /* Staging Release */, - BC_240587562436 /* Test Debug */, - BC_793714544511 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_825232110500 /* Build configuration list for PBXNativeTarget "App_iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_799916603316 /* Production Debug */, - BC_128103534773 /* Production Release */, - BC_480688547948 /* Staging Debug */, - BC_265230327262 /* Staging Release */, - BC_749393271654 /* Test Debug */, - BC_530755208334 /* Test Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ""; - }; - CL_844877120535 /* Build configuration list for PBXProject "Project" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BC_709947688544 /* Production Debug */, - BC_242096321611 /* Production Release */, - BC_397339763951 /* Staging Debug */, - BC_730521266150 /* Staging Release */, - BC_832100796021 /* Test Debug */, - BC_575374366235 /* Test Release */, + 9163A49EEE507A13BD6BB29DE77C5AEB /* Production Debug */, + FF20BE3E1E930A3CDD0440B465F82FD9 /* Production Release */, + 86078CF18D4E8E2A296357BBD43BB418 /* Staging Debug */, + A245D8EE9B5EE2DC9F08D3E480476D6B /* Staging Release */, + 9B26DE732F220BC292EADF89DE60A554 /* Test Debug */, + EC28E440C15EE7F1FB7DB5DCE6730C35 /* Test Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = "Production Debug"; }; - CL_935153865209 /* Build configuration list for PBXNativeTarget "iMessageApp" */ = { + 13FC8BD638A49F585CF46B85EF6E6E4E /* Build configuration list for PBXNativeTarget "App_watchOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - BC_507219048168 /* Production Debug */, - BC_609753632568 /* Production Release */, - BC_301490151478 /* Staging Debug */, - BC_275754663824 /* Staging Release */, - BC_704315531994 /* Test Debug */, - BC_249152711841 /* Test Release */, + 617BB41EB582FD2294AD3F0EF67FF86C /* Production Debug */, + 17DD6C54D892A228DC61C020225C9051 /* Production Release */, + C1B80F9BE08D4FB9503CA748D889BCB6 /* Staging Debug */, + AEC12413C878641363A9F9D8159AFAFD /* Staging Release */, + BAC461FFB8CD5E0FBEF317CF56AE0847 /* Test Debug */, + C715D4C7279C44607E66D74085D7E2C3 /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 330B76D4702856DD55067456FD7A4F4A /* Build configuration list for PBXNativeTarget "iMessageExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B6B5C9184CEE823626CCCC86A8CD9AB0 /* Production Debug */, + B7022F6F63AADF6396ED13F7B439FD4A /* Production Release */, + E22E8833641D3779586C0B16FA32A016 /* Staging Debug */, + 8EB82130053C36429A3383113E7E4C52 /* Staging Release */, + A94D9A8E6B3EC8B43280005AA5CA08C5 /* Test Debug */, + 78064626756CECDA6038E7E6CF655FCD /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 4DF366239AC6F6E9EE59EEA525319ABA /* Build configuration list for PBXNativeTarget "App_iOS_Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 600D2124C2A4443FF163E6E3B501E909 /* Production Debug */, + 88755377456A33C84C2CDA0C44A6A61A /* Production Release */, + 71D8747E9D932CC57F5C7689CDAB915E /* Staging Debug */, + E6B9E89A82F37BBE7118A108CDD2FA96 /* Staging Release */, + 043A0C042785957178A6693CFA0E1AD6 /* Test Debug */, + 01DBD7FCC87C5676808C8DC642E5076D /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 526C1EB2E50CDBABCB448EE2FDF2E5D8 /* Build configuration list for PBXNativeTarget "XPC Service" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 76B45660690ECDC9D44E1D9957AF5029 /* Production Debug */, + 8EBAD5F0051E7CC4CB35D6D849C46F80 /* Production Release */, + 41AE4D3B9E1B4B940169B84E3BA5CCE7 /* Staging Debug */, + 3B64F4C26A564FBA69A8B5DD22A9CF1E /* Staging Release */, + CF4A979E679D2D7B6180C42079630DF7 /* Test Debug */, + 8946521E677C9578763AF0CAA5650B6E /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 59C3AA3AEA5802DA17DF9B42615D9B6B /* Build configuration list for PBXNativeTarget "iMessageApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A6191A82E89AAE95FF0927ADC4CED07C /* Production Debug */, + 48C7C82163507BFDDBBE9640C56C4384 /* Production Release */, + D517F3468BE1A7136FA1FCBBEF7555F1 /* Staging Debug */, + CA1133BA3266746EA55DC6CA3BB15C79 /* Staging Release */, + AB6DE922A459F5FD497E4A88028D774F /* Test Debug */, + 8D88F6B294E0A440C7E8DCFCC8FD89C6 /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 5B1322FEBB7A746BD1BF9227D37A7421 /* Build configuration list for PBXNativeTarget "App_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1B04852DE1BAC9963EC108C9CF616C68 /* Production Debug */, + BEA623C6A5A8AA7DFF3972CFA7FDB1FF /* Production Release */, + 5E2F1BACE5D532159E4E4CDEA7781A53 /* Staging Debug */, + 860C0A667616D8C33213E17E6B7FC967 /* Staging Release */, + 042BBE336DA13DF962EA6C453B022AF8 /* Test Debug */, + 8A20B26D66C3C3E2B0C19F697723BF52 /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 7066464807EABA4728B984B10A24E931 /* Build configuration list for PBXNativeTarget "StaticLibrary_ObjC" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7F6F9A02354EC9131372E38141776CF3 /* Production Debug */, + A23AD01C12E6042FBB38025556F802B9 /* Production Release */, + 94A3AAC4CEA168599D557CA3E04F4BDC /* Staging Debug */, + E288B83C7EAA142895818E3148453206 /* Staging Release */, + 8D77D883600ADB89A783275CF554E4A3 /* Test Debug */, + AF4710F4CCB14CED351633EBACE040EE /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 7523052A5C96494802A0431E05947F67 /* Build configuration list for PBXLegacyTarget "Legacy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2EABDD2A3CB1E85833E8A1555AE92380 /* Production Debug */, + A28E48690DF1F007ADE74AF8232F9936 /* Production Release */, + 6FFE1C21D2525DBB6DFB640EA7DC613A /* Staging Debug */, + 6E76891FB5D6528F7679C4029CEA9DDB /* Staging Release */, + FD6B56D66F61D5D15F85BF3A793A4737 /* Test Debug */, + B1E2C4D4695C5EF681BF34BD6414FFD9 /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 837376727FE2CF4AE46785F0E9561ED1 /* Build configuration list for PBXNativeTarget "App_macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 182E0CC8A3915AEB912F5D1291301A43 /* Production Debug */, + 07E1360852ED801B9A2C191311650CB6 /* Production Release */, + 9D3303E44AE7082447202EA72DDBE833 /* Staging Debug */, + 033BB6B0853606FB2D2FD4F80238B6C0 /* Staging Release */, + 953F56182B4014BC2431B0C3BC8C6116 /* Test Debug */, + 7F42FA78F9209A1EA4BE36ECC88B48DA /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 933D4300D58AA7B25E208357C65F2AD3 /* Build configuration list for PBXNativeTarget "App_iOS_UITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 56663C3D4D239DB7132EFC6F4BD6931F /* Production Debug */, + 8605D350B1463319F76600AD82025190 /* Production Release */, + C964103E2697EFFCBB8E04FAD89BCB2A /* Staging Debug */, + 65444C57D9A364444BA7003179D5061D /* Staging Release */, + 5AA86BB667B6BB6A065CDC7A86358C06 /* Test Debug */, + E86C0E6E6FD6A5052CFD159F134F7C0C /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + 9BA95DBD7B862EE1F43DC68338281D0E /* Build configuration list for PBXNativeTarget "Framework_macOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 591C680E52370290108989EB469E5509 /* Production Debug */, + FF1FD074D08FB642C47833A35CF9A077 /* Production Release */, + E3CDCDB9EED4CB38950534D8D9E521B2 /* Staging Debug */, + 5A1D3DA3365EDDAF6EC275BEF2A939B0 /* Staging Release */, + 17F6FF338B0EDFF7796A8F04E3F3800F /* Test Debug */, + 239E8DC605456167C1F5A3E11E89E02E /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + ABBCABD06AD7666C13DD9BAF0C16276E /* Build configuration list for PBXNativeTarget "Framework_iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9945D662313B9CDAC19EE8047DF3F96F /* Production Debug */, + 5F9AF0BD4959D01102D429D68A1AE409 /* Production Release */, + 5720F6E9771684E5729A08D75426C874 /* Staging Debug */, + AC0BADE62931604AA108798EB524D47A /* Staging Release */, + 787DD7CC61878131127305CB1AB42E45 /* Test Debug */, + B84D4575BDB10CC7877B363EE9AB4333 /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + CCF68725DCD5EF7FD03872D0B98C32F0 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F554EE27D3B2F59E7560BC2EA81F0126 /* Production Debug */, + 919E11B8D5FA5EE79F9312E6467F574E /* Production Release */, + 8A3DFEC561EA277BC662D7722D957AF7 /* Staging Debug */, + 0A20244EB4E72EC58117F028E72046EC /* Staging Release */, + 9846B0E883E03113D131FFC4E4BA1F08 /* Test Debug */, + D9FDA7C09DC2A6CD9C4249D09843E029 /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + DF19D3419A77EDFF6F8498EFC3E36048 /* Build configuration list for PBXAggregateTarget "SuperTarget" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DC7B7968E87668181B3ECAB77307359B /* Production Debug */, + 9450C1BF180480F99BCF85B483F6CB9A /* Production Release */, + 073C2C693117E1D34E1B0F985E54181E /* Staging Debug */, + 42E41490B4F137D48214D74A60E82741 /* Staging Release */, + 1A086472EE7B5AD1BCC790833A32EEBD /* Test Debug */, + B524E0A2A955DEAE9EA8A773C63AB9AC /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + F40A414D7A0A13368AC9FB64BA5C73AC /* Build configuration list for PBXNativeTarget "StaticLibrary_Swift" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AE20EE3DA3CAF7CF656625BC1104E356 /* Production Debug */, + 017D658B4ABE46C5A30A44E1EB610EEC /* Production Release */, + B5ED36F7268D18E542F85A14D09E1740 /* Staging Debug */, + A3BBDD580918C4146F640B3D5BECDE3A /* Staging Release */, + 238AD5E15AEE443741AA30FC7DF9BE4E /* Test Debug */, + EF427E493E485ED823B46796B5706EE0 /* Test Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = ""; + }; + FC084246C395F08CB12677620BAF2399 /* Build configuration list for PBXNativeTarget "App_watchOS Extension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 70725C98440FD53BB91443718AC11C49 /* Production Debug */, + D30FF0A51CA7720140967225CEB93621 /* Production Release */, + 1D285F94CF59832C2BA027CD569DDAB7 /* Staging Debug */, + 3BE57E2A55CD16BC51F289949EC85F76 /* Staging Release */, + 096ECE14561204A143946060635175E2 /* Test Debug */, + 4E69BB19B16E547D43AF93A25BCD9F31 /* Test Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = ""; @@ -3950,19 +3934,19 @@ /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ - VG_229021855709 /* Model.xcdatamodeld */ = { + 32AE52CAD620F8B92487AA4F5924D0EC /* Model.xcdatamodeld */ = { isa = XCVersionGroup; children = ( - FR_796781152159 /* Model 2.xcdatamodel */, - FR_263408310401 /* Model 3.xcdatamodel */, - FR_570918052822 /* Model.xcdatamodel */, + FBF4C9FD09B493401414CA2F3086041F /* Model 2.xcdatamodel */, + F04030C0892CAC78F4B4376F938018E3 /* Model 3.xcdatamodel */, + D99F14029800E2D9F2434C4B6D718A5E /* Model.xcdatamodel */, ); - currentVersion = FR_796781152159 /* Model 2.xcdatamodel */; + currentVersion = FBF4C9FD09B493401414CA2F3086041F /* Model 2.xcdatamodel */; path = Model.xcdatamodeld; sourceTree = ""; versionGroupType = wrapper.xcdatamodel; }; /* End XCVersionGroup section */ }; - rootObject = P_8448771205358 /* Project object */; + rootObject = 48BA824E9883B72747F77581255D9C94 /* Project object */; } diff --git a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_iOS.xcscheme b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_iOS.xcscheme index 7ab45029..3859a09f 100644 --- a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_iOS.xcscheme +++ b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_iOS.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> @@ -33,7 +33,7 @@ skipped = "NO"> @@ -43,7 +43,7 @@ skipped = "NO"> @@ -53,7 +53,7 @@ @@ -86,7 +86,7 @@ runnableDebuggingMode = "0"> @@ -115,7 +115,7 @@ runnableDebuggingMode = "0"> diff --git a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_watchOS.xcscheme b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_watchOS.xcscheme index e90239d7..d5d61020 100644 --- a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_watchOS.xcscheme +++ b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/App_watchOS.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> @@ -32,7 +32,7 @@ @@ -57,7 +57,7 @@ runnableDebuggingMode = "0"> @@ -78,7 +78,7 @@ runnableDebuggingMode = "0"> diff --git a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/Framework.xcscheme b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/Framework.xcscheme index 7cd199b6..fa3f0ee7 100644 --- a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/Framework.xcscheme +++ b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/Framework.xcscheme @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ buildForAnalyzing = "YES"> @@ -50,7 +50,7 @@ @@ -72,7 +72,7 @@ @@ -101,7 +101,7 @@ runnableDebuggingMode = "0"> diff --git a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/iMessageApp.xcscheme b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/iMessageApp.xcscheme index 5715467e..1e73621f 100644 --- a/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/iMessageApp.xcscheme +++ b/Tests/Fixtures/TestProject/Project.xcodeproj/xcshareddata/xcschemes/iMessageApp.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> @@ -32,7 +32,7 @@ @@ -57,7 +57,7 @@ runnableDebuggingMode = "0"> @@ -78,7 +78,7 @@ runnableDebuggingMode = "0"> diff --git a/Tests/XcodeGenKitTests/GeneratorHelpers.swift b/Tests/XcodeGenKitTests/GeneratorHelpers.swift index 11157fca..f6a46761 100644 --- a/Tests/XcodeGenKitTests/GeneratorHelpers.swift +++ b/Tests/XcodeGenKitTests/GeneratorHelpers.swift @@ -2,7 +2,7 @@ import PathKit import ProjectSpec import Spectre import XcodeGenKit -import xcproj +import xcodeproj import XCTest import Yams @@ -32,11 +32,11 @@ extension PBXProj { let mainGroup = try getMainGroup() func validateGroup(_ group: PBXGroup) throws { - let hasDuplicatedChildren = group.children.count != Set(group.children).count + let hasDuplicatedChildren = group.childrenReferences.count != Set(group.childrenReferences).count if hasDuplicatedChildren { - throw failure("Group \"\(group.nameOrPath)\" has duplicated children:\n - \(group.children.sorted().joined(separator: "\n - "))") + throw failure("Group \"\(group.nameOrPath)\" has duplicated children:\n - \(group.childrenReferences.map { String(describing: $0) }.joined(separator: "\n - "))") } - for child in group.children { + for child in group.childrenReferences { if let group = objects.groups.getReference(child) { try validateGroup(group) } diff --git a/Tests/XcodeGenKitTests/ProjectFixtureTests.swift b/Tests/XcodeGenKitTests/ProjectFixtureTests.swift index b66e50b3..81df62d2 100644 --- a/Tests/XcodeGenKitTests/ProjectFixtureTests.swift +++ b/Tests/XcodeGenKitTests/ProjectFixtureTests.swift @@ -2,8 +2,9 @@ import PathKit import ProjectSpec import Spectre import XcodeGenKit -import xcproj +import xcodeproj import XCTest +import Basic class ProjectFixtureTests: XCTestCase { @@ -18,12 +19,12 @@ class ProjectFixtureTests: XCTestCase { $0.it("generates variant group") { guard let xcodeProject = xcodeProject else { return } - func getFileReferences(_ path: String) -> [ObjectReference] { - return xcodeProject.pbxproj.objects.fileReferences.objectReferences.filter { $0.object.path == path } + func getFileReferences(_ path: String) -> [PBXFileReference] { + return xcodeProject.pbxproj.objects.fileReferences.values.filter { $0.path == path } } func getVariableGroups(_ name: String?) -> [PBXVariantGroup] { - return xcodeProject.pbxproj.objects.variantGroups.referenceValues.filter { $0.name == name } + return xcodeProject.pbxproj.objects.variantGroups.values.filter { $0.name == name } } let resourceName = "LocalizedStoryboard.storyboard" @@ -35,13 +36,13 @@ class ProjectFixtureTests: XCTestCase { do { let refs = getFileReferences(baseResource) try expect(refs.count) == 1 - try expect(variableGroup.children.filter { $0 == refs.first?.reference }.count) == 1 + try expect(variableGroup.childrenReferences.filter { $0 == refs.first?.reference }.count) == 1 } do { let refs = getFileReferences(localizedResource) try expect(refs.count) == 1 - try expect(variableGroup.children.filter { $0 == refs.first?.reference }.count) == 1 + try expect(variableGroup.childrenReferences.filter { $0 == refs.first?.reference }.count) == 1 } } @@ -59,11 +60,12 @@ class ProjectFixtureTests: XCTestCase { } fileprivate func generateXcodeProject(specPath: Path, projectPath: Path, file: String = #file, line: Int = #line) throws -> XcodeProj { + let projectPath = AbsolutePath(projectPath.absolute().string) let project = try Project(path: specPath) let generator = ProjectGenerator(project: project) let xcodeProject = try generator.generateXcodeProject() let oldProject = try XcodeProj(path: projectPath) - let pbxProjPath = projectPath + XcodeProj.pbxprojPath(projectPath) + let pbxProjPath = Path(XcodeProj.pbxprojPath(projectPath).asString) let oldProjectString: String = try pbxProjPath.read() try xcodeProject.write(path: projectPath, override: true) let newProjectString: String = try pbxProjPath.read() @@ -71,7 +73,7 @@ fileprivate func generateXcodeProject(specPath: Path, projectPath: Path, file: S let newProject = try XcodeProj(path: projectPath) let stringDiff = newProjectString != oldProjectString if newProject != oldProject || stringDiff { - var message = "\(projectPath.string) has changed. If change is legitimate commit the change and run test again" + var message = "\(projectPath.asString) has changed. If change is legitimate commit the change and run test again" if stringDiff { message += ":\n\n\(pbxProjPath):\n\(prettyFirstDifferenceBetweenStrings(oldProjectString, newProjectString))" } diff --git a/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift b/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift index 7e5e624d..ce7fb762 100644 --- a/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift +++ b/Tests/XcodeGenKitTests/ProjectGeneratorTests.swift @@ -2,7 +2,7 @@ import PathKit import ProjectSpec import Spectre import XcodeGenKit -import xcproj +import xcodeproj import XCTest import Yams @@ -42,9 +42,9 @@ class ProjectGeneratorTests: XCTestCase { let project = Project(basePath: "", name: "test", targets: [framework], options: options) let pbxProj = try project.generatePbxProj() guard let target = pbxProj.objects.nativeTargets.first?.value, - let buildConfigList = target.buildConfigurationList, + let buildConfigList = target.buildConfigurationListReference, let buildConfigs = pbxProj.objects.configurationLists.getReference(buildConfigList), - let buildConfigReference = buildConfigs.buildConfigurations.first, + let buildConfigReference = buildConfigs.buildConfigurationsReferences.first, let buildConfig = pbxProj.objects.buildConfigurations.getReference(buildConfigReference) else { throw failure("Build Config not found") } @@ -55,7 +55,7 @@ class ProjectGeneratorTests: XCTestCase { let options = SpecOptions(settingPresets: .none) let project = Project(basePath: "", name: "test", targets: [framework], options: options) let pbxProj = try project.generatePbxProj() - let allSettings = pbxProj.objects.buildConfigurations.referenceValues.reduce([:]) { $0.merged($1.buildSettings) }.keys.sorted() + let allSettings = pbxProj.objects.buildConfigurations.values.reduce([:]) { $0.merged($1.buildSettings) }.keys.sorted() try expect(allSettings) == ["SETTING_2"] } @@ -92,7 +92,7 @@ class ProjectGeneratorTests: XCTestCase { let project = Project(basePath: "", name: "test", configs: [Config(name: "Aconfig"), Config(name: "Bconfig")], targets: [framework], options: options) let pbxProject = try project.generatePbxProj() - guard let projectConfigListReference = pbxProject.objects.projects.values.first?.buildConfigurationList, + guard let projectConfigListReference = pbxProject.objects.projects.values.first?.buildConfigurationListReference, let defaultConfigurationName = pbxProject.objects.configurationLists[projectConfigListReference]?.defaultConfigurationName else { throw failure("Default configuration name not found") @@ -109,7 +109,7 @@ class ProjectGeneratorTests: XCTestCase { $0.it("generates config defaults") { let project = Project(basePath: "", name: "test") let pbxProj = try project.generatePbxProj() - let configs = pbxProj.objects.buildConfigurations.referenceValues + let configs = pbxProj.objects.buildConfigurations.valueArray try expect(configs.count) == 2 try expect(configs).contains(name: "Debug") try expect(configs).contains(name: "Release") @@ -122,7 +122,7 @@ class ProjectGeneratorTests: XCTestCase { configs: [Config(name: "config1"), Config(name: "config2")] ) let pbxProj = try project.generatePbxProj() - let configs = pbxProj.objects.buildConfigurations.referenceValues + let configs = pbxProj.objects.buildConfigurations.valueArray try expect(configs.count) == 2 try expect(configs).contains(name: "config1") try expect(configs).contains(name: "config2") @@ -198,8 +198,8 @@ class ProjectGeneratorTests: XCTestCase { $0.it("generates aggregate targets") { let pbxProject = try project.generatePbxProj() - let nativeTargets = pbxProject.objects.nativeTargets.referenceValues - let aggregateTargets = pbxProject.objects.aggregateTargets.referenceValues + let nativeTargets = pbxProject.objects.nativeTargets.valueArray.sorted { $0.name < $1.name } + let aggregateTargets = pbxProject.objects.aggregateTargets.valueArray.sorted { $0.name < $1.name } try expect(nativeTargets.count) == 4 try expect(aggregateTargets.count) == 2 @@ -216,8 +216,7 @@ class ProjectGeneratorTests: XCTestCase { let target2 = nativeTargets.first { $0.name == "Other2" } try expect(target2?.dependencies.count) == 2 - let targetDependencies = pbxProject.objects.targetDependencies.referenceValues - try expect(targetDependencies.count) == 7 + try expect(pbxProject.objects.targetDependencies.count) == 7 } } } @@ -229,7 +228,7 @@ class ProjectGeneratorTests: XCTestCase { $0.it("generates targets") { let pbxProject = try project.generatePbxProj() - let nativeTargets = pbxProject.objects.nativeTargets.referenceValues + let nativeTargets = pbxProject.objects.nativeTargets.values try expect(nativeTargets.count) == 3 try expect(nativeTargets.contains { $0.name == app.name }).beTrue() try expect(nativeTargets.contains { $0.name == framework.name }).beTrue() @@ -246,7 +245,7 @@ class ProjectGeneratorTests: XCTestCase { let project = Project(basePath: "", name: "test", targets: [appTargetWithAttributes, framework, testTargetWithAttributes]) let pbxProject = try project.generatePbxProj() - guard let targetAttributes = pbxProject.objects.projects.referenceValues.first?.attributes["TargetAttributes"] as? [String: [String: Any]] else { + guard let targetAttributes = pbxProject.objects.projects.values.first?.attributes["TargetAttributes"] as? [PBXObjectReference: [String: Any]] else { throw failure("Couldn't find Project TargetAttributes") } @@ -258,7 +257,7 @@ class ProjectGeneratorTests: XCTestCase { throw failure("Couldn't find UITest Target") } - try expect(targetAttributes[uiTestTarget.reference]?["TestTargetID"] as? String) == appTarget.reference + //try expect(targetAttributes[uiTestTarget.reference]?["TestTargetID"] as? String) == appTarget.reference.value try expect(targetAttributes[uiTestTarget.reference]?["ProvisioningStyle"] as? String) == "Manual" try expect(targetAttributes[appTarget.reference]?["ProvisioningStyle"] as? String) == "Automatic" try expect(targetAttributes[appTarget.reference]?["DevelopmentTeam"] as? String) == "123" @@ -270,15 +269,15 @@ class ProjectGeneratorTests: XCTestCase { let pbxProject = try project.generatePbxProj() - guard let projectConfigListReference = pbxProject.objects.projects.values.first?.buildConfigurationList, - let projectConfigReference = pbxProject.objects.configurationLists[projectConfigListReference]?.buildConfigurations.first, + guard let projectConfigListReference = pbxProject.objects.projects.values.first?.buildConfigurationListReference, + let projectConfigReference = pbxProject.objects.configurationLists[projectConfigListReference]?.buildConfigurationsReferences.first, let projectConfig = pbxProject.objects.buildConfigurations[projectConfigReference] else { throw failure("Couldn't find Project config") } - guard let targetConfigListReference = pbxProject.objects.nativeTargets.referenceValues.first?.buildConfigurationList, - let targetConfigReference = pbxProject.objects.configurationLists[targetConfigListReference]?.buildConfigurations.first, + guard let targetConfigListReference = pbxProject.objects.nativeTargets.values.first?.buildConfigurationListReference, + let targetConfigReference = pbxProject.objects.configurationLists[targetConfigListReference]?.buildConfigurationsReferences.first, let targetConfig = pbxProject.objects.buildConfigurations[targetConfigReference] else { throw failure("Couldn't find Target config") @@ -296,8 +295,8 @@ class ProjectGeneratorTests: XCTestCase { $0.it("generates dependencies") { let pbxProject = try project.generatePbxProj() - let nativeTargets = pbxProject.objects.nativeTargets.objectReferences - let dependencies = pbxProject.objects.targetDependencies.objectReferences + let nativeTargets = pbxProject.objects.nativeTargets.values + let dependencies = pbxProject.objects.targetDependencies.valueArray.sorted { (try? $0.target())??.name ?? "" < (try? $1.target())??.name ?? "" } try expect(dependencies.count) == 2 let appTarget = nativeTargets.first { $0.object.name == app.name } let frameworkTarget = nativeTargets.first { $0.object.name == framework.name } @@ -543,20 +542,20 @@ class ProjectGeneratorTests: XCTestCase { let pbxProject = try project.generatePbxProj() for target in targets { - guard let nativeTarget = pbxProject.objects.nativeTargets.referenceValues.first(where: { $0.name == target.name }) else { + guard let nativeTarget = pbxProject.objects.nativeTargets.values.first(where: { $0.name == target.name }) else { throw failure("PBXNativeTarget for \(target) not found") } - let buildPhases = nativeTarget.buildPhases - let resourcesPhases = pbxProject.objects.resourcesBuildPhases.objectReferences.filter { buildPhases.contains($0.reference) } - let frameworkPhases = pbxProject.objects.frameworksBuildPhases.objectReferences.filter { buildPhases.contains($0.reference) } - let copyFilesPhases = pbxProject.objects.copyFilesBuildPhases.objectReferences.filter { buildPhases.contains($0.reference) } + let buildPhases = nativeTarget.buildPhasesReferences + let resourcesPhases = pbxProject.objects.resourcesBuildPhases.values.filter { buildPhases.contains($0.reference) } + let frameworkPhases = pbxProject.objects.frameworksBuildPhases.values.filter { buildPhases.contains($0.reference) } + let copyFilesPhases = pbxProject.objects.copyFilesBuildPhases.values.filter { buildPhases.contains($0.reference) } // ensure only the right resources are copies, no more, no less let expectedResourceFiles = expectedResourceFiles[target.name]! try expect(resourcesPhases.count) == (expectedResourceFiles.isEmpty ? 0 : 1) if !expectedResourceFiles.isEmpty { - let resourceFiles = resourcesPhases[0].object.files - .compactMap { pbxProject.objects.buildFiles[$0]?.fileRef.flatMap { pbxProject.objects.fileReferences[$0]?.nameOrPath } } + let resourceFiles = resourcesPhases[0].fileReferences + .compactMap { pbxProject.objects.buildFiles[$0]?.fileReference.flatMap { pbxProject.objects.fileReferences[$0]?.nameOrPath } } try expect(Set(resourceFiles)) == expectedResourceFiles } @@ -564,8 +563,8 @@ class ProjectGeneratorTests: XCTestCase { let expectedLinkedFiles = expectedLinkedFiles[target.name]! try expect(frameworkPhases.count) == (expectedLinkedFiles.isEmpty ? 0 : 1) if !expectedLinkedFiles.isEmpty { - let linkFrameworks = frameworkPhases[0].object.files - .compactMap { pbxProject.objects.buildFiles[$0]?.fileRef.flatMap { pbxProject.objects.fileReferences[$0]?.nameOrPath } } + let linkFrameworks = frameworkPhases[0].fileReferences + .compactMap { pbxProject.objects.buildFiles[$0]?.fileReference.flatMap { pbxProject.objects.fileReferences[$0]?.nameOrPath } } try expect(Set(linkFrameworks)) == expectedLinkedFiles } @@ -573,8 +572,8 @@ class ProjectGeneratorTests: XCTestCase { let expectedEmbeddedFrameworks = expectedEmbeddedFrameworks[target.name]! try expect(copyFilesPhases.count) == (expectedEmbeddedFrameworks.isEmpty ? 0 : 1) if !expectedEmbeddedFrameworks.isEmpty { - let copyFiles = copyFilesPhases[0].object.files - .compactMap { pbxProject.objects.buildFiles[$0]?.fileRef.flatMap { pbxProject.objects.fileReferences[$0]?.nameOrPath } } + let copyFiles = copyFilesPhases[0].fileReferences + .compactMap { pbxProject.objects.buildFiles[$0]?.fileReference.flatMap { pbxProject.objects.fileReferences[$0]?.nameOrPath } } try expect(Set(copyFiles)) == expectedEmbeddedFrameworks } } @@ -641,10 +640,10 @@ class ProjectGeneratorTests: XCTestCase { let pbxProj = try project.generatePbxProj() func buildSettings(for target: Target) throws -> BuildSettings { - guard let nativeTarget = pbxProj.objects.targets(named: target.name).first?.object, - let buildConfigList = nativeTarget.buildConfigurationList, + guard let nativeTarget = pbxProj.objects.targets(named: target.name).first, + let buildConfigList = nativeTarget.buildConfigurationListReference, let buildConfigs = pbxProj.objects.configurationLists.getReference(buildConfigList), - let buildConfigReference = buildConfigs.buildConfigurations.first, + let buildConfigReference = buildConfigs.buildConfigurationsReferences.first, let buildConfig = pbxProj.objects.buildConfigurations.getReference(buildConfigReference) else { throw failure("XCBuildConfiguration not found for Target \(target.name.quoted)") } @@ -699,16 +698,16 @@ class ProjectGeneratorTests: XCTestCase { let pbxProject = try project.generatePbxProj() func scriptBuildPhases(target: Target) throws -> [PBXShellScriptBuildPhase] { - guard let nativeTarget = pbxProject.objects.nativeTargets.referenceValues.first(where: { $0.name == target.name }) else { + guard let nativeTarget = pbxProject.objects.nativeTargets.values.first(where: { $0.name == target.name }) else { throw failure("PBXNativeTarget for \(target) not found") } - let buildPhases = nativeTarget.buildPhases - let scriptPhases = pbxProject.objects.shellScriptBuildPhases.objectReferences.filter({ buildPhases.contains($0.reference) }).map { $0.object } + let buildPhases = nativeTarget.buildPhasesReferences + let scriptPhases = pbxProject.objects.shellScriptBuildPhases.values.filter { buildPhases.contains($0.reference) } return scriptPhases } let expectedScriptPhase = PBXShellScriptBuildPhase( - files: [], + fileReferences: [], name: "Copy Swift Objective-C Interface Header", inputPaths: ["$(DERIVED_SOURCES_DIR)/$(SWIFT_OBJC_INTERFACE_HEADER_NAME)"], outputPaths: ["$(BUILT_PRODUCTS_DIR)/include/$(PRODUCT_MODULE_NAME)/$(SWIFT_OBJC_INTERFACE_HEADER_NAME)"], @@ -727,21 +726,18 @@ class ProjectGeneratorTests: XCTestCase { scriptSpec.targets[0].postbuildScripts = [BuildScript(script: .script("script2"))] let pbxProject = try scriptSpec.generatePbxProj() - guard let nativeTarget = pbxProject.objects.nativeTargets.referenceValues - .first(where: { $0.buildPhases.count >= 2 }) else { + guard let nativeTarget = pbxProject.objects.nativeTargets.values + .first(where: { $0.buildPhasesReferences.count >= 2 }) else { throw failure("Target with build phases not found") } - let buildPhases = nativeTarget.buildPhases + let buildPhases = nativeTarget.buildPhasesReferences - let scripts = pbxProject.objects.shellScriptBuildPhases.objectReferences - let script1 = scripts[0] - let script2 = scripts[1] + let scripts = pbxProject.objects.shellScriptBuildPhases.valueArray + let script1 = scripts.first { $0.shellScript == "script1" } + let script2 = scripts.first { $0.shellScript == "script2" } try expect(scripts.count) == 2 - try expect(buildPhases.first) == script1.reference - try expect(buildPhases.last) == script2.reference - - try expect(script1.object.shellScript) == "script1" - try expect(script2.object.shellScript) == "script2" + try expect(buildPhases.first) == script1?.reference + try expect(buildPhases.last) == script2?.reference } $0.it("generates targets with cylical dependencies") { @@ -783,7 +779,7 @@ class ProjectGeneratorTests: XCTestCase { ] let pbxProject = try scriptSpec.generatePbxProj() - let buildRules = pbxProject.objects.buildRules.referenceValues + let buildRules = pbxProject.objects.buildRules.values try expect(buildRules.count) == 2 let first = buildRules.first { $0.name == "My Rule" }! let second = buildRules.first { $0.name != "My Rule" }! @@ -825,8 +821,8 @@ class ProjectGeneratorTests: XCTestCase { schemes: [scheme] ) let xcodeProject = try project.generateXcodeProject() - guard let target = xcodeProject.pbxproj.objects.nativeTargets.objectReferences - .first(where: { $0.object.name == app.name }) else { + guard let target = xcodeProject.pbxproj.objects.nativeTargets.values + .first(where: { $0.name == app.name }) else { throw failure("Target not found") } guard let xcscheme = xcodeProject.sharedData?.schemes.first else { @@ -853,8 +849,8 @@ class ProjectGeneratorTests: XCTestCase { for buildableReference in buildableReferences { try expect(buildableReference.blueprintIdentifier) == target.reference - try expect(buildableReference.blueprintName) == target.object.name - try expect(buildableReference.buildableName) == "\(target.object.name).\(target.object.productType!.fileExtension!)" + try expect(buildableReference.blueprintName) == target.name + try expect(buildableReference.buildableName) == "\(target.name).\(target.productType!.fileExtension!)" } try expect(xcscheme.launchAction?.buildConfiguration) == "Debug" @@ -890,8 +886,8 @@ class ProjectGeneratorTests: XCTestCase { } try expect( - xcodeProject.pbxproj.objects.nativeTargets.objectReferences - .contains(where: { $0.object.name == app.name }) + xcodeProject.pbxproj.objects.nativeTargets.values + .contains(where: { $0.name == app.name }) ).beTrue() try expect(xcscheme.launchAction?.environmentVariables) == runVariables try expect(xcscheme.testAction?.environmentVariables).to.beNil() @@ -914,8 +910,8 @@ class ProjectGeneratorTests: XCTestCase { try expect(xcodeProject.sharedData?.schemes.count) == 2 - guard let nativeTarget = xcodeProject.pbxproj.objects.nativeTargets.objectReferences - .first(where: { $0.object.name == app.name }) else { + guard let nativeTarget = xcodeProject.pbxproj.objects.nativeTargets.values + .first(where: { $0.name == app.name }) else { throw failure("Target not found") } guard let xcscheme = xcodeProject.sharedData?.schemes @@ -925,6 +921,7 @@ class ProjectGeneratorTests: XCTestCase { guard let buildActionEntry = xcscheme.buildAction?.buildActionEntries.first else { throw failure("Build Action entry not found") } + try expect(buildActionEntry.buildableReference.blueprintIdentifier) == nativeTarget.reference try expect(xcscheme.launchAction?.buildConfiguration) == "Test Debug" diff --git a/Tests/XcodeGenKitTests/ProjectSpecTests.swift b/Tests/XcodeGenKitTests/ProjectSpecTests.swift index b3994ca2..d2ff0cba 100644 --- a/Tests/XcodeGenKitTests/ProjectSpecTests.swift +++ b/Tests/XcodeGenKitTests/ProjectSpecTests.swift @@ -2,7 +2,7 @@ import PathKit import ProjectSpec import Spectre import XcodeGenKit -import xcproj +import xcodeproj import XCTest class ProjectSpecTests: XCTestCase { diff --git a/Tests/XcodeGenKitTests/SourceGeneratorTests.swift b/Tests/XcodeGenKitTests/SourceGeneratorTests.swift index b382ab9c..83dc5554 100644 --- a/Tests/XcodeGenKitTests/SourceGeneratorTests.swift +++ b/Tests/XcodeGenKitTests/SourceGeneratorTests.swift @@ -2,7 +2,7 @@ import PathKit import ProjectSpec import Spectre import XcodeGenKit -import xcproj +import xcodeproj import XCTest import Yams @@ -85,16 +85,18 @@ class SourceGeneratorTests: XCTestCase { let project = Project(basePath: directoryPath, name: "Test", targets: [target]) let pbxProj = try project.generatePbxProj() try pbxProj.expectFile(paths: ["Sources", "Bar.swift"], buildPhase: .sources) - let buildPhase = pbxProj.objects.copyFilesBuildPhases.referenceValues.first + let buildPhase = pbxProj.objects.copyFilesBuildPhases.values.first try expect(buildPhase?.dstSubfolderSpec) == .frameworks let fileReference = pbxProj.getFileReference( paths: ["Sources", "Foo.framework"], names: ["Sources", "Foo.framework"] - )?.reference ?? "" - let buildFile = pbxProj.objects.buildFiles.objectReferences - .first(where: { $0.object.fileRef == fileReference })?.reference ?? "" - try expect(buildPhase?.files.count) == 1 - try expect(buildPhase?.files.contains(buildFile)) == true + )?.reference + guard let buildFile = pbxProj.objects.buildFiles.valueArray + .first(where: { $0.fileReference == fileReference })?.reference else { + throw failure("Cant find build file") + } + try expect(buildPhase?.fileReferences.count) == 1 + try expect(buildPhase?.fileReferences.contains(buildFile)) == true } $0.it("generates core data models") { @@ -119,7 +121,7 @@ class SourceGeneratorTests: XCTestCase { throw failure("Couldn't find version group") } try expect(versionGroup.currentVersion) == fileReference.key - try expect(versionGroup.children.count) == 3 + try expect(versionGroup.childrenReferences.count) == 3 try expect(versionGroup.path) == "model.xcdatamodeld" try expect(fileReference.value.path) == "model2.xcdatamodel" } @@ -462,7 +464,7 @@ class SourceGeneratorTests: XCTestCase { .first(where: { $0.1.buildPhase == BuildPhase.sources })! .value - try expect(sourcesBuildPhase.files.count) == 1 + try expect(sourcesBuildPhase.fileReferences.count) == 1 } $0.it("derived directories are sorted last") { @@ -480,7 +482,7 @@ class SourceGeneratorTests: XCTestCase { let project = Project(basePath: directoryPath, name: "Test", targets: [target]) let pbxProj = try project.generatePbxProj() - let groups = try pbxProj.getMainGroup().children.compactMap { pbxProj.objects.getFileElement(reference: $0)?.nameOrPath } + let groups = try pbxProj.getMainGroup().childrenReferences.compactMap { pbxProj.objects.getFileElement(reference: $0)?.nameOrPath } try expect(groups) == ["A", "P", "S", "Frameworks", "Products"] } @@ -503,8 +505,9 @@ class SourceGeneratorTests: XCTestCase { let project = Project(basePath: directoryPath, name: "Test", targets: [target]) let pbxProj = try project.generatePbxProj() - let group = pbxProj.objects.group(named: "Sources", inGroup: try pbxProj.getMainGroup())!.object - let names = group.children.compactMap { pbxProj.objects.getFileElement(reference: $0)?.nameOrPath } + let mainGroup = try pbxProj.getMainGroup() + let group = mainGroup.childrenReferences.compactMap { pbxProj.objects.groups[$0]}.first { $0.nameOrPath == "Sources" }! + let names = group.childrenReferences.compactMap { pbxProj.objects.getFileElement(reference: $0)?.nameOrPath } try expect(names) == [ "1file.a", "10file.a", @@ -532,10 +535,10 @@ extension PBXProj { } if let buildPhase = buildPhase { - let buildFile = objects.buildFiles.objectReferences - .first(where: { $0.object.fileRef == fileReference.reference }) + let buildFile = objects.buildFiles.values + .first(where: { $0.fileReference == fileReference.reference }) let actualBuildPhase = buildFile - .flatMap { buildFile in objects.buildPhases.referenceValues.first { $0.files.contains(buildFile.reference) } }?.buildPhase + .flatMap { buildFile in objects.buildPhases.values.first { $0.fileReferences.contains(buildFile.reference) } }?.buildPhase var error: String? if let buildPhase = buildPhase.buildPhase { @@ -563,9 +566,9 @@ extension PBXProj { } } - func getFileReference(paths: [String], names: [String], file: String = #file, line: Int = #line) -> ObjectReference? { + func getFileReference(paths: [String], names: [String], file: String = #file, line: Int = #line) -> PBXFileReference? { guard let project = objects.projects.first?.value else { return nil } - guard let mainGroup = objects.groups.getReference(project.mainGroup) else { return nil } + guard let mainGroup = objects.groups.getReference(project.mainGroupReference) else { return nil } return getFileReference(group: mainGroup, paths: paths, names: names) } @@ -574,13 +577,13 @@ extension PBXProj { guard let project = objects.projects.first?.value else { throw failure("Couldn't find project", file: file, line: line) } - guard let mainGroup = objects.groups.getReference(project.mainGroup) else { + guard let mainGroup = objects.groups.getReference(project.mainGroupReference) else { throw failure("Couldn't find main group", file: file, line: line) } return mainGroup } - private func getFileReference(group: PBXGroup, paths: [String], names: [String]) -> ObjectReference? { + private func getFileReference(group: PBXGroup, paths: [String], names: [String]) -> PBXFileReference? { guard !paths.isEmpty else { return nil } let path = paths.first! @@ -588,16 +591,10 @@ extension PBXProj { let restOfPath = Array(paths.dropFirst()) let restOfName = Array(names.dropFirst()) if restOfPath.isEmpty { - let fileReferences: [ObjectReference] = group.children.compactMap { reference in - if let fileReference = self.objects.fileReferences.getReference(reference) { - return ObjectReference(reference: reference, object: fileReference) - } else { - return nil - } - } - return fileReferences.first { $0.object.path == path && $0.object.nameOrPath == name } + let fileReferences: [PBXFileReference] = group.childrenReferences.compactMap { self.objects.fileReferences.getReference($0) } + return fileReferences.first { $0.path == path && $0.nameOrPath == name } } else { - let groups = group.children.compactMap { self.objects.groups.getReference($0) } + let groups = group.childrenReferences.compactMap { self.objects.groups.getReference($0) } guard let group = groups.first(where: { $0.path == path && $0.nameOrPath == name }) else { return nil } return getFileReference(group: group, paths: restOfPath, names: restOfName) } diff --git a/Tests/XcodeGenKitTests/SpecLoadingTests.swift b/Tests/XcodeGenKitTests/SpecLoadingTests.swift index a6d47476..8fc9e702 100644 --- a/Tests/XcodeGenKitTests/SpecLoadingTests.swift +++ b/Tests/XcodeGenKitTests/SpecLoadingTests.swift @@ -3,7 +3,7 @@ import PathKit import ProjectSpec import Spectre import XcodeGenKit -import xcproj +import xcodeproj import XCTest class SpecLoadingTests: XCTestCase { diff --git a/Tests/XcodeGenKitTests/TestHelpers.swift b/Tests/XcodeGenKitTests/TestHelpers.swift index 49b07818..54a7b700 100644 --- a/Tests/XcodeGenKitTests/TestHelpers.swift +++ b/Tests/XcodeGenKitTests/TestHelpers.swift @@ -2,7 +2,7 @@ import Foundation import PathKit import ProjectSpec import Spectre -import xcproj +import xcodeproj import XCTest let fixturePath = Path(#file).parent().parent() + "Fixtures"