Skip to content

Commit 438a4ac

Browse files
Merge pull request #65 from RustyKnight/master
Support for Application Extensions
2 parents 113cedd + 2deb3ec commit 438a4ac

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

Sources/CartingCore/Extensions/XcodeProj+Targets.swift

+15-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import XcodeProj
66

77
extension XcodeProj {
8-
8+
99
func targets(with type: PBXProductType, name: String?) -> [PBXNativeTarget] {
1010
return pbxproj.nativeTargets
1111
.filter { target in
@@ -18,4 +18,18 @@ extension XcodeProj {
1818
return true
1919
}
2020
}
21+
22+
func targets(with types: [PBXProductType], name: String?) -> [PBXNativeTarget] {
23+
return pbxproj.nativeTargets
24+
.filter { target in
25+
guard let productType = target.productType else { return false }
26+
guard types.contains(productType) else {
27+
return false
28+
}
29+
if let name = name {
30+
return target.name.lowercased() == name.lowercased()
31+
}
32+
return true
33+
}
34+
}
2135
}

Sources/CartingCore/Services/ProjectService.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ public final class ProjectService {
242242
}
243243

244244
private func targets(in project: XcodeProj, withName name: String?) throws -> [PBXNativeTarget] {
245-
let filteredTargets = project.targets(with: .application, name: name)
245+
let filteredTargets = project.targets(with: [.application, .appExtension], name: name)
246246

247247
if let name = name, filteredTargets.isEmpty {
248248
throw Error.targetFilterFailed(name: name)

0 commit comments

Comments
 (0)