mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2026-03-18 20:02:25 +00:00
Merge pull request #543 from yonaskolb/carthage_version_loader
Update Carthage framework lookup
This commit is contained in:
+3
-3
@@ -3,12 +3,12 @@
|
||||
## Master
|
||||
|
||||
#### Added
|
||||
- Added `missingConfigFiles` to `options.disabledValidations` to optionally skip checking for the existence of config files.
|
||||
- Added ability to automatically include Carthage related dependencies via `includeRelated: true` [#506](https://github.com/yonaskolb/XcodeGen/pull/506) @rpassis
|
||||
- Added ability to define a per-platform `deploymentTarget` for Multi-Platform targets. [#510](https://github.com/yonaskolb/XcodeGen/pull/510) @ainopara
|
||||
- Added ability to automatically find all the frameworks for Carthage dependencies via `options.findCarthageFrameworks` or `dependency.findFrameworks`. See the [Carthage](Docs/Usage.md#carthage) usage docs for more info [#506](https://github.com/yonaskolb/XcodeGen/pull/506) [#543](https://github.com/yonaskolb/XcodeGen/pull/543) @rpassis @yonaskolb
|
||||
- Added support for nested target templates [#534](https://github.com/yonaskolb/XcodeGen/pull/534) @tomquist
|
||||
- Added ability to define `templateAttributes` within a target to be able to parameterize templates. [#533](https://github.com/yonaskolb/XcodeGen/pull/533) @tomquist
|
||||
- Added ability to set `link` to false in framework dependencies [#532](https://github.com/yonaskolb/XcodeGen/pull/532) @dimatosaurus
|
||||
- Added `missingConfigFiles` to `options.disabledValidations` to optionally skip checking for the existence of config files.
|
||||
- Added ability to define a per-platform `deploymentTarget` for Multi-Platform targets. [#510](https://github.com/yonaskolb/XcodeGen/pull/510) @ainopara
|
||||
|
||||
#### Changed
|
||||
- **DEPRECATION**: Placeholders `$target_name` and `$platform` have been deprecated in favour of `${target_name}` and `${platform}`. Support for the old placeholders will be removed in a future version [#533](https://github.com/yonaskolb/XcodeGen/pull/533) @tomquist
|
||||
|
||||
+4
-4
@@ -111,7 +111,7 @@ Note that target names can also be changed by adding a `name` property to a targ
|
||||
- `bottom` (default) - at the bottom, after other files
|
||||
- [ ] **transitivelyLinkDependencies**: **Bool** - If this is `true` then targets will link to the dependencies of their target dependencies. If a target should embed its dependencies, such as application and test bundles, it will embed these transitive dependencies as well. Some complex setups might want to set this to `false` and explicitly specify dependencies at every level. Targets can override this with [Target](#target).transitivelyLinkDependencies. Defaults to `false`.
|
||||
- [ ] **generateEmptyDirectories**: **Bool** - If this is `true` then empty directories will be added to project too else will be missed. Defaults to `false`.
|
||||
- [ ] **includeCarthageRelatedDependencies**: **Bool** - When this is set to `true`, any carthage dependency with related dependencies will be included automatically. This flag can be overriden individually for each carthage dependency - for more details see See **includeRelated** in the [Dependency](#dependency) section. Defaults to `false`.
|
||||
- [ ] **findCarthageFrameworks**: **Bool** - When this is set to `true`, all the invididual frameworks for Carthage dependencies will automatically be found. This property can be overriden individually for each carthage dependency - for more details see See **findFrameworks** in the [Dependency](#dependency) section. Defaults to `false`.
|
||||
|
||||
```yaml
|
||||
options:
|
||||
@@ -383,8 +383,8 @@ Carthage frameworks are expected to be in `CARTHAGE_BUILD_PATH/PLATFORM/FRAMEWOR
|
||||
- `PLATFORM` = the target's platform
|
||||
- `FRAMEWORK` = the specified name.
|
||||
|
||||
If any of the Carthage dependencies has related dependencies, they can be automatically included using the `includeRelated: true` flag.
|
||||
Xcodegen uses `.version` files generated by Carthage so in order for this to work the dependencies will need to be built / available in the specified Carthage build folder.
|
||||
All the invididual frameworks of a Carthage dependency can be automatically found via `findFrameworks: true`. This overrides the value of [Options](#options).findCarthageFrameworks. Otherwise each one will have to be listed invididually.
|
||||
Xcodegen uses `.version` files generated by Carthage in order for this framework lookup to work, so the Carthage dependencies will need to have already been built at the time XcodeGen is run.
|
||||
|
||||
If any applications contain carthage dependencies within itself or any dependent targets, a carthage copy files script is automatically added to the application containing all the relevant frameworks. A `FRAMEWORK_SEARCH_PATHS` setting is also automatically added
|
||||
|
||||
@@ -395,7 +395,7 @@ targets:
|
||||
- target: MyFramework
|
||||
- framework: path/to/framework.framework
|
||||
- carthage: Result
|
||||
includeRelated: true
|
||||
findFrameworks: true
|
||||
- sdk: Contacts.framework
|
||||
- sdk: libc++.tbd
|
||||
MyFramework:
|
||||
|
||||
+36
-1
@@ -8,6 +8,7 @@
|
||||
- [CocoaPods](#cocoapods)
|
||||
- [Carthage](#carthage)
|
||||
- [SDK](#sdk)
|
||||
- [Framework](#framework)
|
||||
|
||||
# Configuring build settings
|
||||
There are various ways of configuring build settings
|
||||
@@ -114,11 +115,35 @@ targets:
|
||||
- carthage: Alamofire
|
||||
```
|
||||
|
||||
Some Carthage dependencies actually vend multiple frameworks. For example `github "ReactiveCocoa/ReactiveCocoa" ~> 8.0` vends 2 frameworks `ReactiveCocoa` and `ReactiveMapKit`.
|
||||
By default these all have to be listed if you want to link and use them:
|
||||
|
||||
```yml
|
||||
targets:
|
||||
App:
|
||||
frameworks:
|
||||
- carthage: ReactiveCocoa
|
||||
- carthage: ReactiveMapKit
|
||||
```
|
||||
|
||||
XcodeGen can look these up for you automatically! This can be enabled with a global `options.findCarthageFrameworks` or can be overriden for each Carthage dependency. Note that if this is enabled, the Carthage dependencies need to have already been built before XcodeGen is run. This is because XcodeGen loads `.version` files that Carthage writes in the `Carthage/Build` directory which lists the all the frameworks. The name you use must also be the name of the `.version` file Carthage writes to `Carthage/Build`. Be aware that in some cases this name can differ from the name of the repo in the Cartfile and even the framework name. If the `.version` file is not found or fails parsing, XcodeGen will fallback to the regular Framework lookup in the relevant Carthage directory.
|
||||
|
||||
```yml
|
||||
options:
|
||||
findCarthageFrameworks: true
|
||||
targets:
|
||||
App:
|
||||
frameworks:
|
||||
- carthage: ReactiveCocoa # will find ReactiveMapKit as well
|
||||
- carthage: OtherCarthageDependency
|
||||
findFrameworks: false # disables the global option
|
||||
```
|
||||
|
||||
XcodeGen automatically creates the build phase that Carthage requires which lists all the files and runs `carthage copy-frameworks`. You can change the invocation of carthage to something different, for example if you are running it with [Mint](https://github.com/yonaskolb/mint). This is then prepended to ` copy frameworks`
|
||||
|
||||
```yaml
|
||||
options:
|
||||
carthageExecutablePath: mint run Carthage/Carthage carthage
|
||||
carthageExecutablePath: mint run Carthage/Carthage
|
||||
```
|
||||
|
||||
By default XcodeGen looks for carthage frameworks in `Carthage/Build`. You can change this with the `carthageBuildPath` option
|
||||
@@ -138,3 +163,13 @@ targets:
|
||||
- sdk: Contacts.framework
|
||||
- sdk: libc++.tbd
|
||||
```
|
||||
|
||||
### Framework
|
||||
Individual frameworks can also be linked by specifying a path to them
|
||||
|
||||
```yamlå
|
||||
targets:
|
||||
App:
|
||||
dependencies:
|
||||
- framework: Vendor/MyFramework.framework
|
||||
```
|
||||
|
||||
@@ -33,7 +33,7 @@ public struct Dependency: Equatable {
|
||||
public enum DependencyType: Equatable {
|
||||
case target
|
||||
case framework
|
||||
case carthage(includeRelated: Bool?)
|
||||
case carthage(findFrameworks: Bool?)
|
||||
case sdk
|
||||
}
|
||||
}
|
||||
@@ -54,8 +54,8 @@ extension Dependency: JSONObjectConvertible {
|
||||
type = .framework
|
||||
reference = framework
|
||||
} else if let carthage: String = jsonDictionary.json(atKeyPath: "carthage") {
|
||||
let includeRelated: Bool? = jsonDictionary.json(atKeyPath: "includeRelated")
|
||||
type = .carthage(includeRelated: includeRelated)
|
||||
let findFrameworks: Bool? = jsonDictionary.json(atKeyPath: "findFrameworks")
|
||||
type = .carthage(findFrameworks: findFrameworks)
|
||||
reference = carthage
|
||||
} else if let sdk: String = jsonDictionary.json(atKeyPath: "sdk") {
|
||||
type = .sdk
|
||||
|
||||
@@ -1,18 +1,8 @@
|
||||
import Foundation
|
||||
|
||||
public enum Platform: String {
|
||||
public enum Platform: String, Hashable, CaseIterable {
|
||||
case iOS
|
||||
case watchOS
|
||||
case tvOS
|
||||
case macOS
|
||||
public var carthageDirectoryName: String {
|
||||
switch self {
|
||||
case .macOS:
|
||||
return "Mac"
|
||||
default:
|
||||
return rawValue
|
||||
}
|
||||
}
|
||||
|
||||
public static var all: [Platform] = [.iOS, .tvOS, .watchOS, .macOS]
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public struct SpecOptions: Equatable {
|
||||
public var transitivelyLinkDependencies: Bool
|
||||
public var groupSortPosition: GroupSortPosition
|
||||
public var generateEmptyDirectories: Bool
|
||||
public var includeCarthageRelatedDependencies: Bool
|
||||
public var findCarthageFrameworks: Bool
|
||||
|
||||
public enum ValidationType: String {
|
||||
case missingConfigs
|
||||
@@ -76,7 +76,7 @@ public struct SpecOptions: Equatable {
|
||||
transitivelyLinkDependencies: Bool = false,
|
||||
groupSortPosition: GroupSortPosition = .bottom,
|
||||
generateEmptyDirectories: Bool = false,
|
||||
includeCarthageRelatedDependencies: Bool = false
|
||||
findCarthageFrameworks: Bool = false
|
||||
) {
|
||||
self.minimumXcodeGenVersion = minimumXcodeGenVersion
|
||||
self.carthageBuildPath = carthageBuildPath
|
||||
@@ -95,7 +95,7 @@ public struct SpecOptions: Equatable {
|
||||
self.transitivelyLinkDependencies = transitivelyLinkDependencies
|
||||
self.groupSortPosition = groupSortPosition
|
||||
self.generateEmptyDirectories = generateEmptyDirectories
|
||||
self.includeCarthageRelatedDependencies = includeCarthageRelatedDependencies
|
||||
self.findCarthageFrameworks = findCarthageFrameworks
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ extension SpecOptions: JSONObjectConvertible {
|
||||
transitivelyLinkDependencies = jsonDictionary.json(atKeyPath: "transitivelyLinkDependencies") ?? false
|
||||
groupSortPosition = jsonDictionary.json(atKeyPath: "groupSortPosition") ?? .bottom
|
||||
generateEmptyDirectories = jsonDictionary.json(atKeyPath: "generateEmptyDirectories") ?? false
|
||||
includeCarthageRelatedDependencies = jsonDictionary.json(atKeyPath: "includeCarthageRelatedDependencies") ?? false
|
||||
findCarthageFrameworks = jsonDictionary.json(atKeyPath: "findCarthageFrameworks") ?? false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,33 +9,30 @@ import Foundation
|
||||
import ProjectSpec
|
||||
import PathKit
|
||||
|
||||
public struct CarthageDependencyResolver {
|
||||
public class CarthageDependencyResolver {
|
||||
|
||||
/// Carthage's base build path as specified by the
|
||||
/// project's `SpecOptions`, or `Carthage/Build` by default
|
||||
var baseBuildPath: String {
|
||||
var buildPath: String {
|
||||
return project.options.carthageBuildPath ?? "Carthage/Build"
|
||||
}
|
||||
|
||||
/// Carthage's executable path as specified by the
|
||||
/// project's `SpecOptions`, or `carthage` by default
|
||||
var executablePath: String {
|
||||
var executable: String {
|
||||
return project.options.carthageExecutablePath ?? "carthage"
|
||||
}
|
||||
|
||||
private let project: Project
|
||||
lazy var versionLoader = CarthageVersionLoader(buildPath: project.basePath + buildPath)
|
||||
|
||||
init(project: Project) {
|
||||
self.project = project
|
||||
}
|
||||
|
||||
/// Carthage's build path for the given platform
|
||||
func buildPath(for platform: Platform) -> String {
|
||||
let carthagePath = Path(baseBuildPath)
|
||||
let platformName = platform.carthageDirectoryName
|
||||
return "\(carthagePath)/\(platformName)"
|
||||
}
|
||||
|
||||
// Keeps a cache of previously parsed related dependencies
|
||||
private var carthageCachedRelatedDependencies: [String: CarthageVersionFile] = [:]
|
||||
private let project: Project
|
||||
|
||||
init(project: Project) {
|
||||
self.project = project
|
||||
return "\(buildPath)/\(platform.carthageName)"
|
||||
}
|
||||
|
||||
/// Fetches all carthage dependencies for a given target
|
||||
@@ -56,9 +53,9 @@ public struct CarthageDependencyResolver {
|
||||
let nonExistentDependencies = target.dependencies.filter { !frameworks.contains($0) }
|
||||
for dependency in nonExistentDependencies {
|
||||
switch dependency.type {
|
||||
case .carthage(let includeRelated):
|
||||
let includeRelated = includeRelated ?? project.options.includeCarthageRelatedDependencies
|
||||
if includeRelated {
|
||||
case .carthage(let findFrameworks):
|
||||
let findFrameworks = findFrameworks ?? project.options.findCarthageFrameworks
|
||||
if findFrameworks {
|
||||
relatedDependencies(for: dependency, in: target.platform)
|
||||
.filter { !frameworks.contains($0) }
|
||||
.forEach { frameworks.insert($0) }
|
||||
@@ -98,15 +95,15 @@ public struct CarthageDependencyResolver {
|
||||
func relatedDependencies(for dependency: Dependency, in platform: Platform) -> [Dependency] {
|
||||
guard
|
||||
case .carthage = dependency.type,
|
||||
let versionFile = try? fetchCarthageVersionFile(for: dependency) else {
|
||||
let versionFile = try? versionLoader.getVersionFile(for: dependency.reference) else {
|
||||
// No .version file or we've been unable to parse
|
||||
// so fail gracefully by returning the main dependency
|
||||
return [dependency]
|
||||
}
|
||||
return versionFile.references(for: platform)
|
||||
return versionFile.frameworks(for: platform)
|
||||
.map { Dependency(
|
||||
type: dependency.type,
|
||||
reference: $0.name,
|
||||
reference: $0,
|
||||
embed: dependency.embed,
|
||||
codeSign: dependency.codeSign,
|
||||
link: dependency.link,
|
||||
@@ -115,52 +112,20 @@ public struct CarthageDependencyResolver {
|
||||
)}
|
||||
.sorted(by: { $0.reference < $1.reference })
|
||||
}
|
||||
|
||||
private func fetchCarthageVersionFile(for dependency: Dependency) throws -> CarthageVersionFile {
|
||||
if let cachedVersionFile = carthageCachedRelatedDependencies[dependency.reference] {
|
||||
return cachedVersionFile
|
||||
}
|
||||
let buildPath = project.basePath + "\(self.baseBuildPath)/.\(dependency.reference).version"
|
||||
let data = try buildPath.read()
|
||||
let carthageVersionFile = try JSONDecoder().decode(CarthageVersionFile.self, from: data)
|
||||
return carthageVersionFile
|
||||
}
|
||||
}
|
||||
|
||||
/// Decodable struct for type safe parsing of the .version file
|
||||
fileprivate struct CarthageVersionFile: Decodable {
|
||||
extension Platform {
|
||||
|
||||
struct Reference: Decodable, Equatable {
|
||||
public let name: String
|
||||
public let hash: String
|
||||
}
|
||||
|
||||
enum Key: String, CodingKey, CaseIterable {
|
||||
case iOS
|
||||
case Mac
|
||||
case tvOS
|
||||
case watchOS
|
||||
}
|
||||
|
||||
private let data: [Key: [Reference]]
|
||||
fileprivate init(from decoder: Decoder) throws {
|
||||
let container = try decoder.container(keyedBy: Key.self)
|
||||
data = try Key.allCases.reduce(into: [:]) { (current, nextKey) in
|
||||
let refs = try container.decodeIfPresent([Reference].self, forKey: nextKey)
|
||||
current[nextKey] = refs
|
||||
public var carthageName: String {
|
||||
switch self {
|
||||
case .iOS:
|
||||
return "iOS"
|
||||
case .tvOS:
|
||||
return "tvOS"
|
||||
case .watchOS:
|
||||
return "watchOS"
|
||||
case .macOS:
|
||||
return "Mac"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate extension CarthageVersionFile {
|
||||
fileprivate func references(for platform: Platform) -> [Reference] {
|
||||
switch platform {
|
||||
case .iOS: return data[.iOS] ?? []
|
||||
case .watchOS: return data[.watchOS] ?? []
|
||||
case .tvOS: return data[.tvOS] ?? []
|
||||
case .macOS: return data[.Mac] ?? []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
//
|
||||
// CarthageVersionLoader.swift
|
||||
// XcodeGenKit
|
||||
//
|
||||
// Created by Yonas Kolb on 24/3/19.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import PathKit
|
||||
import ProjectSpec
|
||||
|
||||
class CarthageVersionLoader {
|
||||
|
||||
private let buildPath: Path
|
||||
private var cachedFiles: [String: CarthageVersionFile] = [:]
|
||||
|
||||
init(buildPath: Path) {
|
||||
self.buildPath = buildPath
|
||||
}
|
||||
|
||||
func getVersionFile(for dependency: String) throws -> CarthageVersionFile {
|
||||
if let versionFile = cachedFiles[dependency] {
|
||||
return versionFile
|
||||
}
|
||||
let filePath = buildPath + ".\(dependency).version"
|
||||
let data = try filePath.read()
|
||||
let carthageVersionFile = try JSONDecoder().decode(CarthageVersionFile.self, from: data)
|
||||
cachedFiles[dependency] = carthageVersionFile
|
||||
return carthageVersionFile
|
||||
}
|
||||
}
|
||||
|
||||
struct CarthageVersionFile: Decodable {
|
||||
|
||||
private struct Reference: Decodable, Equatable {
|
||||
public let name: String
|
||||
public let hash: String
|
||||
}
|
||||
|
||||
private let data: [Platform: [String]]
|
||||
|
||||
internal init(from decoder: Decoder) throws {
|
||||
let container = try decoder.container(keyedBy: Platform.self)
|
||||
data = try Platform.allCases.reduce(into: [:]) { (data, platform) in
|
||||
let references = try container.decodeIfPresent([Reference].self, forKey: platform) ?? []
|
||||
let frameworks = Array(Set(references.map { $0.name })).sorted()
|
||||
data[platform] = frameworks
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension Platform: CodingKey {
|
||||
|
||||
public var stringValue: String {
|
||||
return carthageName
|
||||
}
|
||||
}
|
||||
|
||||
extension CarthageVersionFile {
|
||||
func frameworks(for platform: Platform) -> [String] {
|
||||
return data[platform] ?? []
|
||||
}
|
||||
}
|
||||
@@ -178,7 +178,7 @@ public class PBXProjGenerator {
|
||||
children: platforms,
|
||||
sourceTree: .group,
|
||||
name: "Carthage",
|
||||
path: carthageResolver.baseBuildPath
|
||||
path: carthageResolver.buildPath
|
||||
)
|
||||
)
|
||||
frameworkFiles.append(carthageGroup)
|
||||
@@ -576,9 +576,9 @@ public class PBXProjGenerator {
|
||||
)
|
||||
targetFrameworkBuildFiles.append(buildFile)
|
||||
|
||||
case .carthage(let includeRelated):
|
||||
let includeRelated = includeRelated ?? project.options.includeCarthageRelatedDependencies
|
||||
let allDependencies = includeRelated
|
||||
case .carthage(let findFrameworks):
|
||||
let findFrameworks = findFrameworks ?? project.options.findCarthageFrameworks
|
||||
let allDependencies = findFrameworks
|
||||
? carthageResolver.relatedDependencies(for: dependency, in: target.platform) : [dependency]
|
||||
allDependencies.forEach { dependency in
|
||||
// Static libraries can't link or embed dynamic frameworks
|
||||
@@ -591,7 +591,7 @@ public class PBXProjGenerator {
|
||||
}
|
||||
let fileReference = self.sourceGenerator.getFileReference(path: frameworkPath, inPath: platformPath)
|
||||
|
||||
self.carthageFrameworksByPlatform[target.platform.carthageDirectoryName, default: []].insert(fileReference)
|
||||
self.carthageFrameworksByPlatform[target.platform.carthageName, default: []].insert(fileReference)
|
||||
|
||||
if dependency.link ?? true {
|
||||
let buildFile = self.addObject(
|
||||
@@ -717,10 +717,10 @@ public class PBXProjGenerator {
|
||||
if !carthageFrameworksToEmbed.isEmpty {
|
||||
|
||||
let inputPaths = carthageFrameworksToEmbed
|
||||
.map { "$(SRCROOT)/\(carthageResolver.baseBuildPath)/\(target.platform)/\($0)\($0.contains(".") ? "" : ".framework")" }
|
||||
.map { "$(SRCROOT)/\(carthageResolver.buildPath(for: target.platform))/\($0)\($0.contains(".") ? "" : ".framework")" }
|
||||
let outputPaths = carthageFrameworksToEmbed
|
||||
.map { "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/\($0)\($0.contains(".") ? "" : ".framework")" }
|
||||
let carthageExecutable = carthageResolver.executablePath
|
||||
let carthageExecutable = carthageResolver.executable
|
||||
let carthageScript = addObject(
|
||||
PBXShellScriptBuildPhase(
|
||||
name: "Carthage",
|
||||
|
||||
@@ -25,7 +25,7 @@ extension Project {
|
||||
}
|
||||
|
||||
// apply custom platform version
|
||||
for platform in Platform.all {
|
||||
for platform in Platform.allCases {
|
||||
if let version = options.deploymentTarget.version(for: platform) {
|
||||
buildSettings[platform.deploymentTargetSetting] = version.deploymentTarget
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
Carthage/Build/iOS
|
||||
Carthage/Build/watchOS
|
||||
Carthage/Build/tvOS
|
||||
Carthage/Build/Mac
|
||||
Carthage/Checkouts
|
||||
@@ -0,0 +1,4 @@
|
||||
github "antitypical/Result"
|
||||
github "rpassis/CarthageTestFixture"
|
||||
github "ReactiveCocoa/ReactiveSwift" ~> 4.0
|
||||
github "ReactiveCocoa/ReactiveCocoa" ~> 8.0
|
||||
@@ -0,0 +1,4 @@
|
||||
github "ReactiveCocoa/ReactiveCocoa" "8.0.2"
|
||||
github "ReactiveCocoa/ReactiveSwift" "4.0.0"
|
||||
github "antitypical/Result" "4.1.0"
|
||||
github "rpassis/CarthageTestFixture" "1.0"
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Mac" : [
|
||||
{
|
||||
"name" : "Alamofire",
|
||||
"hash" : "c8ee4910ecef2738eccd34a7abcae7d6561c0d709fbc301f660391018bf654b5"
|
||||
}
|
||||
],
|
||||
"watchOS" : [
|
||||
{
|
||||
"name" : "Alamofire",
|
||||
"hash" : "960f25b2b83d186bf62a05e59af8a6f7c99ac20201f6d948106c52917f29b7da"
|
||||
}
|
||||
],
|
||||
"tvOS" : [
|
||||
{
|
||||
"name" : "Alamofire",
|
||||
"hash" : "b8994794ee1378f98ceb7d294c84990d60fdabcc5f5a7d8386e71315ff583f1f"
|
||||
}
|
||||
],
|
||||
"commitish" : "4.7.2",
|
||||
"iOS" : [
|
||||
{
|
||||
"name" : "Alamofire",
|
||||
"hash" : "a000ec6f95d6fd12843007ba8c22e69c64e922b45ccfe34e1d38200b54e5e391"
|
||||
}
|
||||
]
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"Mac" : [
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "071b5d10a76f763129c32223af9f0e34674f2d6766e1b8dd0658c634c750d88f"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "65d7482cfefd8952762f57de885e9929aae8e6fe6a1c556e6bad75811f8d096f"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "ada254978598a68cce0e7cc919549e4888793ad2e9082fca38a533b9731710d5"
|
||||
}
|
||||
],
|
||||
"watchOS" : [
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "6f5aeb82a53091a5573be1b16b58156a2444f8a568e4a4b4914a5658a11ce91c"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "a252cd58636f621f39daa48f89e881665d4d1da1debaf46d7ba926f59720e928"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "1f2df2a6f33953eb61d56c195dcf2b102d458dcec4ad93b70d1f802cf1d01081"
|
||||
}
|
||||
],
|
||||
"tvOS" : [
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "4d0c084ea320ef9d2e216f60956bdb50e4975887f19f4817b26657a3796ab411"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "f257e4d0348770f210196dedaf16b51d54b255ec3e9e7b1cce50ea74e57d61b3"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "47377bbe103c06a25150aece9f48ac4b42065bc0c4543a7249395482676a3c38"
|
||||
}
|
||||
],
|
||||
"commitish" : "1.0",
|
||||
"iOS" : [
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "7c2a74fc024a50478bec9ca8833302b2850d1971aadc6c9d890266ea29af6966"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "d9979f6f61ad275ae8d4fdf575df66fde694f584cc7f58f2dcb86e9fe81b9a3a"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "1c418bb70678e1f47cffc0ad8d8e6e014372ad9936fff6302abb86511980ac01"
|
||||
}
|
||||
]
|
||||
}
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"Mac" : [
|
||||
{
|
||||
"name" : "ReactiveMapKit",
|
||||
"hash" : "ca2fed26f8381df41034bab95e4751c59a2e6790fb2a6def8f4bc9cdee0c5733"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveMapKit",
|
||||
"hash" : "ca2fed26f8381df41034bab95e4751c59a2e6790fb2a6def8f4bc9cdee0c5733"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveCocoa",
|
||||
"hash" : "944bf96ea2e3431d7c70daef2c5664586439ca59e92092983acb1f36e3cb7f50"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveCocoa",
|
||||
"hash" : "944bf96ea2e3431d7c70daef2c5664586439ca59e92092983acb1f36e3cb7f50"
|
||||
}
|
||||
],
|
||||
"watchOS" : [
|
||||
{
|
||||
"name" : "ReactiveCocoa",
|
||||
"hash" : "f7634a0c6323009b856c6cd6b0d76e9727006289b0edc1cb8a97b85f6549e16c"
|
||||
}
|
||||
],
|
||||
"tvOS" : [
|
||||
{
|
||||
"name" : "ReactiveMapKit",
|
||||
"hash" : "19c5331921afd44ec907b2dda06a522cf7f106580d689b39c0ffea989efa558a"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveMapKit",
|
||||
"hash" : "19c5331921afd44ec907b2dda06a522cf7f106580d689b39c0ffea989efa558a"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveCocoa",
|
||||
"hash" : "6fd1ed75f76420c86c66d2900d37f66ea6c9378007bf9c52aa8ee0806ae24477"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveCocoa",
|
||||
"hash" : "6fd1ed75f76420c86c66d2900d37f66ea6c9378007bf9c52aa8ee0806ae24477"
|
||||
}
|
||||
],
|
||||
"commitish" : "8.0.2",
|
||||
"iOS" : [
|
||||
{
|
||||
"name" : "ReactiveMapKit",
|
||||
"hash" : "8d1f84508d7403d8acdb4c188377777273ceba4eb6237728f97dcc18d41b94c8"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveMapKit",
|
||||
"hash" : "8d1f84508d7403d8acdb4c188377777273ceba4eb6237728f97dcc18d41b94c8"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveCocoa",
|
||||
"hash" : "3ecd35da18aeade9d027be56daa4a925fbf7fc05fd7d559260ef2fc7945fb840"
|
||||
},
|
||||
{
|
||||
"name" : "ReactiveCocoa",
|
||||
"hash" : "3ecd35da18aeade9d027be56daa4a925fbf7fc05fd7d559260ef2fc7945fb840"
|
||||
}
|
||||
]
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Mac" : [
|
||||
{
|
||||
"name" : "ReactiveSwift",
|
||||
"hash" : "ed8de3ce3e03c940ba43f99c5de552b9af89c2d850bb8afb6e5f9f493489f45d"
|
||||
}
|
||||
],
|
||||
"watchOS" : [
|
||||
{
|
||||
"name" : "ReactiveSwift",
|
||||
"hash" : "c015d0bc75885b9358870ef16cb9e67b5ef8bcaa3a5ec90d513d623a1091f7eb"
|
||||
}
|
||||
],
|
||||
"tvOS" : [
|
||||
{
|
||||
"name" : "ReactiveSwift",
|
||||
"hash" : "4d4c3af69ff5b35bec1b76638989b29cb2d785536b2e124c5cfd6660d3eb2640"
|
||||
}
|
||||
],
|
||||
"commitish" : "4.0.0",
|
||||
"iOS" : [
|
||||
{
|
||||
"name" : "ReactiveSwift",
|
||||
"hash" : "bdf6f01656281b630b9f323625fc5134bb4fe4e061ac1885e3dc6498f9cad7dc"
|
||||
}
|
||||
]
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Mac" : [
|
||||
{
|
||||
"name" : "Result",
|
||||
"hash" : "a608337c467d3ef16f53035c587dab84152fc14b3b4c8b597c5a973d3bfd0d63"
|
||||
}
|
||||
],
|
||||
"watchOS" : [
|
||||
{
|
||||
"name" : "Result",
|
||||
"hash" : "24680c05790afb8bd5d1ae8f1960905210546943e13fdea8e2994c2f8efdc0a5"
|
||||
}
|
||||
],
|
||||
"tvOS" : [
|
||||
{
|
||||
"name" : "Result",
|
||||
"hash" : "dca6d7e70e25cfa2b3363a0839dd13271b4da374f22d6cd357cf45b39299c17b"
|
||||
}
|
||||
],
|
||||
"commitish" : "4.1.0",
|
||||
"iOS" : [
|
||||
{
|
||||
"name" : "Result",
|
||||
"hash" : "5ad79b86004be535ee374685fbbd95db8d91f8c0458d3534aacf426930c7bbf6"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,709 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
0CC4170C2B4322A7F1349929B1B5E96F /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D437562D61F4BB3DE63788236B91FFF5 /* ReactiveCocoa.framework */; };
|
||||
13200B360D0A9CC140B99349125B6E0D /* ReactiveMapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8E5AC3513ADA944932071ECB3E69535 /* ReactiveMapKit.framework */; };
|
||||
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; };
|
||||
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; };
|
||||
26FF6048AAC6ACF67EF6EA4E087DBA09 /* ReactiveMapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2AC45CB275013ADC262D975B08FB81A /* ReactiveMapKit.framework */; };
|
||||
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */; };
|
||||
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; };
|
||||
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; };
|
||||
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */; };
|
||||
45787AC77AD89D1934BFFE1859CEB136 /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C206A943C9E4A6803327024F9ADA8517 /* ReactiveCocoa.framework */; };
|
||||
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */; };
|
||||
6C5812C93334B48039CD444685D83FE6 /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB9DC024AC7A05E4437051CB239A2753 /* ReactiveSwift.framework */; };
|
||||
7E3FE275326D04AC943FEFEEE8571C35 /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A01E2E08924015A0687C0B6C5BCD132 /* ReactiveSwift.framework */; };
|
||||
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; };
|
||||
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; };
|
||||
8A910658E2460BA82330AE11FDF1B37B /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2073C309D451D8C3BDD03C1B26A6A3E3 /* Alamofire.framework */; };
|
||||
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB178D03E75929F3F5B10C56838882EC /* Result.framework */; };
|
||||
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */; };
|
||||
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */; };
|
||||
A6F8E9B2F9C65E8239B76DC6A40B2DEC /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80FF7051B3E5445E5E0E977049B5D882 /* ReactiveCocoa.framework */; };
|
||||
AA30C45763F54C5F25EF02BCC2C0311E /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 944523E6CAE426EEEFB898A2F04CD130 /* Alamofire.framework */; };
|
||||
AB37C0BDA7C57B237AD0D01C48BEE935 /* ReactiveMapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E7DD996C029F078EA21CB679F29E022 /* ReactiveMapKit.framework */; };
|
||||
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */; };
|
||||
B77E9A3686B029D1770179E54612078B /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 25C6E95FE2D09F3D963EE98AC9C3DC7F /* Alamofire.framework */; };
|
||||
BCCBD9CB3A021FA20E2CEE9777E9836C /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B2B50BF9BD704D4CA45A7A956B43C15 /* ReactiveSwift.framework */; };
|
||||
D51AEC3A559EB64E1BF5B122AABDF5C7 /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9010572AFE5F328D1A4F35E11A64EB1F /* Alamofire.framework */; };
|
||||
DE4F8F219431376422AD11A2FB6656ED /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3F65F497639D85FA73DECA8852E97C6 /* ReactiveSwift.framework */; };
|
||||
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; };
|
||||
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */; };
|
||||
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */; };
|
||||
FF3D67401E2FF19013814BBBE9566E24 /* ReactiveCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CD62DEFF074E2C4A35C6F30A7D72BEA /* ReactiveCocoa.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
|
||||
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
1E7DD996C029F078EA21CB679F29E022 /* ReactiveMapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveMapKit.framework; sourceTree = "<group>"; };
|
||||
2073C309D451D8C3BDD03C1B26A6A3E3 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
|
||||
25C6E95FE2D09F3D963EE98AC9C3DC7F /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
|
||||
3B2B50BF9BD704D4CA45A7A956B43C15 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
|
||||
3CD62DEFF074E2C4A35C6F30A7D72BEA /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
|
||||
41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
4A01E2E08924015A0687C0B6C5BCD132 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
|
||||
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
6177CC6263783487E93F7F4D07620345 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
7D67F1C1BFBACE101DE7DB5179F2DCEA /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
80FF7051B3E5445E5E0E977049B5D882 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
|
||||
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9010572AFE5F328D1A4F35E11A64EB1F /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
|
||||
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
944523E6CAE426EEEFB898A2F04CD130 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Alamofire.framework; sourceTree = "<group>"; };
|
||||
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
A3F65F497639D85FA73DECA8852E97C6 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
|
||||
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
|
||||
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
BB178D03E75929F3F5B10C56838882EC /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
|
||||
C206A943C9E4A6803327024F9ADA8517 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
|
||||
C2AC45CB275013ADC262D975B08FB81A /* ReactiveMapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveMapKit.framework; sourceTree = "<group>"; };
|
||||
D296BB7355994040E197A1EE5B41F583 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
|
||||
D437562D61F4BB3DE63788236B91FFF5 /* ReactiveCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveCocoa.framework; sourceTree = "<group>"; };
|
||||
D8E5AC3513ADA944932071ECB3E69535 /* ReactiveMapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveMapKit.framework; sourceTree = "<group>"; };
|
||||
DB9DC024AC7A05E4437051CB239A2753 /* ReactiveSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
2E6FCCFC594BE9FEB74FA2F01F56F4FE /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */,
|
||||
B77E9A3686B029D1770179E54612078B /* Alamofire.framework in Frameworks */,
|
||||
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */,
|
||||
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */,
|
||||
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */,
|
||||
7E3FE275326D04AC943FEFEEE8571C35 /* ReactiveSwift.framework in Frameworks */,
|
||||
0CC4170C2B4322A7F1349929B1B5E96F /* ReactiveCocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5EFF61D0A49AA8EABD72DF4449BCEADE /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */,
|
||||
AA30C45763F54C5F25EF02BCC2C0311E /* Alamofire.framework in Frameworks */,
|
||||
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */,
|
||||
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */,
|
||||
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */,
|
||||
BCCBD9CB3A021FA20E2CEE9777E9836C /* ReactiveSwift.framework in Frameworks */,
|
||||
A6F8E9B2F9C65E8239B76DC6A40B2DEC /* ReactiveCocoa.framework in Frameworks */,
|
||||
AB37C0BDA7C57B237AD0D01C48BEE935 /* ReactiveMapKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9B861C58E640BD4AD391900CF0C4ABEC /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */,
|
||||
8A910658E2460BA82330AE11FDF1B37B /* Alamofire.framework in Frameworks */,
|
||||
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */,
|
||||
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */,
|
||||
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */,
|
||||
6C5812C93334B48039CD444685D83FE6 /* ReactiveSwift.framework in Frameworks */,
|
||||
45787AC77AD89D1934BFFE1859CEB136 /* ReactiveCocoa.framework in Frameworks */,
|
||||
13200B360D0A9CC140B99349125B6E0D /* ReactiveMapKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
C2323597C6777A02E1FF671C303DD89C /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */,
|
||||
D51AEC3A559EB64E1BF5B122AABDF5C7 /* Alamofire.framework in Frameworks */,
|
||||
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */,
|
||||
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */,
|
||||
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */,
|
||||
DE4F8F219431376422AD11A2FB6656ED /* ReactiveSwift.framework in Frameworks */,
|
||||
FF3D67401E2FF19013814BBBE9566E24 /* ReactiveCocoa.framework in Frameworks */,
|
||||
26FF6048AAC6ACF67EF6EA4E087DBA09 /* ReactiveMapKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
12809A79ACE69F501A5FE815B43985BD /* Carthage */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DBF93518FC96D95A5455271356EB57FF /* iOS */,
|
||||
912A7321F662FE41BAAEED67F628711F /* Mac */,
|
||||
D557819B1EE5B42A0A3DD4D1F3D982C4 /* tvOS */,
|
||||
2935454D05445817952E145D261767D4 /* watchOS */,
|
||||
);
|
||||
name = Carthage;
|
||||
path = Carthage/Build;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2935454D05445817952E145D261767D4 /* watchOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
25C6E95FE2D09F3D963EE98AC9C3DC7F /* Alamofire.framework */,
|
||||
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */,
|
||||
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */,
|
||||
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */,
|
||||
D437562D61F4BB3DE63788236B91FFF5 /* ReactiveCocoa.framework */,
|
||||
4A01E2E08924015A0687C0B6C5BCD132 /* ReactiveSwift.framework */,
|
||||
BB178D03E75929F3F5B10C56838882EC /* Result.framework */,
|
||||
);
|
||||
path = watchOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
293D0FF827366B513839236A28819597 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FC1515684236259C50A7747F607DC8A2 /* Frameworks */,
|
||||
AC523591AC7BE9275003D2DB7E14C098 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
912A7321F662FE41BAAEED67F628711F /* Mac */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9010572AFE5F328D1A4F35E11A64EB1F /* Alamofire.framework */,
|
||||
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */,
|
||||
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */,
|
||||
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */,
|
||||
3CD62DEFF074E2C4A35C6F30A7D72BEA /* ReactiveCocoa.framework */,
|
||||
C2AC45CB275013ADC262D975B08FB81A /* ReactiveMapKit.framework */,
|
||||
A3F65F497639D85FA73DECA8852E97C6 /* ReactiveSwift.framework */,
|
||||
D296BB7355994040E197A1EE5B41F583 /* Result.framework */,
|
||||
);
|
||||
path = Mac;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
AC523591AC7BE9275003D2DB7E14C098 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */,
|
||||
41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */,
|
||||
7D67F1C1BFBACE101DE7DB5179F2DCEA /* Framework.framework */,
|
||||
6177CC6263783487E93F7F4D07620345 /* Framework.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D557819B1EE5B42A0A3DD4D1F3D982C4 /* tvOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
944523E6CAE426EEEFB898A2F04CD130 /* Alamofire.framework */,
|
||||
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */,
|
||||
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */,
|
||||
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */,
|
||||
80FF7051B3E5445E5E0E977049B5D882 /* ReactiveCocoa.framework */,
|
||||
1E7DD996C029F078EA21CB679F29E022 /* ReactiveMapKit.framework */,
|
||||
3B2B50BF9BD704D4CA45A7A956B43C15 /* ReactiveSwift.framework */,
|
||||
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */,
|
||||
);
|
||||
path = tvOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DBF93518FC96D95A5455271356EB57FF /* iOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2073C309D451D8C3BDD03C1B26A6A3E3 /* Alamofire.framework */,
|
||||
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */,
|
||||
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */,
|
||||
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */,
|
||||
C206A943C9E4A6803327024F9ADA8517 /* ReactiveCocoa.framework */,
|
||||
D8E5AC3513ADA944932071ECB3E69535 /* ReactiveMapKit.framework */,
|
||||
DB9DC024AC7A05E4437051CB239A2753 /* ReactiveSwift.framework */,
|
||||
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */,
|
||||
);
|
||||
path = iOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FC1515684236259C50A7747F607DC8A2 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
12809A79ACE69F501A5FE815B43985BD /* Carthage */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
536ACF18E4603B59207D43CE68E02CBF /* Framework_tvOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 658628E35283172E17BFC6A35BE18143 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */;
|
||||
buildPhases = (
|
||||
9EC3C2991C5C1EE119E39533F752AA31 /* Sources */,
|
||||
5EFF61D0A49AA8EABD72DF4449BCEADE /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Framework_tvOS;
|
||||
productName = Framework_tvOS;
|
||||
productReference = 7D67F1C1BFBACE101DE7DB5179F2DCEA /* Framework.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
53A3B531E3947D8A8722745EA59EBB5B /* Framework_macOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D60A551D881B4B91F4535B78058154DF /* Build configuration list for PBXNativeTarget "Framework_macOS" */;
|
||||
buildPhases = (
|
||||
D1F422E9C4DD531AA88418C9F755A5D2 /* Sources */,
|
||||
C2323597C6777A02E1FF671C303DD89C /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Framework_macOS;
|
||||
productName = Framework_macOS;
|
||||
productReference = 41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
71B5187E710718C1A205D4DCD90D6962 /* Framework_watchOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 4A8774E3B4F5C9B98E0D0CF9EC17CF91 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */;
|
||||
buildPhases = (
|
||||
077D11E42A8E90CAB8A95DF21687CF45 /* Sources */,
|
||||
2E6FCCFC594BE9FEB74FA2F01F56F4FE /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Framework_watchOS;
|
||||
productName = Framework_watchOS;
|
||||
productReference = 6177CC6263783487E93F7F4D07620345 /* Framework.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
AE3F93DB94E7208F2F1D9A78B91C1BC8 /* Framework_iOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 50DA67E9A951C40D9536609DD12FA6CC /* Build configuration list for PBXNativeTarget "Framework_iOS" */;
|
||||
buildPhases = (
|
||||
40A4456A24F99A01E340C0326EA77547 /* Sources */,
|
||||
9B861C58E640BD4AD391900CF0C4ABEC /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Framework_iOS;
|
||||
productName = Framework_iOS;
|
||||
productReference = 8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0FBAE303E3CFC2ABAC876A7719B30922 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1000;
|
||||
};
|
||||
buildConfigurationList = D91E14E36EC0B415578456F264E0161E /* Build configuration list for PBXProject "Project" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 293D0FF827366B513839236A28819597;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
AE3F93DB94E7208F2F1D9A78B91C1BC8 /* Framework_iOS */,
|
||||
53A3B531E3947D8A8722745EA59EBB5B /* Framework_macOS */,
|
||||
536ACF18E4603B59207D43CE68E02CBF /* Framework_tvOS */,
|
||||
71B5187E710718C1A205D4DCD90D6962 /* Framework_watchOS */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
077D11E42A8E90CAB8A95DF21687CF45 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
40A4456A24F99A01E340C0326EA77547 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9EC3C2991C5C1EE119E39533F752AA31 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D1F422E9C4DD531AA88418C9F755A5D2 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
036FCF7C4B48C154279F289D6ADA3780 /* 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.2;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
06FEE6A4375FED73FBBB4162251902B0 /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
6081E9515EB8A378BEE3E57A2144B0C7 /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = watchos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 4;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
62D4835A6A4EDD4CF8DDCB413B49DC64 /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
6D4575F120C426FEC8956CCBA1513185 /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = watchos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 4;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
86602EB00607C9B20F3534A4F469275C /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
999683C4B5329A72D12AD5847063E864 /* Debug */ = {
|
||||
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;
|
||||
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.2;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
B7544571511FFC03F6471D8096548A3E /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C04D53CA1D822DDDB3DF4B3F0E33B990 /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
EE917255DA1F2644A2985FE72F21E56C /* 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",
|
||||
);
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_NAME = Framework;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
4A8774E3B4F5C9B98E0D0CF9EC17CF91 /* Build configuration list for PBXNativeTarget "Framework_watchOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
6081E9515EB8A378BEE3E57A2144B0C7 /* Debug */,
|
||||
6D4575F120C426FEC8956CCBA1513185 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "";
|
||||
};
|
||||
50DA67E9A951C40D9536609DD12FA6CC /* Build configuration list for PBXNativeTarget "Framework_iOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
86602EB00607C9B20F3534A4F469275C /* Debug */,
|
||||
06FEE6A4375FED73FBBB4162251902B0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "";
|
||||
};
|
||||
658628E35283172E17BFC6A35BE18143 /* Build configuration list for PBXNativeTarget "Framework_tvOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
EE917255DA1F2644A2985FE72F21E56C /* Debug */,
|
||||
62D4835A6A4EDD4CF8DDCB413B49DC64 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "";
|
||||
};
|
||||
D60A551D881B4B91F4535B78058154DF /* Build configuration list for PBXNativeTarget "Framework_macOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
B7544571511FFC03F6471D8096548A3E /* Debug */,
|
||||
C04D53CA1D822DDDB3DF4B3F0E33B990 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "";
|
||||
};
|
||||
D91E14E36EC0B415578456F264E0161E /* Build configuration list for PBXProject "Project" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
999683C4B5329A72D12AD5847063E864 /* Debug */,
|
||||
036FCF7C4B48C154279F289D6ADA3780 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0FBAE303E3CFC2ABAC876A7719B30922 /* Project object */;
|
||||
}
|
||||
Generated
+7
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -0,0 +1,13 @@
|
||||
name: Project
|
||||
options:
|
||||
findCarthageFrameworks: true
|
||||
targets:
|
||||
Framework:
|
||||
type: framework
|
||||
platform: [iOS, tvOS, watchOS, macOS]
|
||||
dependencies:
|
||||
- carthage: Result
|
||||
- carthage: Alamofire
|
||||
- carthage: CarthageTestFixture
|
||||
- carthage: ReactiveSwift
|
||||
- carthage: ReactiveCocoa
|
||||
@@ -1,2 +1 @@
|
||||
github "antitypical/Result"
|
||||
github "rpassis/CarthageTestFixture"
|
||||
github "antitypical/Result"
|
||||
@@ -1,2 +1 @@
|
||||
github "antitypical/Result" "4.1.0"
|
||||
github "rpassis/CarthageTestFixture" "1.0"
|
||||
|
||||
-59
@@ -1,59 +0,0 @@
|
||||
{
|
||||
"Mac" : [
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "a0b91cab5b10db475b7f82a64a579ab0ae174664fd1dbb964fbae0f142a710ce"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "c943bae81f2f24af19f4ea8024527a8ffba6d1789d1e8b5a0be46a3f79fe6976"
|
||||
},
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "7f3f63371af11389513ed09495cb3abf54b92f168feb1c55e3895bb5b3f5840c"
|
||||
}
|
||||
],
|
||||
"watchOS" : [
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "1429e4e4ab930a3374469c74a9cef372433698877e84b374901f758264e1fc85"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "698a98b16d298a2ce211956434e2bd257cb26ff49c7e65a3e63454cb2605acd6"
|
||||
},
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "7400475ef25e1575d71e5ede3421c729ff53cac268f197f5bdf9481d9a9da637"
|
||||
}
|
||||
],
|
||||
"tvOS" : [
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "2ae94d9bc1974b11a808bdadc9f04fd44e7548339680ff3ee99a382ac3c51525"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "2b63fd14433fa5ad1d14daadc7192e4978d3fadb37b18b836d3fff9ceb41fc3b"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "356cf8942df1bb1f37aebe2951774a128e39b50bf9229b82f26ed2750fbd5544"
|
||||
}
|
||||
],
|
||||
"commitish" : "1.0",
|
||||
"iOS" : [
|
||||
{
|
||||
"name" : "CarthageTestFixture",
|
||||
"hash" : "9ca429bd7d25b31754ef4136adbde965c0eaa67063ad74ceeb78a9d807408b4e"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureA",
|
||||
"hash" : "b4154e6c1ea0fbeb5726f2cb73a8960bc4dfefb3fa662d8f8a6a9747d06a4453"
|
||||
},
|
||||
{
|
||||
"name" : "DependencyFixtureB",
|
||||
"hash" : "306e7ffd97c59e25198028cfd2736f0fb8640b42e7bc60eb1057830d8e844933"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -28,37 +28,25 @@
|
||||
097B0B6C198B9A52D4312F11000496FD /* App_watchOS.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = A680BE9F68A255B0FB291AE6F0A2B045 /* App_watchOS.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
0C8ADA24D201C830751FBE37DFB5FAA2 /* iMessageExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = D629E142AB87C681D4EC90F7106F7299 /* iMessageExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
0D281787B630CE62E91F9F7219EFF40D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D8A016580A3B8F72B820BFBF93749CD7 /* Assets.xcassets */; };
|
||||
0DB8E1DA22F48A2A2466B0B8CCF99BEC /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; };
|
||||
0F7F220834A3E2B344322B64DB5140DF /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BB1B49A91B892152D68ED76D9D4E759 /* libc++.tbd */; };
|
||||
13C624ABA05AC67129468002144005A9 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0704B6CAFBB53E0EBB08F6B385901D43 /* ViewController.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; };
|
||||
182376FB8F63EF1A2634C420B0D2709A /* DependencyFixtureA.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
1985E98D7107DFCBB2F2AC7DC6A155B5 /* SomeFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 73E7D4B860A5B6B80540E64703192744 /* SomeFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; };
|
||||
1E105E72C258FF9843B21D8A3F520CFB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CE1F06D99242F4223D081F0DF78367F3 /* LaunchScreen.storyboard */; };
|
||||
1FF485BF4B0845F504280D7FD1AD7DF6 /* DependencyFixtureA.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
205719BEDEFFC911468631925C617988 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = F2950763C4C568CC85021D185A35C1FB /* module.modulemap */; };
|
||||
21B9D91DC3573A47C3298339795D0D2A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B419F22EB75EDD4AB9B92F32F7D39755 /* Assets.xcassets */; };
|
||||
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; };
|
||||
260126FF16180EC41A12EA5C75DAF0B8 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; };
|
||||
262B4F15CB0780B21C37D89F5EA9FE80 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
29A79F030DD325754FD2C82C4A6E0AE6 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */; };
|
||||
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */; };
|
||||
2DE309130A6F5A7E2E7E13169357C316 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
2DFBC735559B5AC7702C7DD1F54FBFFE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9390121B4ECBB1B796C7CBBDD32C4DD4 /* Assets.xcassets */; };
|
||||
319B977623307E83E948E9E4CEBB432E /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */; };
|
||||
3474A5D469F41494C4CB871D75C77106 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = F2950763C4C568CC85021D185A35C1FB /* module.modulemap */; };
|
||||
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; };
|
||||
36152E299B36BCA0F25AD1FC9B002835 /* MoreUnder.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA8718C7CD3BE86D9B1F51203A548A51 /* MoreUnder.swift */; };
|
||||
36F2B8CC97BD885A59E4FBA6EBC8EB22 /* StandaloneAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3571E41E19A5AB8AAAB04109D524DB4F /* StandaloneAssets.xcassets */; };
|
||||
3799FF03E75F5D3C925CBB18B8BB7BF6 /* Framework2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3EF21DF245F66BEF5446AAEF769A4194 /* Framework2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; };
|
||||
3A9B6CE17CFDF8537B52B1AFC4668973 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
|
||||
3C0F9F92D09B92BA43115824CC08C12B /* DependencyFixtureB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
3C5A4AC7604AE8106630F578F7FFE642 /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; };
|
||||
3C96F8384CC8C6401A0EE14727C5D323 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
|
||||
3E7ABFF8EC0A3EC912899F469BF5A126 /* InterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3F6BCB5FEFB16F1BA368059F4B1505A /* InterfaceController.swift */; };
|
||||
41B0909025B983E66FCC4AA8A1FE3634 /* module.modulemap in CopyFiles */ = {isa = PBXBuildFile; fileRef = F2950763C4C568CC85021D185A35C1FB /* module.modulemap */; };
|
||||
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */; };
|
||||
446723391DA2F5E9AD4CE064EF80F99A /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4C3FE6B986506724DAB5D0FC4361D53 /* ViewController.swift */; };
|
||||
44D5928E07962D68D84D775AF3F59D81 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 74FBDFA5CB063F6001AD8ACD1776F055 /* Main.storyboard */; };
|
||||
46DA8D104900945921DF4E7DDF584C25 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
@@ -74,7 +62,6 @@
|
||||
5CAADD8469B81616A79CECD7DC2F58B5 /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CAF6C55B555E3E1352645B630CCB23E /* ExtensionDelegate.swift */; };
|
||||
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */; };
|
||||
5F49DEBEDCC54D28AD3571B88753A356 /* App_watchOS Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 0D09D243DBCF9D32E239F1E8A64D75AB /* App_watchOS Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
5F8EBB604076B9E5BD1FFEE701BFE22F /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */; };
|
||||
6544AAAD64A06DA3D891642A337C1730 /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
|
||||
6CD98D352BB52EB22E352454E74CA42C /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 65C8D6D1DDC1512D396C07B712F31188 /* Localizable.stringsdict */; };
|
||||
6CE2C63470E541C3A04F3E9ED6B3F10B /* Framework2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EF21DF245F66BEF5446AAEF769A4194 /* Framework2.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||
@@ -84,36 +71,26 @@
|
||||
74D29BA5C4116670E4585FA413AF8460 /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F5BD97AF0F94A15A5B7DDB75C0C7CDF /* Standalone.swift */; };
|
||||
74E74F67565A0084FFA3E17C735B09EF /* StaticLibrary_ObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */; };
|
||||
7856158603A68D4FF152F8E96305B3E7 /* Framework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
79722BAD144B4A707B989F34A7008B16 /* DependencyFixtureB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
7A3C2B80CE0F5D42B7684BF5928B1694 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 2E1E747C7BC434ADB80CC269B7B595DC /* Headers */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
7C9152ACD50B4F96C205B0DDEFD7D6D3 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B47B80AF9EAE0ADB4FA469CFDB7ABB8F /* MainInterface.storyboard */; };
|
||||
7E84045B3F49256D14A8E8C1FF19490A /* NotificationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C934C1F7A68CCD0AB6B384782470EE7B /* NotificationController.swift */; };
|
||||
7EC05429C10D0A00A8AE38CADF3F5DCA /* XPC_Service.m in Sources */ = {isa = PBXBuildFile; fileRef = 148B7C933698BCC4F1DBA979CF051F81 /* XPC_Service.m */; };
|
||||
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; };
|
||||
824FECDE01A22CDE6C288C1969A645E9 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
|
||||
82D432D23D2ACC56338BE911465E6F89 /* Framework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */; };
|
||||
8493DEA48BF40EFFAC6FBD459C0E9EE4 /* ResourceFolder in Resources */ = {isa = PBXBuildFile; fileRef = 6B1603BA83AA0C7B94E45168D7E684C4 /* ResourceFolder */; };
|
||||
862C296BFE176C091397763A66610C41 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3797E591F302ECC0AA2FC607B190E2C8 /* Assets.xcassets */; };
|
||||
8670A20B54D6E96461DD53EBCB0644EC /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
|
||||
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; };
|
||||
87C8C972BF12378AD6D85C79760FB151 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 814D72C2B921F60B759C2D4BB2604550 /* Main.storyboard */; };
|
||||
899A16B3BC09973811196FE1B4378CED /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; };
|
||||
8BCF9B1A396126583737A6687CF20696 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 2E1E747C7BC434ADB80CC269B7B595DC /* Headers */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB178D03E75929F3F5B10C56838882EC /* Result.framework */; };
|
||||
9CB4F00B54E46A4F9E477ABBD94C4C25 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F1A2F579A6F79C62DDA05712E2AB1F7 /* AppDelegate.swift */; settings = {COMPILER_FLAGS = "-Werror"; }; };
|
||||
A1144E47C6EFE30830087F384717526E /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDB2B6A77D39CD5602F2125F01DEF025 /* Contacts.framework */; };
|
||||
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */; };
|
||||
A3A3D2042DF93D8FBF171C1B0C8DA244 /* TestProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D132EA69984F32DA9DC727B6360D9F12 /* TestProjectTests.swift */; };
|
||||
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */; };
|
||||
A4A2DCF0818C891E44C2BA675B91B5CF /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C872631362DDBAFCE71E5C66EDD61432 /* Interface.storyboard */; };
|
||||
A8D986B6AE700855C2E42510345EC88F /* DependencyFixtureA.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
AF083D3FCE667FF0E55C291CB9B99328 /* TestProjectUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587B9E9A3533E965CA602B763210583F /* TestProjectUITests.swift */; };
|
||||
B0AAC60E0C045CDCA880C0CEB5ACC787 /* CarthageTestFixture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */; };
|
||||
BA3997DDBE08311586C3B9DA73F8DC49 /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
BAC0E24AC446937ADEE256F08C17D0EC /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
|
||||
BBB8CB2B1E70458EF477A9084959FEF5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 42B95EB66A17FBA091F50601196CAA83 /* Assets.xcassets */; };
|
||||
BC057E5E76A42A2FD2E3E87AEAD82656 /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */; };
|
||||
BC45B351474BD07D6C4BCD66327FFBFE /* MyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C3B73C7A69119513C543ED75DAB1C492 /* StaticLibrary_ObjC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 056A43A09CE7E88D578696D83330E45F /* StaticLibrary_ObjC.a */; };
|
||||
C511BD950B937DB0F2FC5DDD0ED96D20 /* FrameworkFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5F527F2590C149565181748C7DBECD /* FrameworkFile.swift */; };
|
||||
@@ -123,7 +100,6 @@
|
||||
CF187FEB832DA1662FCB636FCC9C7926 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 187E665975BB5611AF0F27E15659D85C /* main.m */; };
|
||||
D5221D8AE288C1875C03AD3AE9DB6411 /* Standalone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F5BD97AF0F94A15A5B7DDB75C0C7CDF /* Standalone.swift */; };
|
||||
D7BFCCEFB53658505D03C6A9A5F0A0FA /* Model.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 306796628DD52FA55E833B65DD4F2A22 /* Model.xcdatamodeld */; settings = {COMPILER_FLAGS = "-Werror"; }; };
|
||||
D84C788DC0E9671470E5F0DB924EC5B0 /* DependencyFixtureB.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
D8859E56A17FCD26C7ED6548C81B1324 /* Headers in Headers */ = {isa = PBXBuildFile; fileRef = 2E1E747C7BC434ADB80CC269B7B595DC /* Headers */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
D8C50B10DC463A32C288C1A88FDCECC2 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9E17D598D98065767A04740F5E729CCA /* Localizable.strings */; };
|
||||
DAFD488BAFDFD93F6B540648BC4CAF3A /* Result.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
@@ -138,11 +114,8 @@
|
||||
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; };
|
||||
F04CBE9A3D61F78E4FEE6A09AED606C0 /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */; };
|
||||
F08C4D2A18A75CC292F45F1FB8E06CDE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 108BB29172D27BE3BD1E7F3536D14EAD /* Assets.xcassets */; };
|
||||
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */; };
|
||||
F77099662D6EAF1CF810165178A5442E /* CarthageTestFixture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
F7ECF245988DABA0164DFF08607F6C31 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D296BB7355994040E197A1EE5B41F583 /* Result.framework */; };
|
||||
F96940D55B77163B7A5B04FB2B8AF458 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C033648A37D95027845BD34562053B /* main.swift */; };
|
||||
FBA80842047D110FE10243F18D1AAB6F /* CarthageTestFixture.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
FBDBC020EE959F32F0FF0E6252028356 /* Contacts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDB2B6A77D39CD5602F2125F01DEF025 /* Contacts.framework */; };
|
||||
FE01CB2392794EC5CD44533920AA051B /* StaticLibrary_ObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */; };
|
||||
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */; };
|
||||
@@ -296,9 +269,6 @@
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
FBA80842047D110FE10243F18D1AAB6F /* CarthageTestFixture.framework in Embed Frameworks */,
|
||||
182376FB8F63EF1A2634C420B0D2709A /* DependencyFixtureA.framework in Embed Frameworks */,
|
||||
3C0F9F92D09B92BA43115824CC08C12B /* DependencyFixtureB.framework in Embed Frameworks */,
|
||||
4C29EFBFCC52C847A4B6A268433D0B45 /* Result.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
@@ -375,9 +345,6 @@
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
F77099662D6EAF1CF810165178A5442E /* CarthageTestFixture.framework in Embed Frameworks */,
|
||||
A8D986B6AE700855C2E42510345EC88F /* DependencyFixtureA.framework in Embed Frameworks */,
|
||||
79722BAD144B4A707B989F34A7008B16 /* DependencyFixtureB.framework in Embed Frameworks */,
|
||||
74BC0F70B2D3EC06E623CB0FD6630D0F /* Result.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
@@ -401,9 +368,6 @@
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
E32A04EF64C8989C8349A476E3DC1F19 /* Framework.framework in Embed Frameworks */,
|
||||
B0AAC60E0C045CDCA880C0CEB5ACC787 /* CarthageTestFixture.framework in Embed Frameworks */,
|
||||
1FF485BF4B0845F504280D7FD1AD7DF6 /* DependencyFixtureA.framework in Embed Frameworks */,
|
||||
D84C788DC0E9671470E5F0DB924EC5B0 /* DependencyFixtureB.framework in Embed Frameworks */,
|
||||
DAFD488BAFDFD93F6B540648BC4CAF3A /* Result.framework in Embed Frameworks */,
|
||||
);
|
||||
name = "Embed Frameworks";
|
||||
@@ -446,7 +410,6 @@
|
||||
0BB1B49A91B892152D68ED76D9D4E759 /* libc++.tbd */ = {isa = PBXFileReference; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
|
||||
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
|
||||
0D09D243DBCF9D32E239F1E8A64D75AB /* App_watchOS Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "App_watchOS Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
0F32AD342EF6A4C7F6324B36AB349105 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
0F5BD97AF0F94A15A5B7DDB75C0C7CDF /* Standalone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Standalone.swift; sourceTree = "<group>"; };
|
||||
102A08142A31E44F4ED52649F22BB71E /* base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = "<group>"; };
|
||||
@@ -456,7 +419,6 @@
|
||||
148B7C933698BCC4F1DBA979CF051F81 /* XPC_Service.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPC_Service.m; sourceTree = "<group>"; };
|
||||
16D662EE577E4CD6AFF39D66C382B13F /* config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = config.xcconfig; sourceTree = "<group>"; };
|
||||
187E665975BB5611AF0F27E15659D85C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
1D0C79A8C750EC0DE748C463D6992773 /* StaticLibrary_ObjC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StaticLibrary_ObjC.m; sourceTree = "<group>"; };
|
||||
22237B8EBD9E6BE8EBC8735F5AA17192 /* XPC Service.xpc */ = {isa = PBXFileReference; includeInIndex = 0; path = "XPC Service.xpc"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2233774B86539B1574D206B07A805A8F /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@@ -471,11 +433,8 @@
|
||||
3EF21DF245F66BEF5446AAEF769A4194 /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
41FC82ED1C4C3B7B3D7B2FB721574442 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
42B95EB66A17FBA091F50601196CAA83 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
4BF4D16042A80576D259160C97AD2C2E /* Model 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Model 3.xcdatamodel"; sourceTree = "<group>"; };
|
||||
4D0BF47DF71A6DBA33ED23FD22D023EF /* StaticLibrary_ObjC.a */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = archive.ar; path = StaticLibrary_ObjC.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
5116B3B58070BCD09F1487BAFC210EE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
553D289724905857912C7A1D65ADD26F /* outputList.xcfilelist */ = {isa = PBXFileReference; path = outputList.xcfilelist; sourceTree = "<group>"; };
|
||||
564E35E83C95F5591345B7722A59AA4E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -483,7 +442,6 @@
|
||||
587B9E9A3533E965CA602B763210583F /* TestProjectUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestProjectUITests.swift; sourceTree = "<group>"; };
|
||||
5A2B916A11DCC2565241359FD0114B0C /* StaticLibrary_ObjC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StaticLibrary_ObjC.h; sourceTree = "<group>"; };
|
||||
6177CC6263783487E93F7F4D07620345 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
6A58A16491CDDF968B0D56DE7EB96D92 /* MyFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyFramework.h; sourceTree = "<group>"; };
|
||||
6AC91042453E18DF74BA1C0F957D87DC /* StaticLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StaticLibrary.swift; sourceTree = "<group>"; };
|
||||
6B1603BA83AA0C7B94E45168D7E684C4 /* ResourceFolder */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ResourceFolder; path = Resources/ResourceFolder; sourceTree = SOURCE_ROOT; };
|
||||
@@ -500,16 +458,12 @@
|
||||
7DE38C10AB71A47B786D5BF205BA002F /* Model.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Model.xcdatamodel; sourceTree = "<group>"; };
|
||||
7F1A2F579A6F79C62DDA05712E2AB1F7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
7FDC16E1938AA114B67D87A9822E86D7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = "<group>"; };
|
||||
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureB.framework; sourceTree = "<group>"; };
|
||||
814822136AF3C64428D69DD62246E8A2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
8A9274BE42A03DC5DA1FAD04992ED6E3 /* Framework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8CAF6C55B555E3E1352645B630CCB23E /* ExtensionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = "<group>"; };
|
||||
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
9390121B4ECBB1B796C7CBBDD32C4DD4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
93C033648A37D95027845BD34562053B /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
|
||||
9A87A926D563773658FB87FEEE4DD132 /* iMessageApp.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = iMessageApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
9F27382DD66E26C059E26EFE8D6BEF4D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
A0DC40025AB59B688E758829FB7EDB95 /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A3F6BCB5FEFB16F1BA368059F4B1505A /* InterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InterfaceController.swift; sourceTree = "<group>"; };
|
||||
@@ -519,10 +473,8 @@
|
||||
AB055761199DF36DB0C629A608A4EF3A /* Framework2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Framework2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B17B8D9C9B391332CD176A355AD24669 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LocalizedStoryboard.storyboard; sourceTree = "<group>"; };
|
||||
B1C33BB070583BE3B0EC0E68083FE89C /* App_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App_iOS.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CarthageTestFixture.framework; sourceTree = "<group>"; };
|
||||
B419F22EB75EDD4AB9B92F32F7D39755 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
|
||||
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DependencyFixtureA.framework; sourceTree = "<group>"; };
|
||||
BA040F1F7D6CA08878323A551349F18D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
BB178D03E75929F3F5B10C56838882EC /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Result.framework; sourceTree = "<group>"; };
|
||||
BECEA4A483ADEB8158F640B356D10090 /* Tool */ = {isa = PBXFileReference; includeInIndex = 0; path = Tool; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@@ -558,9 +510,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3C5A4AC7604AE8106630F578F7FFE642 /* CarthageTestFixture.framework in Frameworks */,
|
||||
0DB8E1DA22F48A2A2466B0B8CCF99BEC /* DependencyFixtureA.framework in Frameworks */,
|
||||
BC057E5E76A42A2FD2E3E87AEAD82656 /* DependencyFixtureB.framework in Frameworks */,
|
||||
FBDBC020EE959F32F0FF0E6252028356 /* Contacts.framework in Frameworks */,
|
||||
6CE2C63470E541C3A04F3E9ED6B3F10B /* Framework2.framework in Frameworks */,
|
||||
DE50B077EE4BFABAF128321B2A13886F /* Framework.framework in Frameworks */,
|
||||
@@ -574,9 +523,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
2D2427F64DD9C91EEA8B9B78E5374B3C /* CarthageTestFixture.framework in Frameworks */,
|
||||
A17A468A0FF633D25898030261832C20 /* DependencyFixtureA.framework in Frameworks */,
|
||||
F621159CB7FE95F1FDC180B0C71E984D /* DependencyFixtureB.framework in Frameworks */,
|
||||
8BD6E6E86A37882FB7C802E33DD03105 /* Result.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -585,9 +531,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
B6D551AB3AC3FA4D4D1511ADCCF4EFBD /* CarthageTestFixture.framework in Frameworks */,
|
||||
439FAA5FF3FFFCEC79612B22DA1C654C /* DependencyFixtureA.framework in Frameworks */,
|
||||
A4015A6071C86C0F99D9F59E1F30821B /* DependencyFixtureB.framework in Frameworks */,
|
||||
FE4C8407830C0189E1F61AFBEF16398B /* Result.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -596,9 +539,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
7F6364F98A0701EA7F5194BEA6E4B02A /* CarthageTestFixture.framework in Frameworks */,
|
||||
86EF8D61ABD8CEB1E2B82D47F00AABA3 /* DependencyFixtureA.framework in Frameworks */,
|
||||
360A9448CE399E95CEC759CD0FEF7918 /* DependencyFixtureB.framework in Frameworks */,
|
||||
5CB4C10148DD10D82B5ADBBDAD52BCD1 /* Result.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -607,9 +547,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
899A16B3BC09973811196FE1B4378CED /* CarthageTestFixture.framework in Frameworks */,
|
||||
5F8EBB604076B9E5BD1FFEE701BFE22F /* DependencyFixtureA.framework in Frameworks */,
|
||||
260126FF16180EC41A12EA5C75DAF0B8 /* DependencyFixtureB.framework in Frameworks */,
|
||||
A1144E47C6EFE30830087F384717526E /* Contacts.framework in Frameworks */,
|
||||
82D432D23D2ACC56338BE911465E6F89 /* Framework.framework in Frameworks */,
|
||||
F7ECF245988DABA0164DFF08607F6C31 /* Result.framework in Frameworks */,
|
||||
@@ -622,9 +559,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1B3F19D52946470A5D235DF307E4C10C /* CarthageTestFixture.framework in Frameworks */,
|
||||
380BEFC87DBDB18C152712BE148616EF /* DependencyFixtureA.framework in Frameworks */,
|
||||
223789306EC8813067A7C8C37740466F /* DependencyFixtureB.framework in Frameworks */,
|
||||
EFBDE105D3397BE7AAC207B8AD3CC8BB /* Result.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -699,9 +633,6 @@
|
||||
2935454D05445817952E145D261767D4 /* watchOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8172E4733F98AD213CB42FA94AEBBA98 /* CarthageTestFixture.framework */,
|
||||
9BFA0DB3F2851A12A91DABFBFD3A9A07 /* DependencyFixtureA.framework */,
|
||||
1B7FE5849A5B2AAD3E62D3A7971CBC19 /* DependencyFixtureB.framework */,
|
||||
BB178D03E75929F3F5B10C56838882EC /* Result.framework */,
|
||||
);
|
||||
path = watchOS;
|
||||
@@ -828,9 +759,6 @@
|
||||
912A7321F662FE41BAAEED67F628711F /* Mac */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B2AA735E34BB5D2B7DA7212BF5EC5971 /* CarthageTestFixture.framework */,
|
||||
B9CBE843396A0F73A18F4B1138A386B3 /* DependencyFixtureA.framework */,
|
||||
80192E4B3F765386B9E8CCC5F8993C9C /* DependencyFixtureB.framework */,
|
||||
D296BB7355994040E197A1EE5B41F583 /* Result.framework */,
|
||||
);
|
||||
path = Mac;
|
||||
@@ -934,9 +862,6 @@
|
||||
D557819B1EE5B42A0A3DD4D1F3D982C4 /* tvOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4778BFC65091F5B2B07A7F865CB6B68E /* CarthageTestFixture.framework */,
|
||||
0D57001AD1EEEB31B0EEEBE27151A8D3 /* DependencyFixtureA.framework */,
|
||||
4BACF4A03F73DCFC3D95C21AB6C1EF7B /* DependencyFixtureB.framework */,
|
||||
B76E17CE3574081D5BF45B449F3F46DB /* Result.framework */,
|
||||
);
|
||||
path = tvOS;
|
||||
@@ -945,9 +870,6 @@
|
||||
DBF93518FC96D95A5455271356EB57FF /* iOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
50B5CD1B9C7CDDBA1A9B530EE1560368 /* CarthageTestFixture.framework */,
|
||||
9175CD404DD510116BEC02347027B13A /* DependencyFixtureA.framework */,
|
||||
685E6928BB8552F257AF32A1C35CD9F8 /* DependencyFixtureB.framework */,
|
||||
0C5AC2545AE4D4F7F44E2E9B53F03FF0 /* Result.framework */,
|
||||
);
|
||||
path = iOS;
|
||||
@@ -1686,16 +1608,10 @@
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"$(SRCROOT)/Carthage/Build/iOS/CarthageTestFixture.framework",
|
||||
"$(SRCROOT)/Carthage/Build/iOS/DependencyFixtureA.framework",
|
||||
"$(SRCROOT)/Carthage/Build/iOS/DependencyFixtureB.framework",
|
||||
"$(SRCROOT)/Carthage/Build/iOS/Result.framework",
|
||||
);
|
||||
name = Carthage;
|
||||
outputPaths = (
|
||||
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/CarthageTestFixture.framework",
|
||||
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/DependencyFixtureA.framework",
|
||||
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/DependencyFixtureB.framework",
|
||||
"$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Result.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
||||
@@ -86,8 +86,6 @@ targets:
|
||||
- target: Framework_iOS
|
||||
- target: StaticLibrary_ObjC_iOS
|
||||
- carthage: Result
|
||||
- carthage: CarthageTestFixture
|
||||
includeRelated: true
|
||||
- target: Framework2_iOS
|
||||
weak: true
|
||||
- target: App_watchOS
|
||||
@@ -196,9 +194,7 @@ targets:
|
||||
path: scripts/script.sh
|
||||
dependencies:
|
||||
- carthage: Result
|
||||
- carthage: CarthageTestFixture
|
||||
includeRelated: true
|
||||
- target: StaticLibrary_ObjC_$platform
|
||||
- target: StaticLibrary_ObjC_${platform}
|
||||
|
||||
Framework2:
|
||||
type: framework
|
||||
|
||||
@@ -29,7 +29,7 @@ extension Project {
|
||||
preActions: [Scheme.ExecutionAction(name: "run", script: "script")],
|
||||
postActions: [Scheme.ExecutionAction(name: "run", script: "script")]
|
||||
)
|
||||
for platform in Platform.all {
|
||||
for platform in Platform.allCases {
|
||||
let appTarget = Target(
|
||||
name: "App_\(platform)",
|
||||
type: .application,
|
||||
@@ -38,8 +38,8 @@ extension Project {
|
||||
dependencies: [
|
||||
Dependency(type: .target, reference: "Framework_\(platform)"),
|
||||
Dependency(type: .target, reference: "Framework2_\(platform)"),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "BrightFutures"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "BrightFutures"),
|
||||
],
|
||||
scheme: scheme
|
||||
)
|
||||
@@ -73,7 +73,7 @@ extension Project {
|
||||
TargetSource(path: "Framework_\(platform)"),
|
||||
],
|
||||
dependencies: [
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"),
|
||||
],
|
||||
scheme: scheme
|
||||
)
|
||||
@@ -89,8 +89,8 @@ extension Project {
|
||||
sources: [TargetSource(path: "Framework2_\(platform)")],
|
||||
dependencies: [
|
||||
Dependency(type: .target, reference: "Framework_\(platform)"),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "BrightFutures"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "BrightFutures"),
|
||||
],
|
||||
scheme: scheme
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
$0.it("provides the default base build path") {
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject())
|
||||
|
||||
try expect(resolver.baseBuildPath) == "Carthage/Build"
|
||||
try expect(resolver.buildPath) == "Carthage/Build"
|
||||
}
|
||||
|
||||
$0.it("provides the base build path specified by the project specs") {
|
||||
@@ -23,7 +23,7 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
let options = SpecOptions(carthageBuildPath: customPath)
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
|
||||
|
||||
try expect(resolver.baseBuildPath) == customPath
|
||||
try expect(resolver.buildPath) == customPath
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
$0.it("provides the default executable path for carthage") {
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject())
|
||||
|
||||
try expect(resolver.executablePath) == "carthage"
|
||||
try expect(resolver.executable) == "carthage"
|
||||
}
|
||||
|
||||
$0.it("provides the executable path for carthage as specified by the project specs") {
|
||||
@@ -41,7 +41,7 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
let options = SpecOptions(carthageExecutablePath: customPath)
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
|
||||
|
||||
try expect(resolver.executablePath) == customPath
|
||||
try expect(resolver.executable) == customPath
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -49,10 +49,10 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
describe {
|
||||
$0.it("generates the build path for a given platform") {
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject())
|
||||
let allPlatforms = Platform.all
|
||||
let expectedByPlatform: [Platform: String] = allPlatforms.reduce(into: [:], { result, next in
|
||||
result[next] = "\(resolver.baseBuildPath)/\(next.carthageDirectoryName)"
|
||||
})
|
||||
let allPlatforms = Platform.allCases
|
||||
let expectedByPlatform: [Platform: String] = allPlatforms.reduce(into: [:]) { result, next in
|
||||
result[next] = "\(resolver.buildPath)/\(next.carthageName)"
|
||||
}
|
||||
|
||||
try allPlatforms.forEach { platform in
|
||||
try expect(expectedByPlatform[platform]) == resolver.buildPath(for: platform)
|
||||
@@ -63,15 +63,14 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
|
||||
func testRelatedDependenciesForPlatform() {
|
||||
|
||||
let dependencyFixtureName = "CarthageTestFixture"
|
||||
let carthageBuildPath = fixturePath + "TestProject/Carthage/Build"
|
||||
let carthageBuildPath = fixturePath + "CarthageProject/Carthage/Build"
|
||||
|
||||
describe {
|
||||
$0.it("fetches related dependencies for a given platform, sorted alphabetically") {
|
||||
|
||||
let options = SpecOptions(carthageBuildPath: carthageBuildPath.string)
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
|
||||
let dependency = Dependency(type: .carthage(includeRelated: true), reference: dependencyFixtureName)
|
||||
let dependency = Dependency(type: .carthage(findFrameworks: true), reference: "CarthageTestFixture")
|
||||
let expectedDependencies: [Platform: [String]] = [
|
||||
.macOS: ["DependencyFixtureB", "DependencyFixtureA", "CarthageTestFixture"],
|
||||
.watchOS: ["DependencyFixtureA", "DependencyFixtureB", "CarthageTestFixture"],
|
||||
@@ -79,7 +78,7 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
.iOS: ["CarthageTestFixture", "DependencyFixtureA", "DependencyFixtureB"]
|
||||
]
|
||||
|
||||
try Platform.all.forEach { platform in
|
||||
try Platform.allCases.forEach { platform in
|
||||
let expected = expectedDependencies[platform] ?? []
|
||||
let related = resolver.relatedDependencies(for: dependency, in: platform)
|
||||
try expect(related.map { $0.reference }) == expected.sorted(by: { $0 < $1 })
|
||||
@@ -88,11 +87,20 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
|
||||
$0.it("returns the main dependency when no related dependencies are found") {
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject())
|
||||
let dependency = Dependency(type: .carthage(includeRelated: true), reference: dependencyFixtureName)
|
||||
let dependency = Dependency(type: .carthage(findFrameworks: true), reference: "RandomDependency")
|
||||
|
||||
let related = resolver.relatedDependencies(for: dependency, in: .iOS)
|
||||
|
||||
try expect(related.map { $0.reference }) == [dependencyFixtureName]
|
||||
try expect(related.map { $0.reference }) == ["RandomDependency"]
|
||||
}
|
||||
|
||||
$0.it("de-duplicates dependencies") {
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject())
|
||||
let dependency = Dependency(type: .carthage(findFrameworks: true), reference: "ReactiveSwift")
|
||||
|
||||
let related = resolver.relatedDependencies(for: dependency, in: .iOS)
|
||||
|
||||
try expect(related.map { $0.reference }) == ["ReactiveSwift"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -104,9 +112,9 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
|
||||
describe {
|
||||
|
||||
$0.it("overrides the includeRelated dependency global flag when specified") {
|
||||
let options = SpecOptions(carthageBuildPath: carthageBuildPath.string, includeCarthageRelatedDependencies: true)
|
||||
let dependency = Dependency(type: .carthage(includeRelated: false), reference: dependencyFixtureName)
|
||||
$0.it("overrides the findFrameworks dependency global flag when specified") {
|
||||
let options = SpecOptions(carthageBuildPath: carthageBuildPath.string, findCarthageFrameworks: true)
|
||||
let dependency = Dependency(type: .carthage(findFrameworks: false), reference: dependencyFixtureName)
|
||||
|
||||
let resolver = CarthageDependencyResolver(project: makeTestProject(options: options))
|
||||
let target = Target(name: "1", type: .application, platform: .iOS, dependencies: [dependency])
|
||||
@@ -118,7 +126,7 @@ class CarthageDependencyResolverTests: XCTestCase {
|
||||
$0.it("fetches all carthage dependencies for a given target, sorted alphabetically") {
|
||||
let unsortedDependencyReferences = ["RxSwift", "RxCocoa", "RxBlocking", "RxTest", "RxAtomic"]
|
||||
let dependencies = unsortedDependencyReferences.map {
|
||||
Dependency(type: .carthage(includeRelated: false), reference: $0)
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: $0)
|
||||
}
|
||||
let nonCarthageDependencies = unsortedDependencyReferences.map { Dependency(type: .target, reference: $0) }
|
||||
let target = Target(name: "1", type: .application, platform: .iOS, dependencies: dependencies + nonCarthageDependencies)
|
||||
|
||||
@@ -437,7 +437,7 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
dependencies: [
|
||||
Dependency(type: .target, reference: iosFrameworkZ.name),
|
||||
Dependency(type: .framework, reference: "FrameworkZ.framework"),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "CarthageZ"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageZ"),
|
||||
]
|
||||
)
|
||||
expectedResourceFiles[staticLibrary.name] = Set()
|
||||
@@ -461,10 +461,10 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
dependencies: [
|
||||
Dependency(type: .target, reference: resourceBundle.name),
|
||||
Dependency(type: .framework, reference: "FrameworkC.framework"),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "CarthageA"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageA"),
|
||||
// Statically linked, so don't embed into test
|
||||
Dependency(type: .target, reference: staticLibrary.name),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "CarthageB", embed: false),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageB", embed: false),
|
||||
]
|
||||
)
|
||||
expectedResourceFiles[iosFrameworkA.name] = Set()
|
||||
@@ -487,7 +487,7 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
Dependency(type: .framework, reference: "FrameworkD.framework"),
|
||||
// Embedded into framework, so don't embed into test
|
||||
Dependency(type: .framework, reference: "FrameworkE.framework", embed: true),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "CarthageC", embed: true),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageC", embed: true),
|
||||
// Statically linked, so don't embed into test
|
||||
Dependency(type: .framework, reference: "FrameworkF.framework", embed: false),
|
||||
]
|
||||
@@ -517,7 +517,7 @@ class ProjectGeneratorTests: XCTestCase {
|
||||
dependencies: [
|
||||
Dependency(type: .target, reference: app.name),
|
||||
Dependency(type: .target, reference: iosFrameworkB.name),
|
||||
Dependency(type: .carthage(includeRelated: false), reference: "CarthageD"),
|
||||
Dependency(type: .carthage(findFrameworks: false), reference: "CarthageD"),
|
||||
],
|
||||
directlyEmbedCarthageDependencies: false
|
||||
)
|
||||
|
||||
@@ -528,9 +528,9 @@ class SourceGeneratorTests: XCTestCase {
|
||||
"""
|
||||
try createDirectories(directories)
|
||||
|
||||
let watchTarget = Target(name: "Watch", type: .watch2App, platform: .watchOS, sources: ["A"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire_watch")])
|
||||
let watchTarget = Target(name: "Watch", type: .watch2App, platform: .watchOS, sources: ["A"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire_watch")])
|
||||
let watchDependency = Dependency(type: .target, reference: "Watch")
|
||||
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire"), watchDependency])
|
||||
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire"), watchDependency])
|
||||
let project = Project(basePath: directoryPath, name: "Test", targets: [target, watchTarget])
|
||||
|
||||
let pbxProj = try project.generatePbxProj()
|
||||
@@ -549,7 +549,7 @@ class SourceGeneratorTests: XCTestCase {
|
||||
"""
|
||||
try createDirectories(directories)
|
||||
|
||||
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A", "P", "S"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire")])
|
||||
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["A", "P", "S"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire")])
|
||||
let project = Project(basePath: directoryPath, name: "Test", targets: [target])
|
||||
|
||||
let pbxProj = try project.generatePbxProj()
|
||||
@@ -572,7 +572,7 @@ class SourceGeneratorTests: XCTestCase {
|
||||
"""
|
||||
try createDirectories(directories)
|
||||
|
||||
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["Sources"], dependencies: [Dependency(type: .carthage(includeRelated: false), reference: "Alamofire")])
|
||||
let target = Target(name: "Test", type: .application, platform: .iOS, sources: ["Sources"], dependencies: [Dependency(type: .carthage(findFrameworks: false), reference: "Alamofire")])
|
||||
let project = Project(basePath: directoryPath, name: "Test", targets: [target])
|
||||
|
||||
let pbxProj = try project.generatePbxProj()
|
||||
|
||||
@@ -343,14 +343,14 @@ class SpecLoadingTests: XCTestCase {
|
||||
var targetDictionary = validTarget
|
||||
targetDictionary["dependencies"] = [
|
||||
["target": "name", "embed": false],
|
||||
["carthage": "name", "includeRelated": true],
|
||||
["carthage": "name", "findFrameworks": true],
|
||||
["framework": "path", "weak": true],
|
||||
["sdk": "Contacts.framework"],
|
||||
]
|
||||
let target = try Target(name: "test", jsonDictionary: targetDictionary)
|
||||
try expect(target.dependencies.count) == 4
|
||||
try expect(target.dependencies[0]) == Dependency(type: .target, reference: "name", embed: false)
|
||||
try expect(target.dependencies[1]) == Dependency(type: .carthage(includeRelated: true), reference: "name")
|
||||
try expect(target.dependencies[1]) == Dependency(type: .carthage(findFrameworks: true), reference: "name")
|
||||
try expect(target.dependencies[2]) == Dependency(type: .framework, reference: "path", weakLink: true)
|
||||
try expect(target.dependencies[3]) == Dependency(type: .sdk, reference: "Contacts.framework")
|
||||
}
|
||||
@@ -900,7 +900,7 @@ class SpecLoadingTests: XCTestCase {
|
||||
watchOS: "3.0",
|
||||
macOS: "10.12.1"
|
||||
),
|
||||
includeCarthageRelatedDependencies: true
|
||||
findCarthageFrameworks: true
|
||||
)
|
||||
let expected = Project(name: "test", options: options)
|
||||
let dictionary: [String: Any] = ["options": [
|
||||
@@ -910,7 +910,7 @@ class SpecLoadingTests: XCTestCase {
|
||||
"createIntermediateGroups": true,
|
||||
"developmentLanguage": "ja",
|
||||
"deploymentTarget": ["iOS": 11.1, "tvOS": 10.0, "watchOS": "3", "macOS": "10.12.1"],
|
||||
"includeCarthageRelatedDependencies": true
|
||||
"findCarthageFrameworks": true
|
||||
]]
|
||||
let parsedSpec = try getProjectSpec(dictionary)
|
||||
try expect(parsedSpec) == expected
|
||||
|
||||
@@ -102,14 +102,6 @@ extension XCBuildConfiguration: Named {}
|
||||
extension PBXNativeTarget: Named {}
|
||||
extension XCScheme: Named {}
|
||||
|
||||
extension Version: ExpressibleByStringLiteral {
|
||||
|
||||
/// Will return nil literal not Semver
|
||||
public init(stringLiteral value: String) {
|
||||
try! self.init(value)
|
||||
}
|
||||
}
|
||||
|
||||
extension XCTestCase {
|
||||
|
||||
public func describe(_ name: StaticString = #function, _ test: (ContextType) -> Void) {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
if [[ `git status --porcelain Tests/Fixtures/TestProject` ]]; then
|
||||
if [[ `git status --porcelain Tests/Fixtures` ]]; then
|
||||
echo ""
|
||||
echo "⚠️ Generated TestProject has changed."
|
||||
echo "⚠️ If this is a valid change please run the tests and commit the updated TestProject."
|
||||
echo "⚠️ Generated fixturess have changed."
|
||||
echo "⚠️ If this is a valid change please run the tests and commit the updates."
|
||||
echo ""
|
||||
git --no-pager diff --color=always Tests/Fixtures/TestProject
|
||||
git --no-pager diff --color=always Tests/Fixtures
|
||||
exit 1
|
||||
else
|
||||
echo "✅ Generated TestProject has not changed."
|
||||
echo "✅ Generated fixtures have not changed."
|
||||
fi
|
||||
|
||||
@@ -2,3 +2,4 @@
|
||||
set -e
|
||||
|
||||
swift run xcodegen --spec Tests/Fixtures/TestProject/project.yml
|
||||
swift run xcodegen --spec Tests/Fixtures/CarthageProject/project.yml
|
||||
|
||||
Reference in New Issue
Block a user