Skip to content

Commit 15abd85

Browse files
authored
Transition SwiftUI performance from CocoaPods to SwiftPM (#1252)
* Transition project from CocoaPods to SwiftPM * Update performance.yml
1 parent f0d8acc commit 15abd85

File tree

6 files changed

+106
-271
lines changed

6 files changed

+106
-271
lines changed

.github/workflows/performance.yml

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -54,62 +54,62 @@ jobs:
5454
set -io pipefail
5555
EXIT_STATUS=0
5656
source scripts/check_secrets.sh
57-
cd performance/SwiftUIPerformanceQuickstart/PerformanceExample
58-
bundle exec pod install --repo-update
5957
if [[ "$have_secrets" == true ]]; then
6058
(xcodebuild \
61-
-workspace "$workspace_path" \
62-
-scheme "${SAMPLE}Example${SWIFT_SUFFIX}" \
63-
-sdk iphonesimulator \
64-
-destination 'platform=iOS Simulator,name=iPhone 11' \
59+
-project "${DIR}/${SAMPLE}Example.xcodeproj" \
60+
-scheme "${SAMPLE}Example (${OS})" \
61+
-sdk "${SDK}simulator" \
62+
-destination "platform=${OS} Simulator,name=${DEVICE}" \
6563
build \
6664
test \
6765
| xcpretty) || EXIT_STATUS=$?
6866
else
6967
(xcodebuild \
70-
-workspace "$workspace_path" \
71-
-scheme "${SAMPLE}Example${SWIFT_SUFFIX}" \
72-
-sdk iphonesimulator \
73-
-destination 'platform=iOS Simulator,name=iPhone 11' \
68+
-project "${DIR}/${SAMPLE}Example.xcodeproj" \
69+
-scheme "${SAMPLE}Example (${OS})" \
70+
-sdk "${SDK}simulator" \
71+
-destination "platform=${OS} Simulator,name=${DEVICE}" \
7472
build \
7573
| xcpretty) || EXIT_STATUS=$?
7674
echo "Missing secrets: tests did not run."
7775
fi
7876
exit $EXIT_STATUS
7977
env:
80-
SWIFT_SUFFIX: ' (iOS)'
8178
SAMPLE: Performance
82-
workspace_path: PerformanceExample.xcworkspace
79+
DIR: performance/SwiftUIPerformanceQuickstart/PerformanceExample
80+
OS: iOS
81+
SDK: iphone
82+
DEVICE: iPhone 11
8383
secrets_passphrase: ${{ secrets.GHASECRETSGPGPASSPHRASE1 }}
8484
- name: Build and Test SwiftUI tvOS
8585
run: |
8686
set -io pipefail
8787
EXIT_STATUS=0
8888
source scripts/check_secrets.sh
89-
cd performance/SwiftUIPerformanceQuickstart/PerformanceExample
90-
bundle exec pod install --repo-update
9189
if [[ "$have_secrets" == true ]]; then
9290
(xcodebuild \
93-
-workspace "$workspace_path" \
94-
-scheme "${SAMPLE}Example${SWIFT_SUFFIX}" \
95-
-sdk appletvsimulator \
96-
-destination 'platform=tvOS Simulator,name=Apple TV' \
91+
-project "${DIR}/${SAMPLE}Example.xcodeproj" \
92+
-scheme "${SAMPLE}Example (${OS})" \
93+
-sdk "${SDK}simulator" \
94+
-destination "platform=${OS} Simulator,name=${DEVICE}" \
9795
build \
9896
test \
9997
| xcpretty) || EXIT_STATUS=$?
10098
else
10199
(xcodebuild \
102-
-workspace "$workspace_path" \
103-
-scheme "${SAMPLE}Example${SWIFT_SUFFIX}" \
104-
-sdk appletvsimulator \
105-
-destination 'platform=tvOS Simulator,name=Apple TV' \
100+
-project "${DIR}/${SAMPLE}Example.xcodeproj" \
101+
-scheme "${SAMPLE}Example (${OS})" \
102+
-sdk "${SDK}simulator" \
103+
-destination "platform=${OS} Simulator,name=${DEVICE}" \
106104
build \
107105
| xcpretty) || EXIT_STATUS=$?
108-
echo "Missing secrets: tests did not run."
106+
echo "Missing secrets: tests did not run."
109107
fi
110108
exit $EXIT_STATUS
111109
env:
112-
SWIFT_SUFFIX: ' (tvOS)'
113110
SAMPLE: Performance
114-
workspace_path: PerformanceExample.xcworkspace
111+
DIR: performance/SwiftUIPerformanceQuickstart/PerformanceExample
112+
OS: tvOS
113+
SDK: appletv
114+
DEVICE: Apple TV
115115
secrets_passphrase: ${{ secrets.GHASECRETSGPGPASSPHRASE1 }}

performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/project.pbxproj

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
41292EA126CB623B00747458 /* ClassifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9A26CB623B00747458 /* ClassifyView.swift */; };
1818
41292EA226CB623B00747458 /* DownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9B26CB623B00747458 /* DownloadView.swift */; };
1919
41292EA326CB623B00747458 /* DownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9B26CB623B00747458 /* DownloadView.swift */; };
20+
4131674726CD7AA90022392A /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674626CD7AA90022392A /* FirebasePerformance */; };
21+
4131674926CD7AA90022392A /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674826CD7AA90022392A /* FirebaseStorage */; };
22+
4131674B26CD7AA90022392A /* FirebaseStorageSwift-Beta in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674A26CD7AA90022392A /* FirebaseStorageSwift-Beta */; };
23+
4131674E26CD7FB30022392A /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674D26CD7FB30022392A /* FirebasePerformance */; };
24+
4131675026CD7FB30022392A /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674F26CD7FB30022392A /* FirebaseStorage */; };
25+
4131675226CD7FB30022392A /* FirebaseStorageSwift-Beta in Frameworks */ = {isa = PBXBuildFile; productRef = 4131675126CD7FB30022392A /* FirebaseStorageSwift-Beta */; };
2026
419700ED26C30DA500F186C3 /* UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 419700EC26C30DA500F186C3 /* UITests.swift */; };
2127
419700EE26C30DA500F186C3 /* UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 419700EC26C30DA500F186C3 /* UITests.swift */; };
2228
419AADCE26B86A94005C4817 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 419AADCD26B86A94005C4817 /* GoogleService-Info.plist */; };
@@ -67,6 +73,9 @@
6773
isa = PBXFrameworksBuildPhase;
6874
buildActionMask = 2147483647;
6975
files = (
76+
4131674726CD7AA90022392A /* FirebasePerformance in Frameworks */,
77+
4131674926CD7AA90022392A /* FirebaseStorage in Frameworks */,
78+
4131674B26CD7AA90022392A /* FirebaseStorageSwift-Beta in Frameworks */,
7079
);
7180
runOnlyForDeploymentPostprocessing = 0;
7281
};
@@ -81,6 +90,9 @@
8190
isa = PBXFrameworksBuildPhase;
8291
buildActionMask = 2147483647;
8392
files = (
93+
4131674E26CD7FB30022392A /* FirebasePerformance in Frameworks */,
94+
4131675026CD7FB30022392A /* FirebaseStorage in Frameworks */,
95+
4131675226CD7FB30022392A /* FirebaseStorageSwift-Beta in Frameworks */,
8496
);
8597
runOnlyForDeploymentPostprocessing = 0;
8698
};
@@ -102,6 +114,7 @@
102114
413CB73826B4AE8200E995E2 /* PerformanceExample--tvOS--Info.plist */,
103115
4102055526A631F4004B24B3 /* Shared */,
104116
4102055E26A631F5004B24B3 /* Products */,
117+
4131674C26CD7FB30022392A /* Frameworks */,
105118
);
106119
sourceTree = "<group>";
107120
};
@@ -140,6 +153,13 @@
140153
path = ..;
141154
sourceTree = "<group>";
142155
};
156+
4131674C26CD7FB30022392A /* Frameworks */ = {
157+
isa = PBXGroup;
158+
children = (
159+
);
160+
name = Frameworks;
161+
sourceTree = "<group>";
162+
};
143163
/* End PBXGroup section */
144164

145165
/* Begin PBXNativeTarget section */
@@ -156,6 +176,11 @@
156176
dependencies = (
157177
);
158178
name = "PerformanceExample (iOS)";
179+
packageProductDependencies = (
180+
4131674626CD7AA90022392A /* FirebasePerformance */,
181+
4131674826CD7AA90022392A /* FirebaseStorage */,
182+
4131674A26CD7AA90022392A /* FirebaseStorageSwift-Beta */,
183+
);
159184
productName = "PerformanceExample (iOS)";
160185
productReference = 4102055D26A631F5004B24B3 /* PerformanceExample.app */;
161186
productType = "com.apple.product-type.application";
@@ -191,6 +216,11 @@
191216
dependencies = (
192217
);
193218
name = "PerformanceExample (tvOS)";
219+
packageProductDependencies = (
220+
4131674D26CD7FB30022392A /* FirebasePerformance */,
221+
4131674F26CD7FB30022392A /* FirebaseStorage */,
222+
4131675126CD7FB30022392A /* FirebaseStorageSwift-Beta */,
223+
);
194224
productName = PerformanceExample;
195225
productReference = 410FF76926B1CEB500CA084F /* PerformanceExample (tvOS).app */;
196226
productType = "com.apple.product-type.application";
@@ -250,6 +280,9 @@
250280
Base,
251281
);
252282
mainGroup = 4102055026A631F4004B24B3;
283+
packageReferences = (
284+
4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
285+
);
253286
productRefGroup = 4102055E26A631F5004B24B3 /* Products */;
254287
projectDirPath = "";
255288
projectRoot = "";
@@ -742,6 +775,50 @@
742775
defaultConfigurationName = Release;
743776
};
744777
/* End XCConfigurationList section */
778+
779+
/* Begin XCRemoteSwiftPackageReference section */
780+
4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = {
781+
isa = XCRemoteSwiftPackageReference;
782+
repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git";
783+
requirement = {
784+
kind = exactVersion;
785+
version = 8.6.0;
786+
};
787+
};
788+
/* End XCRemoteSwiftPackageReference section */
789+
790+
/* Begin XCSwiftPackageProductDependency section */
791+
4131674626CD7AA90022392A /* FirebasePerformance */ = {
792+
isa = XCSwiftPackageProductDependency;
793+
package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
794+
productName = FirebasePerformance;
795+
};
796+
4131674826CD7AA90022392A /* FirebaseStorage */ = {
797+
isa = XCSwiftPackageProductDependency;
798+
package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
799+
productName = FirebaseStorage;
800+
};
801+
4131674A26CD7AA90022392A /* FirebaseStorageSwift-Beta */ = {
802+
isa = XCSwiftPackageProductDependency;
803+
package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
804+
productName = "FirebaseStorageSwift-Beta";
805+
};
806+
4131674D26CD7FB30022392A /* FirebasePerformance */ = {
807+
isa = XCSwiftPackageProductDependency;
808+
package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
809+
productName = FirebasePerformance;
810+
};
811+
4131674F26CD7FB30022392A /* FirebaseStorage */ = {
812+
isa = XCSwiftPackageProductDependency;
813+
package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
814+
productName = FirebaseStorage;
815+
};
816+
4131675126CD7FB30022392A /* FirebaseStorageSwift-Beta */ = {
817+
isa = XCSwiftPackageProductDependency;
818+
package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
819+
productName = "FirebaseStorageSwift-Beta";
820+
};
821+
/* End XCSwiftPackageProductDependency section */
745822
};
746823
rootObject = 4102055126A631F4004B24B3 /* Project object */;
747824
}

performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (iOS).xcscheme

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,9 @@
33
LastUpgradeVersion = "1300"
44
version = "1.3">
55
<BuildAction
6-
parallelizeBuildables = "NO"
7-
buildImplicitDependencies = "NO">
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
88
<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 = "8021E99D52387626CDC8C31AF3CE2380"
18-
BuildableName = "Pods_PerformanceExample__iOS_.framework"
19-
BlueprintName = "Pods-PerformanceExample (iOS)"
20-
ReferencedContainer = "container:Pods/Pods.xcodeproj">
21-
</BuildableReference>
22-
</BuildActionEntry>
239
<BuildActionEntry
2410
buildForTesting = "YES"
2511
buildForRunning = "YES"
@@ -34,20 +20,6 @@
3420
ReferencedContainer = "container:PerformanceExample.xcodeproj">
3521
</BuildableReference>
3622
</BuildActionEntry>
37-
<BuildActionEntry
38-
buildForTesting = "YES"
39-
buildForRunning = "NO"
40-
buildForProfiling = "NO"
41-
buildForArchiving = "NO"
42-
buildForAnalyzing = "NO">
43-
<BuildableReference
44-
BuildableIdentifier = "primary"
45-
BlueprintIdentifier = "209594F9B08530DEC9DC352B0C7DB656"
46-
BuildableName = "Pods_Tests_iOS.framework"
47-
BlueprintName = "Pods-Tests_iOS"
48-
ReferencedContainer = "container:Pods/Pods.xcodeproj">
49-
</BuildableReference>
50-
</BuildActionEntry>
5123
</BuildActionEntries>
5224
</BuildAction>
5325
<TestAction
@@ -88,12 +60,6 @@
8860
ReferencedContainer = "container:PerformanceExample.xcodeproj">
8961
</BuildableReference>
9062
</BuildableProductRunnable>
91-
<CommandLineArguments>
92-
<CommandLineArgument
93-
argument = "-FIRDebugEnabled"
94-
isEnabled = "YES">
95-
</CommandLineArgument>
96-
</CommandLineArguments>
9763
</LaunchAction>
9864
<ProfileAction
9965
buildConfiguration = "Release"

performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (tvOS).xcscheme

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,9 @@
33
LastUpgradeVersion = "1300"
44
version = "1.3">
55
<BuildAction
6-
parallelizeBuildables = "NO"
7-
buildImplicitDependencies = "NO">
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
88
<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 = "D90933B7D96235A59D594EE9ADBC74B1"
18-
BuildableName = "Pods_PerformanceExample__tvOS_.framework"
19-
BlueprintName = "Pods-PerformanceExample (tvOS)"
20-
ReferencedContainer = "container:Pods/Pods.xcodeproj">
21-
</BuildableReference>
22-
</BuildActionEntry>
239
<BuildActionEntry
2410
buildForTesting = "YES"
2511
buildForRunning = "YES"
@@ -34,20 +20,6 @@
3420
ReferencedContainer = "container:PerformanceExample.xcodeproj">
3521
</BuildableReference>
3622
</BuildActionEntry>
37-
<BuildActionEntry
38-
buildForTesting = "YES"
39-
buildForRunning = "NO"
40-
buildForProfiling = "NO"
41-
buildForArchiving = "NO"
42-
buildForAnalyzing = "NO">
43-
<BuildableReference
44-
BuildableIdentifier = "primary"
45-
BlueprintIdentifier = "84CB5680484672615735028A12B215B4"
46-
BuildableName = "Pods_Tests_tvOS.framework"
47-
BlueprintName = "Pods-Tests_tvOS"
48-
ReferencedContainer = "container:Pods/Pods.xcodeproj">
49-
</BuildableReference>
50-
</BuildActionEntry>
5123
</BuildActionEntries>
5224
</BuildAction>
5325
<TestAction
@@ -88,12 +60,6 @@
8860
ReferencedContainer = "container:PerformanceExample.xcodeproj">
8961
</BuildableReference>
9062
</BuildableProductRunnable>
91-
<CommandLineArguments>
92-
<CommandLineArgument
93-
argument = "-FIRDebugEnabled"
94-
isEnabled = "YES">
95-
</CommandLineArgument>
96-
</CommandLineArguments>
9763
</LaunchAction>
9864
<ProfileAction
9965
buildConfiguration = "Release"

performance/SwiftUIPerformanceQuickstart/PerformanceExample/Podfile

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)