Skip to content

Commit 0568eb7

Browse files
committed
Correct build scheme and tests for tvOS target
1 parent ec2adb6 commit 0568eb7

File tree

5 files changed

+161
-22
lines changed

5 files changed

+161
-22
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ xcuserdata
44
ResourceApp/rswift
55
R.generated.swift
66
ResourceApp/rswift.log
7+
ResourceApp/rswift-tv.log
78
Pods

ResourceApp/ResourceApp.xcodeproj/project.pbxproj

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,15 @@
4040
D5B799871C1B8DD2009EA901 /* Specials.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D5B799861C1B8DD2009EA901 /* Specials.storyboard */; };
4141
D5BA2E5F1C90086C0025C9E3 /* CellCollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D5BA2E5E1C90086C0025C9E3 /* CellCollectionView.xib */; };
4242
D5CBCE491B7682B800C5D96B /* MyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5CBCE481B7682B800C5D96B /* MyViewController.swift */; };
43+
D5CE930D1CA966D9009D0E62 /* rswift-tv.log in Resources */ = {isa = PBXBuildFile; fileRef = D5CE930C1CA966D9009D0E62 /* rswift-tv.log */; };
44+
D5CE930E1CA96714009D0E62 /* ImagesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5EB326D1B63AD6B005C7B47 /* ImagesTests.swift */; };
4345
D5DE480E1B5E1CC7000F6A85 /* R.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5DE480D1B5E1CC7000F6A85 /* R.generated.swift */; };
4446
D5E513BA1B8E111A0035ECAA /* AveriaLibre-B.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D5E513B51B8E111A0035ECAA /* AveriaLibre-B.ttf */; };
4547
D5E513BB1B8E111A0035ECAA /* AveriaLibre-BI.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D5E513B61B8E111A0035ECAA /* AveriaLibre-BI.ttf */; };
4648
D5E513BC1B8E111A0035ECAA /* AveriaLibre-L.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D5E513B71B8E111A0035ECAA /* AveriaLibre-L.ttf */; };
4749
D5E513BD1B8E111A0035ECAA /* AveriaLibre.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D5E513B81B8E111A0035ECAA /* AveriaLibre.ttf */; };
4850
D5E513BE1B8E111A0035ECAA /* GdyBkltter1911.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D5E513B91B8E111A0035ECAA /* GdyBkltter1911.ttf */; };
4951
D5E513C01B8E11810035ECAA /* FontsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E513BF1B8E11810035ECAA /* FontsTests.swift */; };
50-
D5EB326F1B63AD6B005C7B47 /* ImagesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5EB326D1B63AD6B005C7B47 /* ImagesTests.swift */; };
5152
D5EB32701B63AD6B005C7B47 /* ValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5EB326E1B63AD6B005C7B47 /* ValidationTests.swift */; };
5253
D5F05D3F1BB3CDF3003AE55E /* The App Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = D5F05D3E1BB3CDF3003AE55E /* The App Icon.png */; };
5354
D5F05D421BB52002003AE55E /* Some.json in Resources */ = {isa = PBXBuildFile; fileRef = D5F05D411BB52002003AE55E /* Some.json */; };
@@ -126,14 +127,15 @@
126127
D5B799881C1B8F0C009EA901 /* AVKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVKit.framework; path = System/Library/Frameworks/AVKit.framework; sourceTree = SDKROOT; };
127128
D5BA2E5E1C90086C0025C9E3 /* CellCollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CellCollectionView.xib; sourceTree = "<group>"; };
128129
D5CBCE481B7682B800C5D96B /* MyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyViewController.swift; sourceTree = "<group>"; };
130+
D5CE930C1CA966D9009D0E62 /* rswift-tv.log */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "rswift-tv.log"; sourceTree = SOURCE_ROOT; };
129131
D5DE480D1B5E1CC7000F6A85 /* R.generated.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = R.generated.swift; sourceTree = SOURCE_ROOT; };
130132
D5E513B51B8E111A0035ECAA /* AveriaLibre-B.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "AveriaLibre-B.ttf"; sourceTree = "<group>"; };
131133
D5E513B61B8E111A0035ECAA /* AveriaLibre-BI.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "AveriaLibre-BI.ttf"; sourceTree = "<group>"; };
132134
D5E513B71B8E111A0035ECAA /* AveriaLibre-L.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "AveriaLibre-L.ttf"; sourceTree = "<group>"; };
133135
D5E513B81B8E111A0035ECAA /* AveriaLibre.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = AveriaLibre.ttf; sourceTree = "<group>"; };
134136
D5E513B91B8E111A0035ECAA /* GdyBkltter1911.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = GdyBkltter1911.ttf; sourceTree = "<group>"; };
135137
D5E513BF1B8E11810035ECAA /* FontsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontsTests.swift; sourceTree = "<group>"; };
136-
D5EB326D1B63AD6B005C7B47 /* ImagesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImagesTests.swift; sourceTree = "<group>"; };
138+
D5EB326D1B63AD6B005C7B47 /* ImagesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ImagesTests.swift; path = ../ResourceAppTests/ImagesTests.swift; sourceTree = "<group>"; };
137139
D5EB326E1B63AD6B005C7B47 /* ValidationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValidationTests.swift; sourceTree = "<group>"; };
138140
D5F05D3E1BB3CDF3003AE55E /* The App Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "The App Icon.png"; sourceTree = "<group>"; };
139141
D5F05D411BB52002003AE55E /* Some.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Some.json; sourceTree = "<group>"; };
@@ -297,7 +299,6 @@
297299
E24720CD1C96B71B00DF291D /* ColorsTests.swift */,
298300
D5F05D471BB520B1003AE55E /* FilesTests.swift */,
299301
D5E513BF1B8E11810035ECAA /* FontsTests.swift */,
300-
D5EB326D1B63AD6B005C7B47 /* ImagesTests.swift */,
301302
D51F47221B8FAF9F0028BAFD /* NibTests.swift */,
302303
D55C6CD51B5D757300301B0D /* ResourceAppTests.swift */,
303304
D56DC76F1C42A5E700623437 /* StoryboardTests.swift */,
@@ -316,6 +317,15 @@
316317
name = "Supporting Files";
317318
sourceTree = "<group>";
318319
};
320+
D5CE930B1CA966C6009D0E62 /* Supporting Files */ = {
321+
isa = PBXGroup;
322+
children = (
323+
D5CE930C1CA966D9009D0E62 /* rswift-tv.log */,
324+
DEF559AF1CA48892009B8C51 /* Info.plist */,
325+
);
326+
name = "Supporting Files";
327+
sourceTree = "<group>";
328+
};
319329
D5E513B41B8E10F90035ECAA /* Fonts */ = {
320330
isa = PBXGroup;
321331
children = (
@@ -354,7 +364,8 @@
354364
isa = PBXGroup;
355365
children = (
356366
DEF559AD1CA48892009B8C51 /* ResourceAppTests_tvOS.swift */,
357-
DEF559AF1CA48892009B8C51 /* Info.plist */,
367+
D5EB326D1B63AD6B005C7B47 /* ImagesTests.swift */,
368+
D5CE930B1CA966C6009D0E62 /* Supporting Files */,
358369
);
359370
path = "ResourceAppTests-tvOS";
360371
sourceTree = "<group>";
@@ -559,6 +570,7 @@
559570
isa = PBXResourcesBuildPhase;
560571
buildActionMask = 2147483647;
561572
files = (
573+
D5CE930D1CA966D9009D0E62 /* rswift-tv.log in Resources */,
562574
);
563575
runOnlyForDeploymentPostprocessing = 0;
564576
};
@@ -636,7 +648,7 @@
636648
);
637649
runOnlyForDeploymentPostprocessing = 0;
638650
shellPath = /bin/sh;
639-
shellScript = "\"$SRCROOT/rswift\" \"$SRCROOT/ResourceApp-tvOS\"";
651+
shellScript = "\"$SRCROOT/rswift\" \"$SRCROOT/ResourceApp-tvOS\" > \"$SRCROOT/rswift-tv.log\"";
640652
};
641653
/* End PBXShellScriptBuildPhase section */
642654

@@ -660,7 +672,6 @@
660672
D5E513C01B8E11810035ECAA /* FontsTests.swift in Sources */,
661673
E24720CE1C96B71B00DF291D /* ColorsTests.swift in Sources */,
662674
D56DC7701C42A5E700623437 /* StoryboardTests.swift in Sources */,
663-
D5EB326F1B63AD6B005C7B47 /* ImagesTests.swift in Sources */,
664675
D51F47231B8FAF9F0028BAFD /* NibTests.swift in Sources */,
665676
D55C6CD61B5D757300301B0D /* ResourceAppTests.swift in Sources */,
666677
D5EB32701B63AD6B005C7B47 /* ValidationTests.swift in Sources */,
@@ -682,6 +693,7 @@
682693
buildActionMask = 2147483647;
683694
files = (
684695
DEF559AE1CA48892009B8C51 /* ResourceAppTests_tvOS.swift in Sources */,
696+
D5CE930E1CA96714009D0E62 /* ImagesTests.swift in Sources */,
685697
);
686698
runOnlyForDeploymentPostprocessing = 0;
687699
};
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "0730"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "NO"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "D5EA0DF31A3DF45600FFEBC4"
18+
BuildableName = "rswift"
19+
BlueprintName = "rswift"
20+
ReferencedContainer = "container:../R.swift.xcodeproj">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
<BuildActionEntry
24+
buildForTesting = "YES"
25+
buildForRunning = "YES"
26+
buildForProfiling = "YES"
27+
buildForArchiving = "YES"
28+
buildForAnalyzing = "YES">
29+
<BuildableReference
30+
BuildableIdentifier = "primary"
31+
BlueprintIdentifier = "DEF559961CA4873D009B8C51"
32+
BuildableName = "ResourceApp-tvOS.app"
33+
BlueprintName = "ResourceApp-tvOS"
34+
ReferencedContainer = "container:ResourceApp.xcodeproj">
35+
</BuildableReference>
36+
</BuildActionEntry>
37+
</BuildActionEntries>
38+
</BuildAction>
39+
<TestAction
40+
buildConfiguration = "Debug"
41+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
42+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
43+
shouldUseLaunchSchemeArgsEnv = "YES">
44+
<Testables>
45+
<TestableReference
46+
skipped = "NO">
47+
<BuildableReference
48+
BuildableIdentifier = "primary"
49+
BlueprintIdentifier = "DEF559AA1CA48892009B8C51"
50+
BuildableName = "ResourceAppTests-tvOS.xctest"
51+
BlueprintName = "ResourceAppTests-tvOS"
52+
ReferencedContainer = "container:ResourceApp.xcodeproj">
53+
</BuildableReference>
54+
</TestableReference>
55+
</Testables>
56+
<MacroExpansion>
57+
<BuildableReference
58+
BuildableIdentifier = "primary"
59+
BlueprintIdentifier = "DEF559961CA4873D009B8C51"
60+
BuildableName = "ResourceApp-tvOS.app"
61+
BlueprintName = "ResourceApp-tvOS"
62+
ReferencedContainer = "container:ResourceApp.xcodeproj">
63+
</BuildableReference>
64+
</MacroExpansion>
65+
<AdditionalOptions>
66+
</AdditionalOptions>
67+
</TestAction>
68+
<LaunchAction
69+
buildConfiguration = "Debug"
70+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
71+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
72+
launchStyle = "0"
73+
useCustomWorkingDirectory = "NO"
74+
ignoresPersistentStateOnLaunch = "NO"
75+
debugDocumentVersioning = "YES"
76+
debugServiceExtension = "internal"
77+
allowLocationSimulation = "YES">
78+
<BuildableProductRunnable
79+
runnableDebuggingMode = "0">
80+
<BuildableReference
81+
BuildableIdentifier = "primary"
82+
BlueprintIdentifier = "DEF559961CA4873D009B8C51"
83+
BuildableName = "ResourceApp-tvOS.app"
84+
BlueprintName = "ResourceApp-tvOS"
85+
ReferencedContainer = "container:ResourceApp.xcodeproj">
86+
</BuildableReference>
87+
</BuildableProductRunnable>
88+
<AdditionalOptions>
89+
</AdditionalOptions>
90+
</LaunchAction>
91+
<ProfileAction
92+
buildConfiguration = "Release"
93+
shouldUseLaunchSchemeArgsEnv = "YES"
94+
savedToolIdentifier = ""
95+
useCustomWorkingDirectory = "NO"
96+
debugDocumentVersioning = "YES">
97+
<BuildableProductRunnable
98+
runnableDebuggingMode = "0">
99+
<BuildableReference
100+
BuildableIdentifier = "primary"
101+
BlueprintIdentifier = "DEF559961CA4873D009B8C51"
102+
BuildableName = "ResourceApp-tvOS.app"
103+
BlueprintName = "ResourceApp-tvOS"
104+
ReferencedContainer = "container:ResourceApp.xcodeproj">
105+
</BuildableReference>
106+
</BuildableProductRunnable>
107+
</ProfileAction>
108+
<AnalyzeAction
109+
buildConfiguration = "Debug">
110+
</AnalyzeAction>
111+
<ArchiveAction
112+
buildConfiguration = "Release"
113+
revealArchiveInOrganizer = "YES">
114+
</ArchiveAction>
115+
</Scheme>

ResourceApp/ResourceAppTests-tvOS/ResourceAppTests_tvOS.swift

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,29 @@
1010
import XCTest
1111

1212
class ResourceAppTests_tvOS: XCTestCase {
13-
14-
func testNonNilImages() {
15-
XCTAssertNotNil(R.image.imageStackAsset())
13+
14+
let expectedWarnings = [
15+
""
16+
]
17+
18+
func testWarningsAreLogged() {
19+
guard let logURL = NSBundle(forClass: ResourceAppTests_tvOS.self).URLForResource("rswift-tv", withExtension: "log") else {
20+
XCTFail("File rswift.log not found")
21+
return
22+
}
23+
24+
do {
25+
let logContent = try String(contentsOfURL: logURL)
26+
let logLines = logContent.componentsSeparatedByString("\n")
27+
28+
for warning in expectedWarnings {
29+
XCTAssertTrue(logLines.contains(warning), "Warning is not logged: '\(warning)'")
30+
}
31+
32+
XCTAssertEqual(logLines.count, expectedWarnings.count, "There are more/less warnings then expected")
33+
34+
} catch {
35+
XCTFail("Failed to read rswift.log")
36+
}
1637
}
17-
1838
}

ResourceApp/ResourceAppTests/ImagesTests.swift

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,11 @@
88

99
import UIKit
1010
import XCTest
11-
@testable import ResourceApp
11+
@testable import ResourceApp_tvOS
1212

1313
class ImagesTests: XCTestCase {
1414

15-
func testNoNilAssetImages() {
16-
XCTAssertNotNil(R.image.eerste())
17-
XCTAssertNotNil(R.image.first())
18-
XCTAssertNotNil(R.image.firstNested())
19-
XCTAssertNotNil(R.image.secondNested())
20-
XCTAssertNotNil(R.image.skyTiff())
21-
}
22-
23-
func testNoNilFilebasedImages() {
24-
XCTAssertNotNil(R.image.colorsJpg())
25-
XCTAssertNotNil(R.image.userWhite())
15+
func testNonNilImages() {
16+
XCTAssertNotNil(R.image.imageStackAsset())
2617
}
2718
}

0 commit comments

Comments
 (0)