diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 87e80fb11..3eab5e49d 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -11,8 +11,6 @@ on: - 'performance/**' - 'scripts/*' - 'scripts/performance.sh' - - '!performance/SwiftUIPerformanceQuickstart/PerformanceExample/*.md' - - '!performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/**' pull_request: branches: [ main ] paths: @@ -20,8 +18,6 @@ on: - 'performance/**' - 'scripts/*' - 'scripts/performance.sh' - - '!performance/SwiftUIPerformanceQuickstart/PerformanceExample/*.md' - - '!performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/**' workflow_dispatch: @@ -43,7 +39,7 @@ jobs: DEVICE: iPhone 16 TEST: true DIR: performance - SCHEME: PerformanceExample + SCHEME: PerformanceExample (iOS) steps: - name: Checkout uses: actions/checkout@master @@ -66,16 +62,19 @@ jobs: - os: iOS device: iPhone 16 test: false + scheme: PerformanceExample (iOS) - os: tvOS device: Apple TV 4K (3rd generation) (at 1080p) test: false + scheme: PerformanceExample (tvOS) env: SETUP: performance SPM: true - DIR: performance/SwiftUIPerformanceQuickstart/PerformanceExample + DIR: performance OS: ${{ matrix.os }} DEVICE: ${{ matrix.device }} TEST: ${{ matrix.test }} + SCHEME: ${{ matrix.scheme }} steps: - name: Checkout uses: actions/checkout@master diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/DESIGN.md b/performance/Design/DESIGN.md similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/DESIGN.md rename to performance/Design/DESIGN.md diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/MEDIA.md b/performance/Design/MEDIA.md similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/MEDIA.md rename to performance/Design/MEDIA.md diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/ClassifyView & SaliencyMapView - Not Ready.png b/performance/Design/Media/iOS/ClassifyView & SaliencyMapView - Not Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/ClassifyView & SaliencyMapView - Not Ready.png rename to performance/Design/Media/iOS/ClassifyView & SaliencyMapView - Not Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/ClassifyView - Ready.png b/performance/Design/Media/iOS/ClassifyView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/ClassifyView - Ready.png rename to performance/Design/Media/iOS/ClassifyView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/ClassifyView - Success.png b/performance/Design/Media/iOS/ClassifyView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/ClassifyView - Success.png rename to performance/Design/Media/iOS/ClassifyView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/DownloadView - Ready.png b/performance/Design/Media/iOS/DownloadView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/DownloadView - Ready.png rename to performance/Design/Media/iOS/DownloadView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/DownloadView - Success.png b/performance/Design/Media/iOS/DownloadView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/DownloadView - Success.png rename to performance/Design/Media/iOS/DownloadView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/MainView - Ready.png b/performance/Design/Media/iOS/MainView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/MainView - Ready.png rename to performance/Design/Media/iOS/MainView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/MainView - Success.png b/performance/Design/Media/iOS/MainView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/MainView - Success.png rename to performance/Design/Media/iOS/MainView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/Performance.gif b/performance/Design/Media/iOS/Performance.gif similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/Performance.gif rename to performance/Design/Media/iOS/Performance.gif diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/SaliencyMapView - Ready.png b/performance/Design/Media/iOS/SaliencyMapView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/SaliencyMapView - Ready.png rename to performance/Design/Media/iOS/SaliencyMapView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/SaliencyMapView - Success.png b/performance/Design/Media/iOS/SaliencyMapView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/SaliencyMapView - Success.png rename to performance/Design/Media/iOS/SaliencyMapView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Not Ready.png b/performance/Design/Media/iOS/UploadView - Not Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Not Ready.png rename to performance/Design/Media/iOS/UploadView - Not Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Ready.png b/performance/Design/Media/iOS/UploadView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Ready.png rename to performance/Design/Media/iOS/UploadView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Running.png b/performance/Design/Media/iOS/UploadView - Running.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Running.png rename to performance/Design/Media/iOS/UploadView - Running.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Success.png b/performance/Design/Media/iOS/UploadView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/iOS/UploadView - Success.png rename to performance/Design/Media/iOS/UploadView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/ClassifyView & SaliencyMapView - Not Ready.png b/performance/Design/Media/tvOS/ClassifyView & SaliencyMapView - Not Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/ClassifyView & SaliencyMapView - Not Ready.png rename to performance/Design/Media/tvOS/ClassifyView & SaliencyMapView - Not Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/ClassifyView - Ready.png b/performance/Design/Media/tvOS/ClassifyView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/ClassifyView - Ready.png rename to performance/Design/Media/tvOS/ClassifyView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/ClassifyView - Success.png b/performance/Design/Media/tvOS/ClassifyView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/ClassifyView - Success.png rename to performance/Design/Media/tvOS/ClassifyView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/DownloadView - Ready.png b/performance/Design/Media/tvOS/DownloadView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/DownloadView - Ready.png rename to performance/Design/Media/tvOS/DownloadView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/DownloadView - Success.png b/performance/Design/Media/tvOS/DownloadView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/DownloadView - Success.png rename to performance/Design/Media/tvOS/DownloadView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/MainView - Ready.png b/performance/Design/Media/tvOS/MainView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/MainView - Ready.png rename to performance/Design/Media/tvOS/MainView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/MainView - Success.png b/performance/Design/Media/tvOS/MainView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/MainView - Success.png rename to performance/Design/Media/tvOS/MainView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/Performance.gif b/performance/Design/Media/tvOS/Performance.gif similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/Performance.gif rename to performance/Design/Media/tvOS/Performance.gif diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/SaliencyMapVIew - Success.png b/performance/Design/Media/tvOS/SaliencyMapVIew - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/SaliencyMapVIew - Success.png rename to performance/Design/Media/tvOS/SaliencyMapVIew - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/SaliencyMapView - Ready.png b/performance/Design/Media/tvOS/SaliencyMapView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/SaliencyMapView - Ready.png rename to performance/Design/Media/tvOS/SaliencyMapView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Not Ready.png b/performance/Design/Media/tvOS/UploadView - Not Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Not Ready.png rename to performance/Design/Media/tvOS/UploadView - Not Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Ready.png b/performance/Design/Media/tvOS/UploadView - Ready.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Ready.png rename to performance/Design/Media/tvOS/UploadView - Ready.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Running.png b/performance/Design/Media/tvOS/UploadView - Running.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Running.png rename to performance/Design/Media/tvOS/UploadView - Running.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Success.png b/performance/Design/Media/tvOS/UploadView - Success.png similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/Media/tvOS/UploadView - Success.png rename to performance/Design/Media/tvOS/UploadView - Success.png diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/SYMBOLS.md b/performance/Design/SYMBOLS.md similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Design/SYMBOLS.md rename to performance/Design/SYMBOLS.md diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/OUTLINE.md b/performance/OUTLINE.md similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/OUTLINE.md rename to performance/OUTLINE.md diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample (iOS) Info.plist b/performance/PerformanceExample (iOS) Info.plist similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample (iOS) Info.plist rename to performance/PerformanceExample (iOS) Info.plist diff --git a/performance/PerformanceExample.xcodeproj/project.pbxproj b/performance/PerformanceExample.xcodeproj/project.pbxproj index 67b518825..730196c4f 100644 --- a/performance/PerformanceExample.xcodeproj/project.pbxproj +++ b/performance/PerformanceExample.xcodeproj/project.pbxproj @@ -7,110 +7,155 @@ objects = { /* Begin PBXBuildFile section */ - 107347C720315A61004A66D1 /* PerformanceExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107347C620315A61004A66D1 /* PerformanceExampleUITests.swift */; }; - 3AC4EE8864CD2D8B6ADE0A2D /* GoogleService-Info.plist in Sources */ = {isa = PBXBuildFile; fileRef = 664D51F1D2849F1D6A5F39A3 /* GoogleService-Info.plist */; }; - 5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */; }; - 5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */; }; - 5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961061AE0CF4F0034F503 /* Images.xcassets */; }; - 5F99610D1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */; }; - 8DC73D942D41B04B0092B6EE /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 8DC73D932D41B04B0092B6EE /* FirebaseAnalytics */; }; - 8DC73D962D41B04B0092B6EE /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 8DC73D952D41B04B0092B6EE /* FirebasePerformance */; }; - B3E22BC95F7192FC5242CC68 /* GoogleService-Info.plist in Sources */ = {isa = PBXBuildFile; fileRef = 664D51F1D2849F1D6A5F39A3 /* GoogleService-Info.plist */; }; + 4102056426A631F5004B24B3 /* PerformanceExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */; }; + 41292E9C26CB623B00747458 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9826CB623B00747458 /* MainView.swift */; }; + 41292E9D26CB623B00747458 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9826CB623B00747458 /* MainView.swift */; }; + 41292E9E26CB623B00747458 /* UploadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9926CB623B00747458 /* UploadView.swift */; }; + 41292E9F26CB623B00747458 /* UploadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9926CB623B00747458 /* UploadView.swift */; }; + 41292EA026CB623B00747458 /* ClassifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9A26CB623B00747458 /* ClassifyView.swift */; }; + 41292EA126CB623B00747458 /* ClassifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9A26CB623B00747458 /* ClassifyView.swift */; }; + 41292EA226CB623B00747458 /* DownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9B26CB623B00747458 /* DownloadView.swift */; }; + 41292EA326CB623B00747458 /* DownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9B26CB623B00747458 /* DownloadView.swift */; }; + 4131674726CD7AA90022392A /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674626CD7AA90022392A /* FirebasePerformance */; }; + 4131674926CD7AA90022392A /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674826CD7AA90022392A /* FirebaseStorage */; }; + 4131674E26CD7FB30022392A /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674D26CD7FB30022392A /* FirebasePerformance */; }; + 4131675026CD7FB30022392A /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674F26CD7FB30022392A /* FirebaseStorage */; }; + 419700ED26C30DA500F186C3 /* UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 419700EC26C30DA500F186C3 /* UITests.swift */; }; + 419700EE26C30DA500F186C3 /* UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 419700EC26C30DA500F186C3 /* UITests.swift */; }; + 41BFA1EA26B1D36C0013EB90 /* PerformanceExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */; }; + 41BFA1F026B1D8B80013EB90 /* Process.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41BFA1EF26B1D8B80013EB90 /* Process.swift */; }; + 41BFA1F326B1D8B80013EB90 /* Process.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41BFA1EF26B1D8B80013EB90 /* Process.swift */; }; + 41C3EC0D26D0100F009DCA8B /* SaliencyMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */; }; + 41C3EC0E26D0100F009DCA8B /* SaliencyMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */; }; + 41C3EC1226D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; + 41C3EC1326D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; + 41C3EC1426D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; + 41C3EC1526D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; + EAB2DF212EEB61880077EBD1 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = EAB2DF202EEB61880077EBD1 /* GoogleService-Info.plist */; }; + EAB2DF222EEB61880077EBD1 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = EAB2DF202EEB61880077EBD1 /* GoogleService-Info.plist */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 107347C920315A61004A66D1 /* PBXContainerItemProxy */ = { + 4102057A26A63210004B24B3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 5F5A53441ADE670C00F81DF0 /* Project object */; + containerPortal = 4102055126A631F4004B24B3 /* Project object */; proxyType = 1; - remoteGlobalIDString = 5F5A53781ADE67D500F81DF0; - remoteInfo = PerformanceExample; + remoteGlobalIDString = 4102055C26A631F5004B24B3; + remoteInfo = "PerformanceExample (iOS)"; + }; + 414C55A826B87EFB00114089 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4102055126A631F4004B24B3 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 410FF76826B1CEB500CA084F; + remoteInfo = "PerformanceExample (tvOS)"; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 107347C420315A61004A66D1 /* PerformanceExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PerformanceExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 107347C620315A61004A66D1 /* PerformanceExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PerformanceExampleUITests.swift; sourceTree = ""; }; - 107347C820315A61004A66D1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5F5A53791ADE67D500F81DF0 /* PerformanceExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PerformanceExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 5F9961061AE0CF4F0034F503 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = ""; }; - 664D51F1D2849F1D6A5F39A3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PerformanceExampleApp.swift; sourceTree = ""; }; + 4102055D26A631F5004B24B3 /* PerformanceExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PerformanceExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 4102057626A63210004B24B3 /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 410FF76926B1CEB500CA084F /* PerformanceExample (tvOS).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "PerformanceExample (tvOS).app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 41292E9826CB623B00747458 /* MainView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MainView.swift; path = Shared/Views/MainView.swift; sourceTree = ""; }; + 41292E9926CB623B00747458 /* UploadView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UploadView.swift; path = Shared/Views/UploadView.swift; sourceTree = ""; }; + 41292E9A26CB623B00747458 /* ClassifyView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ClassifyView.swift; path = Shared/Views/ClassifyView.swift; sourceTree = ""; }; + 41292E9B26CB623B00747458 /* DownloadView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DownloadView.swift; path = Shared/Views/DownloadView.swift; sourceTree = ""; }; + 41292EA526CB63B300747458 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 414C55A426B87EFB00114089 /* Tests tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 419700EC26C30DA500F186C3 /* UITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITests.swift; sourceTree = ""; }; + 41BFA1EF26B1D8B80013EB90 /* Process.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Process.swift; sourceTree = ""; }; + 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaliencyMapView.swift; path = Shared/Views/SaliencyMapView.swift; sourceTree = ""; }; + 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProcessDerivatives.swift; sourceTree = ""; }; + 41E4794526DF482500DB6471 /* PerformanceExample (iOS) Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "PerformanceExample (iOS) Info.plist"; sourceTree = ""; }; + EAB2DF202EEB61880077EBD1 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 107347C120315A61004A66D1 /* Frameworks */ = { + 4102055A26A631F5004B24B3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4131674726CD7AA90022392A /* FirebasePerformance in Frameworks */, + 4131674926CD7AA90022392A /* FirebaseStorage in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4102057326A63210004B24B3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 410FF76626B1CEB500CA084F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4131674E26CD7FB30022392A /* FirebasePerformance in Frameworks */, + 4131675026CD7FB30022392A /* FirebaseStorage in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5F5A53761ADE67D500F81DF0 /* Frameworks */ = { + 414C55A126B87EFB00114089 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8DC73D962D41B04B0092B6EE /* FirebasePerformance in Frameworks */, - 8DC73D942D41B04B0092B6EE /* FirebaseAnalytics in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 107347C520315A61004A66D1 /* PerformanceExampleUITests */ = { + 4102055026A631F4004B24B3 = { isa = PBXGroup; children = ( - 107347C620315A61004A66D1 /* PerformanceExampleUITests.swift */, - 107347C820315A61004A66D1 /* Info.plist */, + 41E4794526DF482500DB6471 /* PerformanceExample (iOS) Info.plist */, + 41292EA526CB63B300747458 /* README.md */, + EAB2DF202EEB61880077EBD1 /* GoogleService-Info.plist */, + 4102055526A631F4004B24B3 /* Shared */, + 4102055E26A631F5004B24B3 /* Products */, + 4131674C26CD7FB30022392A /* Frameworks */, ); - path = PerformanceExampleUITests; sourceTree = ""; }; - 5F5A53431ADE670C00F81DF0 = { + 4102055526A631F4004B24B3 /* Shared */ = { isa = PBXGroup; children = ( - 5F5A537A1ADE67D500F81DF0 /* PerformanceExample */, - 107347C520315A61004A66D1 /* PerformanceExampleUITests */, - 5F5A534D1ADE670C00F81DF0 /* Products */, - 5F9961041AE0CF4F0034F503 /* Shared */, - 664D51F1D2849F1D6A5F39A3 /* GoogleService-Info.plist */, - 8DC73D8E2D41B0430092B6EE /* Frameworks */, + 41292EA426CB624000747458 /* Views */, + 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */, + 41BFA1EF26B1D8B80013EB90 /* Process.swift */, + 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */, + 419700EC26C30DA500F186C3 /* UITests.swift */, ); + path = Shared; sourceTree = ""; - wrapsLines = 0; }; - 5F5A534D1ADE670C00F81DF0 /* Products */ = { + 4102055E26A631F5004B24B3 /* Products */ = { isa = PBXGroup; children = ( - 5F5A53791ADE67D500F81DF0 /* PerformanceExample.app */, - 107347C420315A61004A66D1 /* PerformanceExampleUITests.xctest */, + 4102055D26A631F5004B24B3 /* PerformanceExample.app */, + 4102057626A63210004B24B3 /* Tests iOS.xctest */, + 410FF76926B1CEB500CA084F /* PerformanceExample (tvOS).app */, + 414C55A426B87EFB00114089 /* Tests tvOS.xctest */, ); name = Products; sourceTree = ""; }; - 5F5A537A1ADE67D500F81DF0 /* PerformanceExample */ = { + 41292EA426CB624000747458 /* Views */ = { isa = PBXGroup; children = ( - 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */, - 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */, + 41292E9A26CB623B00747458 /* ClassifyView.swift */, + 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */, + 41292E9B26CB623B00747458 /* DownloadView.swift */, + 41292E9826CB623B00747458 /* MainView.swift */, + 41292E9926CB623B00747458 /* UploadView.swift */, ); - path = PerformanceExample; + name = Views; + path = ..; sourceTree = ""; }; - 5F9961041AE0CF4F0034F503 /* Shared */ = { - isa = PBXGroup; - children = ( - 5F9961061AE0CF4F0034F503 /* Images.xcassets */, - 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */, - ); - name = Shared; - path = ../shared; - sourceTree = ""; - }; - 8DC73D8E2D41B0430092B6EE /* Frameworks */ = { + 4131674C26CD7FB30022392A /* Frameworks */ = { isa = PBXGroup; children = ( ); @@ -120,210 +165,252 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 107347C320315A61004A66D1 /* PerformanceExampleUITests */ = { + 4102055C26A631F5004B24B3 /* PerformanceExample (iOS) */ = { isa = PBXNativeTarget; - buildConfigurationList = 107347CB20315A61004A66D1 /* Build configuration list for PBXNativeTarget "PerformanceExampleUITests" */; + buildConfigurationList = 4102056C26A631F5004B24B3 /* Build configuration list for PBXNativeTarget "PerformanceExample (iOS)" */; buildPhases = ( - 107347C020315A61004A66D1 /* Sources */, - 107347C120315A61004A66D1 /* Frameworks */, - 107347C220315A61004A66D1 /* Resources */, + 4102055926A631F5004B24B3 /* Sources */, + 4102055A26A631F5004B24B3 /* Frameworks */, + 4102055B26A631F5004B24B3 /* Resources */, ); buildRules = ( ); dependencies = ( - 107347CA20315A61004A66D1 /* PBXTargetDependency */, ); - name = PerformanceExampleUITests; - productName = PerformanceExampleUITests; - productReference = 107347C420315A61004A66D1 /* PerformanceExampleUITests.xctest */; + name = "PerformanceExample (iOS)"; + packageProductDependencies = ( + 4131674626CD7AA90022392A /* FirebasePerformance */, + 4131674826CD7AA90022392A /* FirebaseStorage */, + ); + productName = "PerformanceExample (iOS)"; + productReference = 4102055D26A631F5004B24B3 /* PerformanceExample.app */; + productType = "com.apple.product-type.application"; + }; + 4102057526A63210004B24B3 /* Tests iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4102057C26A63210004B24B3 /* Build configuration list for PBXNativeTarget "Tests iOS" */; + buildPhases = ( + 4102057226A63210004B24B3 /* Sources */, + 4102057326A63210004B24B3 /* Frameworks */, + 4102057426A63210004B24B3 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 4102057B26A63210004B24B3 /* PBXTargetDependency */, + ); + name = "Tests iOS"; + productName = Tests_iOS; + productReference = 4102057626A63210004B24B3 /* Tests iOS.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; - 5F5A53781ADE67D500F81DF0 /* PerformanceExample */ = { + 410FF76826B1CEB500CA084F /* PerformanceExample (tvOS) */ = { isa = PBXNativeTarget; - buildConfigurationList = 5F5A53991ADE67D500F81DF0 /* Build configuration list for PBXNativeTarget "PerformanceExample" */; + buildConfigurationList = 410FF77626B1CEB800CA084F /* Build configuration list for PBXNativeTarget "PerformanceExample (tvOS)" */; buildPhases = ( - 5F5A53751ADE67D500F81DF0 /* Sources */, - 5F5A53761ADE67D500F81DF0 /* Frameworks */, - 5F5A53771ADE67D500F81DF0 /* Resources */, + 410FF76526B1CEB500CA084F /* Sources */, + 410FF76626B1CEB500CA084F /* Frameworks */, + 410FF76726B1CEB500CA084F /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = PerformanceExample; + name = "PerformanceExample (tvOS)"; + packageProductDependencies = ( + 4131674D26CD7FB30022392A /* FirebasePerformance */, + 4131674F26CD7FB30022392A /* FirebaseStorage */, + ); productName = PerformanceExample; - productReference = 5F5A53791ADE67D500F81DF0 /* PerformanceExample.app */; + productReference = 410FF76926B1CEB500CA084F /* PerformanceExample (tvOS).app */; productType = "com.apple.product-type.application"; }; + 414C55A326B87EFB00114089 /* Tests tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 414C55AC26B87EFB00114089 /* Build configuration list for PBXNativeTarget "Tests tvOS" */; + buildPhases = ( + 414C55A026B87EFB00114089 /* Sources */, + 414C55A126B87EFB00114089 /* Frameworks */, + 414C55A226B87EFB00114089 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 414C55A926B87EFB00114089 /* PBXTargetDependency */, + ); + name = "Tests tvOS"; + productName = Tests_tvOS; + productReference = 414C55A426B87EFB00114089 /* Tests tvOS.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 5F5A53441ADE670C00F81DF0 /* Project object */ = { + 4102055126A631F4004B24B3 /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = YES; - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1610; - ORGANIZATIONNAME = "Google Inc."; + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1300; + LastUpgradeCheck = 1300; TargetAttributes = { - 107347C320315A61004A66D1 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1110; - ProvisioningStyle = Automatic; - TestTargetID = 5F5A53781ADE67D500F81DF0; + 4102055C26A631F5004B24B3 = { + CreatedOnToolsVersion = 13.0; + }; + 4102057526A63210004B24B3 = { + CreatedOnToolsVersion = 13.0; + LastSwiftMigration = 1300; + TestTargetID = 4102055C26A631F5004B24B3; }; - 5F5A53781ADE67D500F81DF0 = { - CreatedOnToolsVersion = 6.3; - LastSwiftMigration = 1110; - ProvisioningStyle = Automatic; + 410FF76826B1CEB500CA084F = { + CreatedOnToolsVersion = 13.0; + }; + 414C55A326B87EFB00114089 = { + CreatedOnToolsVersion = 13.0; + LastSwiftMigration = 1300; + TestTargetID = 410FF76826B1CEB500CA084F; }; }; }; - buildConfigurationList = 5F5A53471ADE670C00F81DF0 /* Build configuration list for PBXProject "PerformanceExample" */; - compatibilityVersion = "Xcode 3.2"; + buildConfigurationList = 4102055426A631F4004B24B3 /* Build configuration list for PBXProject "PerformanceExample" */; + compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); - mainGroup = 5F5A53431ADE670C00F81DF0; + mainGroup = 4102055026A631F4004B24B3; packageReferences = ( - 8DC73D8D2D41B01F0092B6EE /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, ); - productRefGroup = 5F5A534D1ADE670C00F81DF0 /* Products */; + productRefGroup = 4102055E26A631F5004B24B3 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 5F5A53781ADE67D500F81DF0 /* PerformanceExample */, - 107347C320315A61004A66D1 /* PerformanceExampleUITests */, + 4102055C26A631F5004B24B3 /* PerformanceExample (iOS) */, + 4102057526A63210004B24B3 /* Tests iOS */, + 410FF76826B1CEB500CA084F /* PerformanceExample (tvOS) */, + 414C55A326B87EFB00114089 /* Tests tvOS */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 107347C220315A61004A66D1 /* Resources */ = { + 4102055B26A631F5004B24B3 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + EAB2DF212EEB61880077EBD1 /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5F5A53771ADE67D500F81DF0 /* Resources */ = { + 4102057426A63210004B24B3 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 410FF76726B1CEB500CA084F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EAB2DF222EEB61880077EBD1 /* GoogleService-Info.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 414C55A226B87EFB00114089 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5F99610D1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */, - 5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 107347C020315A61004A66D1 /* Sources */ = { + 4102055926A631F5004B24B3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 107347C720315A61004A66D1 /* PerformanceExampleUITests.swift in Sources */, - 3AC4EE8864CD2D8B6ADE0A2D /* GoogleService-Info.plist in Sources */, + 41C3EC1226D05538009DCA8B /* ProcessDerivatives.swift in Sources */, + 41292E9E26CB623B00747458 /* UploadView.swift in Sources */, + 41292EA026CB623B00747458 /* ClassifyView.swift in Sources */, + 41C3EC0D26D0100F009DCA8B /* SaliencyMapView.swift in Sources */, + 41292E9C26CB623B00747458 /* MainView.swift in Sources */, + 41292EA226CB623B00747458 /* DownloadView.swift in Sources */, + 4102056426A631F5004B24B3 /* PerformanceExampleApp.swift in Sources */, + 41BFA1F026B1D8B80013EB90 /* Process.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5F5A53751ADE67D500F81DF0 /* Sources */ = { + 4102057226A63210004B24B3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */, - 5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */, - B3E22BC95F7192FC5242CC68 /* GoogleService-Info.plist in Sources */, + 419700ED26C30DA500F186C3 /* UITests.swift in Sources */, + 41C3EC1326D05538009DCA8B /* ProcessDerivatives.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 410FF76526B1CEB500CA084F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 41C3EC1426D05538009DCA8B /* ProcessDerivatives.swift in Sources */, + 41292E9F26CB623B00747458 /* UploadView.swift in Sources */, + 41292EA126CB623B00747458 /* ClassifyView.swift in Sources */, + 41C3EC0E26D0100F009DCA8B /* SaliencyMapView.swift in Sources */, + 41292E9D26CB623B00747458 /* MainView.swift in Sources */, + 41292EA326CB623B00747458 /* DownloadView.swift in Sources */, + 41BFA1EA26B1D36C0013EB90 /* PerformanceExampleApp.swift in Sources */, + 41BFA1F326B1D8B80013EB90 /* Process.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 414C55A026B87EFB00114089 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 419700EE26C30DA500F186C3 /* UITests.swift in Sources */, + 41C3EC1526D05538009DCA8B /* ProcessDerivatives.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 107347CA20315A61004A66D1 /* PBXTargetDependency */ = { + 4102057B26A63210004B24B3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 5F5A53781ADE67D500F81DF0 /* PerformanceExample */; - targetProxy = 107347C920315A61004A66D1 /* PBXContainerItemProxy */; + target = 4102055C26A631F5004B24B3 /* PerformanceExample (iOS) */; + targetProxy = 4102057A26A63210004B24B3 /* PBXContainerItemProxy */; + }; + 414C55A926B87EFB00114089 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 410FF76826B1CEB500CA084F /* PerformanceExample (tvOS) */; + targetProxy = 414C55A826B87EFB00114089 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 107347CC20315A61004A66D1 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = PerformanceExampleUITests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.PerformanceExampleUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = PerformanceExample; - }; - name = Debug; - }; - 107347CD20315A61004A66D1 /* Release */ = { + 4102056A26A631F5004B24B3 /* 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_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = PerformanceExampleUITests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.PerformanceExampleUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = PerformanceExample; - }; - name = Release; - }; - 5F5A536D1ADE670C00F81DF0 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = 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; @@ -336,15 +423,14 @@ 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; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - ENABLE_BITCODE = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -352,37 +438,40 @@ "DEBUG=1", "$(inherited)", ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; 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; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = YES; + GENERATE_INFOPLIST_FILE = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 5F5A536E1ADE670C00F81DF0 /* Release */ = { + 4102056B26A631F5004B24B3 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + 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_ENABLE_OBJC_WEAK = 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; @@ -395,15 +484,14 @@ 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; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_BITCODE = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; + 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; @@ -411,84 +499,249 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; + GENERATE_INFOPLIST_FILE = YES; MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; + MTL_FAST_MATH = YES; SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 4102056D26A631F5004B24B3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "PerformanceExample (iOS) Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; + PRODUCT_NAME = PerformanceExample; + SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 4102056E26A631F5004B24B3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "PerformanceExample (iOS) Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; + PRODUCT_NAME = PerformanceExample; + SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 5F5A53951ADE67D500F81DF0 /* Debug */ = { + 4102057D26A63210004B24B3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "$(SRCROOT)/PerformanceExample/Info.plist"; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", + "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.PerformanceExample; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SDKROOT = iphoneos; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "PerformanceExample (iOS)"; }; name = Debug; }; - 5F5A53961ADE67D500F81DF0 /* Release */ = { + 4102057E26A63210004B24B3 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = "$(SRCROOT)/PerformanceExample/Info.plist"; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", + "@loader_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.PerformanceExample; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SDKROOT = iphoneos; + SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "PerformanceExample (iOS)"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 410FF77426B1CEB800CA084F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_KEY_CFBundleExecutable = "PerformanceExample (tvOS)"; + INFOPLIST_KEY_CFBundleName = "PerformanceExample (tvOS)"; + INFOPLIST_KEY_CFBundleVersion = 1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 15.0; + }; + name = Debug; + }; + 410FF77526B1CEB800CA084F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_KEY_CFBundleExecutable = "PerformanceExample (tvOS)"; + INFOPLIST_KEY_CFBundleName = "PerformanceExample (tvOS)"; + INFOPLIST_KEY_CFBundleVersion = 1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 15.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 414C55AA26B87EFB00114089 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = "PerformanceExample (tvOS)"; + TVOS_DEPLOYMENT_TARGET = 15.0; + }; + name = Debug; + }; + 414C55AB26B87EFB00114089 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = "PerformanceExample (tvOS)"; + TVOS_DEPLOYMENT_TARGET = 15.0; + VALIDATE_PRODUCT = YES; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 107347CB20315A61004A66D1 /* Build configuration list for PBXNativeTarget "PerformanceExampleUITests" */ = { + 4102055426A631F4004B24B3 /* Build configuration list for PBXProject "PerformanceExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4102056A26A631F5004B24B3 /* Debug */, + 4102056B26A631F5004B24B3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4102056C26A631F5004B24B3 /* Build configuration list for PBXNativeTarget "PerformanceExample (iOS)" */ = { isa = XCConfigurationList; buildConfigurations = ( - 107347CC20315A61004A66D1 /* Debug */, - 107347CD20315A61004A66D1 /* Release */, + 4102056D26A631F5004B24B3 /* Debug */, + 4102056E26A631F5004B24B3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5F5A53471ADE670C00F81DF0 /* Build configuration list for PBXProject "PerformanceExample" */ = { + 4102057C26A63210004B24B3 /* Build configuration list for PBXNativeTarget "Tests iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5F5A536D1ADE670C00F81DF0 /* Debug */, - 5F5A536E1ADE670C00F81DF0 /* Release */, + 4102057D26A63210004B24B3 /* Debug */, + 4102057E26A63210004B24B3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5F5A53991ADE67D500F81DF0 /* Build configuration list for PBXNativeTarget "PerformanceExample" */ = { + 410FF77626B1CEB800CA084F /* Build configuration list for PBXNativeTarget "PerformanceExample (tvOS)" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5F5A53951ADE67D500F81DF0 /* Debug */, - 5F5A53961ADE67D500F81DF0 /* Release */, + 410FF77426B1CEB800CA084F /* Debug */, + 410FF77526B1CEB800CA084F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 414C55AC26B87EFB00114089 /* Build configuration list for PBXNativeTarget "Tests tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 414C55AA26B87EFB00114089 /* Debug */, + 414C55AB26B87EFB00114089 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -496,28 +749,38 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 8DC73D8D2D41B01F0092B6EE /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/firebase/firebase-ios-sdk"; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 11.7.0; + minimumVersion = 12.0.0; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 8DC73D932D41B04B0092B6EE /* FirebaseAnalytics */ = { + 4131674626CD7AA90022392A /* FirebasePerformance */ = { isa = XCSwiftPackageProductDependency; - package = 8DC73D8D2D41B01F0092B6EE /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; - productName = FirebaseAnalytics; + package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebasePerformance; }; - 8DC73D952D41B04B0092B6EE /* FirebasePerformance */ = { + 4131674826CD7AA90022392A /* FirebaseStorage */ = { isa = XCSwiftPackageProductDependency; - package = 8DC73D8D2D41B01F0092B6EE /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; + 4131674D26CD7FB30022392A /* FirebasePerformance */ = { + isa = XCSwiftPackageProductDependency; + package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; productName = FirebasePerformance; }; + 4131674F26CD7FB30022392A /* FirebaseStorage */ = { + isa = XCSwiftPackageProductDependency; + package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; /* End XCSwiftPackageProductDependency section */ }; - rootObject = 5F5A53441ADE670C00F81DF0 /* Project object */; + rootObject = 4102055126A631F4004B24B3 /* Project object */; } diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (iOS).xcscheme b/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (iOS).xcscheme similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (iOS).xcscheme rename to performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (iOS).xcscheme diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (tvOS).xcscheme b/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (tvOS).xcscheme similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (tvOS).xcscheme rename to performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample (tvOS).xcscheme diff --git a/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample.xcscheme b/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample.xcscheme deleted file mode 100644 index 1d3e807b7..000000000 --- a/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExample.xcscheme +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExampleUITests.xcscheme b/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExampleUITests.xcscheme deleted file mode 100644 index a7a3ccb40..000000000 --- a/performance/PerformanceExample.xcodeproj/xcshareddata/xcschemes/PerformanceExampleUITests.xcscheme +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/performance/PerformanceExample/AppDelegate.swift b/performance/PerformanceExample/AppDelegate.swift deleted file mode 100644 index eeacc913a..000000000 --- a/performance/PerformanceExample/AppDelegate.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// Copyright (c) 2016 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import UIKit -import FirebaseCore - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? - - func application(_ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [ - UIApplication.LaunchOptionsKey: Any - ]?) -> Bool { - // [START firebase_configure] - // Use Firebase library to configure APIs - FirebaseApp.configure() - // [END firebase_configure] - window = UIWindow(frame: UIScreen.main.bounds) - window?.rootViewController = ViewController() - window?.makeKeyAndVisible() - return true - } -} diff --git a/performance/PerformanceExample/Info.plist b/performance/PerformanceExample/Info.plist deleted file mode 100644 index 28c2da91a..000000000 --- a/performance/PerformanceExample/Info.plist +++ /dev/null @@ -1,49 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIcons - - CFBundleIcons~ipad - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/performance/PerformanceExample/ViewController.swift b/performance/PerformanceExample/ViewController.swift deleted file mode 100644 index b4841a88f..000000000 --- a/performance/PerformanceExample/ViewController.swift +++ /dev/null @@ -1,113 +0,0 @@ -// -// Copyright (c) 2016 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import UIKit -import FirebasePerformance -import AVKit -import AVFoundation - -@objc(ViewController) -class ViewController: UIViewController { - @IBOutlet var imageView: UIImageView! - - override func viewDidLoad() { - super.viewDidLoad() - - let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) - let documentsDirectory = paths[0] - - // make a file name to write the data to using the documents directory - let fileName = "\(documentsDirectory)/perfsamplelog.txt" - - // Start tracing - let trace = Performance.startTrace(name: "request_trace") - - let contents: String - do { - contents = try String(contentsOfFile: fileName, encoding: .utf8) - } catch { - print("Log file doesn't exist yet") - contents = "" - } - - let fileLength = contents.lengthOfBytes(using: .utf8) - - trace?.incrementMetric("log_file_size", by: Int64(fileLength)) - - let target = - "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" - guard let targetUrl = URL(string: target) else { return } - guard let metric = HTTPMetric(url: targetUrl, httpMethod: .get) else { return } - metric.start() - - var request = URLRequest(url: targetUrl) - request.httpMethod = "GET" - - let task = URLSession.shared.dataTask(with: request) { - data, response, error in - - if let httpResponse = response as? HTTPURLResponse { - metric.responseCode = httpResponse.statusCode - } - metric.stop() - - if let error = error { - print("error=\(error)") - return - } - - DispatchQueue.main.async { - self.imageView.image = UIImage(data: data!) - } - - trace?.stop() - - if let absoluteString = response?.url?.absoluteString { - let contentToWrite = contents + "\n" + absoluteString - do { - try contentToWrite.write(toFile: fileName, atomically: false, encoding: .utf8) - } catch { - print("Can't write to log file") - } - } - } - - task.resume() - trace?.incrementMetric("request_sent", by: 1) - - if #available(iOS 10, *) { - let asset = - AVURLAsset( - url: URL( - string: "https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Two_red_dice_01.svg/220px-Two_red_dice_01.svg.png" - )! - ) - let downloadSession = - AVAssetDownloadURLSession( - configuration: URLSessionConfiguration.background(withIdentifier: "avasset"), - assetDownloadDelegate: nil, - delegateQueue: OperationQueue.main - ) - - let task = downloadSession.makeAssetDownloadTask(asset: asset, - assetTitle: "something", - assetArtworkData: nil, - options: nil)! - task.resume() - trace?.incrementMetric("av_request_sent", by: 1) - } - } -} diff --git a/performance/PerformanceExampleUITests/Info.plist b/performance/PerformanceExampleUITests/Info.plist deleted file mode 100644 index 6c40a6cd0..000000000 --- a/performance/PerformanceExampleUITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/performance/PerformanceExampleUITests/PerformanceExampleUITests.swift b/performance/PerformanceExampleUITests/PerformanceExampleUITests.swift deleted file mode 100644 index c78f2b169..000000000 --- a/performance/PerformanceExampleUITests/PerformanceExampleUITests.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright (c) 2019 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import XCTest - -class PerformanceExampleUITests: XCTestCase { - override func setUp() { - super.setUp() - - // Put setup code here. This method is called before the invocation of each test method in the class. - - // In UI tests it is usually best to stop immediately when a failure occurs. - continueAfterFailure = false - // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. - XCUIApplication().launch() - - // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - func testExample() { - // Use recording to get started writing UI tests. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } -} diff --git a/performance/README.md b/performance/README.md index 78dc73bb0..770938b58 100644 --- a/performance/README.md +++ b/performance/README.md @@ -1,47 +1,51 @@ -Firebase Performance Monitoring Quickstart -============================= +# Firebase Performance Monitoring Quickstart -# Firebase Performance Monitoring +## Firebase Performance Monitoring -Firebase Performance Monitoring is a free mobile app performance analytics service. It -provides detailed information about the performance of your apps automatically, -but works at its best with Timers set by you. +Firebase Performance Monitoring is a free mobile app performance analytics service. It +provides detailed information about the performance of your apps (app start, network requests, +screen performance) automatically, while also allowing you to measure the performance of any piece +of code in your apps. -To view the SwiftUI quickstart, view the [SwiftUIPerformanceQuickstart](SwiftUIPerformanceQuickstart/PerformanceExample) directory. +See [OUTLINE.md](OUTLINE.md) for information on the design of the app, screenshots, and symbol +references. -Introduction ------------- +## Getting Started -- [Read more about Firebase Performance Monitoring](https://firebase.google.com/docs/perf-mon/) +- [Add Firebase to your iOS / tvOS Project](https://firebase.google.com/docs/ios/setup). +- [Create a default Cloud Storage bucket](https://firebase.google.com/docs/storage/ios/start#create-default-bucket). +- [Replace your Storage Security Rules](https://firebase.google.com/docs/storage/security/get-started#access_your_rules) with the following: +``` +rules_version = '2'; +service firebase.storage { + match /b/{bucket}/o { + match /saliency_map.jpg { + allow create: if request.resource.contentType == 'image/jpeg' + } + } +} +``` +**Warning:** *these rules do not follow security best practices and are only intended for demonstration purposes. Please read more on why these rules are not secure [here](https://firebase.google.com/docs/rules/insecure-rules#open_access).* +- Run the sample on your iOS / tvOS device or simulator. + - If your build fails due to package errors, try resetting package caches (File > Swift Packages > Reset Package Caches). -Getting Started ---------------- -- [Add Firebase to your iOS Project](https://firebase.google.com/docs/ios/setup). -- Run the sample on your iOS device or simulator. - - -Support -------- +## Support - [Firebase Support](https://firebase.google.com/support/) -License -------- +## License -Copyright 2016 Google, Inc. +Copyright 2021 Google LLC -Licensed to the Apache Software Foundation (ASF) under one or more contributor -license agreements. See the NOTICE file distributed with this work for -additional information regarding copyright ownership. The ASF licenses this -file to you under the Apache License, Version 2.0 (the "License"); you may not -use this file except in compliance with the License. You may obtain a copy of -the License at +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 +http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations under -the License. +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/PerformanceExampleApp.swift b/performance/Shared/PerformanceExampleApp.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/PerformanceExampleApp.swift rename to performance/Shared/PerformanceExampleApp.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Process.swift b/performance/Shared/Process.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Process.swift rename to performance/Shared/Process.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/ProcessDerivatives.swift b/performance/Shared/ProcessDerivatives.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/ProcessDerivatives.swift rename to performance/Shared/ProcessDerivatives.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/UITests.swift b/performance/Shared/UITests.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/UITests.swift rename to performance/Shared/UITests.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/ClassifyView.swift b/performance/Shared/Views/ClassifyView.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/ClassifyView.swift rename to performance/Shared/Views/ClassifyView.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/DownloadView.swift b/performance/Shared/Views/DownloadView.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/DownloadView.swift rename to performance/Shared/Views/DownloadView.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/MainView.swift b/performance/Shared/Views/MainView.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/MainView.swift rename to performance/Shared/Views/MainView.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/SaliencyMapView.swift b/performance/Shared/Views/SaliencyMapView.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/SaliencyMapView.swift rename to performance/Shared/Views/SaliencyMapView.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/UploadView.swift b/performance/Shared/Views/UploadView.swift similarity index 100% rename from performance/SwiftUIPerformanceQuickstart/PerformanceExample/Shared/Views/UploadView.swift rename to performance/Shared/Views/UploadView.swift diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/project.pbxproj b/performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/project.pbxproj deleted file mode 100644 index 77eae4f9b..000000000 --- a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/PerformanceExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,786 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 4102056426A631F5004B24B3 /* PerformanceExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */; }; - 41292E9C26CB623B00747458 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9826CB623B00747458 /* MainView.swift */; }; - 41292E9D26CB623B00747458 /* MainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9826CB623B00747458 /* MainView.swift */; }; - 41292E9E26CB623B00747458 /* UploadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9926CB623B00747458 /* UploadView.swift */; }; - 41292E9F26CB623B00747458 /* UploadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9926CB623B00747458 /* UploadView.swift */; }; - 41292EA026CB623B00747458 /* ClassifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9A26CB623B00747458 /* ClassifyView.swift */; }; - 41292EA126CB623B00747458 /* ClassifyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9A26CB623B00747458 /* ClassifyView.swift */; }; - 41292EA226CB623B00747458 /* DownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9B26CB623B00747458 /* DownloadView.swift */; }; - 41292EA326CB623B00747458 /* DownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41292E9B26CB623B00747458 /* DownloadView.swift */; }; - 4131674726CD7AA90022392A /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674626CD7AA90022392A /* FirebasePerformance */; }; - 4131674926CD7AA90022392A /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674826CD7AA90022392A /* FirebaseStorage */; }; - 4131674E26CD7FB30022392A /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674D26CD7FB30022392A /* FirebasePerformance */; }; - 4131675026CD7FB30022392A /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 4131674F26CD7FB30022392A /* FirebaseStorage */; }; - 419700ED26C30DA500F186C3 /* UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 419700EC26C30DA500F186C3 /* UITests.swift */; }; - 419700EE26C30DA500F186C3 /* UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 419700EC26C30DA500F186C3 /* UITests.swift */; }; - 419AADCE26B86A94005C4817 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 419AADCD26B86A94005C4817 /* GoogleService-Info.plist */; }; - 419AADCF26B86A94005C4817 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 419AADCD26B86A94005C4817 /* GoogleService-Info.plist */; }; - 41BFA1EA26B1D36C0013EB90 /* PerformanceExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */; }; - 41BFA1F026B1D8B80013EB90 /* Process.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41BFA1EF26B1D8B80013EB90 /* Process.swift */; }; - 41BFA1F326B1D8B80013EB90 /* Process.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41BFA1EF26B1D8B80013EB90 /* Process.swift */; }; - 41C3EC0D26D0100F009DCA8B /* SaliencyMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */; }; - 41C3EC0E26D0100F009DCA8B /* SaliencyMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */; }; - 41C3EC1226D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; - 41C3EC1326D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; - 41C3EC1426D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; - 41C3EC1526D05538009DCA8B /* ProcessDerivatives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 4102057A26A63210004B24B3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4102055126A631F4004B24B3 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4102055C26A631F5004B24B3; - remoteInfo = "PerformanceExample (iOS)"; - }; - 414C55A826B87EFB00114089 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 4102055126A631F4004B24B3 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 410FF76826B1CEB500CA084F; - remoteInfo = "PerformanceExample (tvOS)"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PerformanceExampleApp.swift; sourceTree = ""; }; - 4102055D26A631F5004B24B3 /* PerformanceExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PerformanceExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 4102057626A63210004B24B3 /* Tests iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests iOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 410FF76926B1CEB500CA084F /* PerformanceExample (tvOS).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "PerformanceExample (tvOS).app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 41292E9826CB623B00747458 /* MainView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MainView.swift; path = Shared/Views/MainView.swift; sourceTree = ""; }; - 41292E9926CB623B00747458 /* UploadView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UploadView.swift; path = Shared/Views/UploadView.swift; sourceTree = ""; }; - 41292E9A26CB623B00747458 /* ClassifyView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ClassifyView.swift; path = Shared/Views/ClassifyView.swift; sourceTree = ""; }; - 41292E9B26CB623B00747458 /* DownloadView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DownloadView.swift; path = Shared/Views/DownloadView.swift; sourceTree = ""; }; - 41292EA526CB63B300747458 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 414C55A426B87EFB00114089 /* Tests tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Tests tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 419700EC26C30DA500F186C3 /* UITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITests.swift; sourceTree = ""; }; - 419AADCD26B86A94005C4817 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../GoogleService-Info.plist"; sourceTree = ""; }; - 41BFA1EF26B1D8B80013EB90 /* Process.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Process.swift; sourceTree = ""; }; - 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SaliencyMapView.swift; path = Shared/Views/SaliencyMapView.swift; sourceTree = ""; }; - 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProcessDerivatives.swift; sourceTree = ""; }; - 41E4794526DF482500DB6471 /* PerformanceExample (iOS) Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "PerformanceExample (iOS) Info.plist"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 4102055A26A631F5004B24B3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4131674726CD7AA90022392A /* FirebasePerformance in Frameworks */, - 4131674926CD7AA90022392A /* FirebaseStorage in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4102057326A63210004B24B3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 410FF76626B1CEB500CA084F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4131674E26CD7FB30022392A /* FirebasePerformance in Frameworks */, - 4131675026CD7FB30022392A /* FirebaseStorage in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 414C55A126B87EFB00114089 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 4102055026A631F4004B24B3 = { - isa = PBXGroup; - children = ( - 41E4794526DF482500DB6471 /* PerformanceExample (iOS) Info.plist */, - 41292EA526CB63B300747458 /* README.md */, - 419AADCD26B86A94005C4817 /* GoogleService-Info.plist */, - 4102055526A631F4004B24B3 /* Shared */, - 4102055E26A631F5004B24B3 /* Products */, - 4131674C26CD7FB30022392A /* Frameworks */, - ); - sourceTree = ""; - }; - 4102055526A631F4004B24B3 /* Shared */ = { - isa = PBXGroup; - children = ( - 41292EA426CB624000747458 /* Views */, - 4102055626A631F4004B24B3 /* PerformanceExampleApp.swift */, - 41BFA1EF26B1D8B80013EB90 /* Process.swift */, - 41C3EC1126D05538009DCA8B /* ProcessDerivatives.swift */, - 419700EC26C30DA500F186C3 /* UITests.swift */, - ); - path = Shared; - sourceTree = ""; - }; - 4102055E26A631F5004B24B3 /* Products */ = { - isa = PBXGroup; - children = ( - 4102055D26A631F5004B24B3 /* PerformanceExample.app */, - 4102057626A63210004B24B3 /* Tests iOS.xctest */, - 410FF76926B1CEB500CA084F /* PerformanceExample (tvOS).app */, - 414C55A426B87EFB00114089 /* Tests tvOS.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 41292EA426CB624000747458 /* Views */ = { - isa = PBXGroup; - children = ( - 41292E9A26CB623B00747458 /* ClassifyView.swift */, - 41C3EC0C26D0100F009DCA8B /* SaliencyMapView.swift */, - 41292E9B26CB623B00747458 /* DownloadView.swift */, - 41292E9826CB623B00747458 /* MainView.swift */, - 41292E9926CB623B00747458 /* UploadView.swift */, - ); - name = Views; - path = ..; - sourceTree = ""; - }; - 4131674C26CD7FB30022392A /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 4102055C26A631F5004B24B3 /* PerformanceExample (iOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4102056C26A631F5004B24B3 /* Build configuration list for PBXNativeTarget "PerformanceExample (iOS)" */; - buildPhases = ( - 4102055926A631F5004B24B3 /* Sources */, - 4102055A26A631F5004B24B3 /* Frameworks */, - 4102055B26A631F5004B24B3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PerformanceExample (iOS)"; - packageProductDependencies = ( - 4131674626CD7AA90022392A /* FirebasePerformance */, - 4131674826CD7AA90022392A /* FirebaseStorage */, - ); - productName = "PerformanceExample (iOS)"; - productReference = 4102055D26A631F5004B24B3 /* PerformanceExample.app */; - productType = "com.apple.product-type.application"; - }; - 4102057526A63210004B24B3 /* Tests iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4102057C26A63210004B24B3 /* Build configuration list for PBXNativeTarget "Tests iOS" */; - buildPhases = ( - 4102057226A63210004B24B3 /* Sources */, - 4102057326A63210004B24B3 /* Frameworks */, - 4102057426A63210004B24B3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 4102057B26A63210004B24B3 /* PBXTargetDependency */, - ); - name = "Tests iOS"; - productName = Tests_iOS; - productReference = 4102057626A63210004B24B3 /* Tests iOS.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; - 410FF76826B1CEB500CA084F /* PerformanceExample (tvOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 410FF77626B1CEB800CA084F /* Build configuration list for PBXNativeTarget "PerformanceExample (tvOS)" */; - buildPhases = ( - 410FF76526B1CEB500CA084F /* Sources */, - 410FF76626B1CEB500CA084F /* Frameworks */, - 410FF76726B1CEB500CA084F /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PerformanceExample (tvOS)"; - packageProductDependencies = ( - 4131674D26CD7FB30022392A /* FirebasePerformance */, - 4131674F26CD7FB30022392A /* FirebaseStorage */, - ); - productName = PerformanceExample; - productReference = 410FF76926B1CEB500CA084F /* PerformanceExample (tvOS).app */; - productType = "com.apple.product-type.application"; - }; - 414C55A326B87EFB00114089 /* Tests tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 414C55AC26B87EFB00114089 /* Build configuration list for PBXNativeTarget "Tests tvOS" */; - buildPhases = ( - 414C55A026B87EFB00114089 /* Sources */, - 414C55A126B87EFB00114089 /* Frameworks */, - 414C55A226B87EFB00114089 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 414C55A926B87EFB00114089 /* PBXTargetDependency */, - ); - name = "Tests tvOS"; - productName = Tests_tvOS; - productReference = 414C55A426B87EFB00114089 /* Tests tvOS.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 4102055126A631F4004B24B3 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1300; - LastUpgradeCheck = 1300; - TargetAttributes = { - 4102055C26A631F5004B24B3 = { - CreatedOnToolsVersion = 13.0; - }; - 4102057526A63210004B24B3 = { - CreatedOnToolsVersion = 13.0; - LastSwiftMigration = 1300; - TestTargetID = 4102055C26A631F5004B24B3; - }; - 410FF76826B1CEB500CA084F = { - CreatedOnToolsVersion = 13.0; - }; - 414C55A326B87EFB00114089 = { - CreatedOnToolsVersion = 13.0; - LastSwiftMigration = 1300; - TestTargetID = 410FF76826B1CEB500CA084F; - }; - }; - }; - buildConfigurationList = 4102055426A631F4004B24B3 /* Build configuration list for PBXProject "PerformanceExample" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 4102055026A631F4004B24B3; - packageReferences = ( - 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, - ); - productRefGroup = 4102055E26A631F5004B24B3 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 4102055C26A631F5004B24B3 /* PerformanceExample (iOS) */, - 4102057526A63210004B24B3 /* Tests iOS */, - 410FF76826B1CEB500CA084F /* PerformanceExample (tvOS) */, - 414C55A326B87EFB00114089 /* Tests tvOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 4102055B26A631F5004B24B3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 419AADCE26B86A94005C4817 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4102057426A63210004B24B3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 410FF76726B1CEB500CA084F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 419AADCF26B86A94005C4817 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 414C55A226B87EFB00114089 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 4102055926A631F5004B24B3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 41C3EC1226D05538009DCA8B /* ProcessDerivatives.swift in Sources */, - 41292E9E26CB623B00747458 /* UploadView.swift in Sources */, - 41292EA026CB623B00747458 /* ClassifyView.swift in Sources */, - 41C3EC0D26D0100F009DCA8B /* SaliencyMapView.swift in Sources */, - 41292E9C26CB623B00747458 /* MainView.swift in Sources */, - 41292EA226CB623B00747458 /* DownloadView.swift in Sources */, - 4102056426A631F5004B24B3 /* PerformanceExampleApp.swift in Sources */, - 41BFA1F026B1D8B80013EB90 /* Process.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4102057226A63210004B24B3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 419700ED26C30DA500F186C3 /* UITests.swift in Sources */, - 41C3EC1326D05538009DCA8B /* ProcessDerivatives.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 410FF76526B1CEB500CA084F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 41C3EC1426D05538009DCA8B /* ProcessDerivatives.swift in Sources */, - 41292E9F26CB623B00747458 /* UploadView.swift in Sources */, - 41292EA126CB623B00747458 /* ClassifyView.swift in Sources */, - 41C3EC0E26D0100F009DCA8B /* SaliencyMapView.swift in Sources */, - 41292E9D26CB623B00747458 /* MainView.swift in Sources */, - 41292EA326CB623B00747458 /* DownloadView.swift in Sources */, - 41BFA1EA26B1D36C0013EB90 /* PerformanceExampleApp.swift in Sources */, - 41BFA1F326B1D8B80013EB90 /* Process.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 414C55A026B87EFB00114089 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 419700EE26C30DA500F186C3 /* UITests.swift in Sources */, - 41C3EC1526D05538009DCA8B /* ProcessDerivatives.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 4102057B26A63210004B24B3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4102055C26A631F5004B24B3 /* PerformanceExample (iOS) */; - targetProxy = 4102057A26A63210004B24B3 /* PBXContainerItemProxy */; - }; - 414C55A926B87EFB00114089 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 410FF76826B1CEB500CA084F /* PerformanceExample (tvOS) */; - targetProxy = 414C55A826B87EFB00114089 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 4102056A26A631F5004B24B3 /* 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_ENABLE_OBJC_WEAK = 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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 = ( - "DEBUG=1", - "$(inherited)", - ); - 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; - GENERATE_INFOPLIST_FILE = YES; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 4102056B26A631F5004B24B3 /* 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_ENABLE_OBJC_WEAK = 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - GENERATE_INFOPLIST_FILE = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 4102056D26A631F5004B24B3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = "PerformanceExample (iOS) Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; - PRODUCT_NAME = PerformanceExample; - SDKROOT = iphoneos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 4102056E26A631F5004B24B3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = "PerformanceExample (iOS) Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; - PRODUCT_NAME = PerformanceExample; - SDKROOT = iphoneos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 4102057D26A63210004B24B3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-iOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "PerformanceExample (iOS)"; - }; - name = Debug; - }; - 4102057E26A63210004B24B3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-iOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = "PerformanceExample (iOS)"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 410FF77426B1CEB800CA084F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = ""; - ENABLE_PREVIEWS = YES; - INFOPLIST_KEY_CFBundleExecutable = "PerformanceExample (tvOS)"; - INFOPLIST_KEY_CFBundleName = "PerformanceExample (tvOS)"; - INFOPLIST_KEY_CFBundleVersion = 1; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 15.0; - }; - name = Debug; - }; - 410FF77526B1CEB800CA084F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = ""; - ENABLE_PREVIEWS = YES; - INFOPLIST_KEY_CFBundleExecutable = "PerformanceExample (tvOS)"; - INFOPLIST_KEY_CFBundleName = "PerformanceExample (tvOS)"; - INFOPLIST_KEY_CFBundleVersion = 1; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.PerformanceExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 15.0; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 414C55AA26B87EFB00114089 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-tvOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; - TEST_TARGET_NAME = "PerformanceExample (tvOS)"; - TVOS_DEPLOYMENT_TARGET = 15.0; - }; - name = Debug; - }; - 414C55AB26B87EFB00114089 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.firebase.Tests-tvOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; - TEST_TARGET_NAME = "PerformanceExample (tvOS)"; - TVOS_DEPLOYMENT_TARGET = 15.0; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 4102055426A631F4004B24B3 /* Build configuration list for PBXProject "PerformanceExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4102056A26A631F5004B24B3 /* Debug */, - 4102056B26A631F5004B24B3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4102056C26A631F5004B24B3 /* Build configuration list for PBXNativeTarget "PerformanceExample (iOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4102056D26A631F5004B24B3 /* Debug */, - 4102056E26A631F5004B24B3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4102057C26A63210004B24B3 /* Build configuration list for PBXNativeTarget "Tests iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4102057D26A63210004B24B3 /* Debug */, - 4102057E26A63210004B24B3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 410FF77626B1CEB800CA084F /* Build configuration list for PBXNativeTarget "PerformanceExample (tvOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 410FF77426B1CEB800CA084F /* Debug */, - 410FF77526B1CEB800CA084F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 414C55AC26B87EFB00114089 /* Build configuration list for PBXNativeTarget "Tests tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 414C55AA26B87EFB00114089 /* Debug */, - 414C55AB26B87EFB00114089 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCRemoteSwiftPackageReference section */ - 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 10.0.0; - }; - }; -/* End XCRemoteSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 4131674626CD7AA90022392A /* FirebasePerformance */ = { - isa = XCSwiftPackageProductDependency; - package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; - productName = FirebasePerformance; - }; - 4131674826CD7AA90022392A /* FirebaseStorage */ = { - isa = XCSwiftPackageProductDependency; - package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; - productName = FirebaseStorage; - }; - 4131674D26CD7FB30022392A /* FirebasePerformance */ = { - isa = XCSwiftPackageProductDependency; - package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; - productName = FirebasePerformance; - }; - 4131674F26CD7FB30022392A /* FirebaseStorage */ = { - isa = XCSwiftPackageProductDependency; - package = 4131674526CD7AA90022392A /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; - productName = FirebaseStorage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 4102055126A631F4004B24B3 /* Project object */; -} diff --git a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/README.md b/performance/SwiftUIPerformanceQuickstart/PerformanceExample/README.md deleted file mode 100644 index 770938b58..000000000 --- a/performance/SwiftUIPerformanceQuickstart/PerformanceExample/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# Firebase Performance Monitoring Quickstart - -## Firebase Performance Monitoring - -Firebase Performance Monitoring is a free mobile app performance analytics service. It -provides detailed information about the performance of your apps (app start, network requests, -screen performance) automatically, while also allowing you to measure the performance of any piece -of code in your apps. - -See [OUTLINE.md](OUTLINE.md) for information on the design of the app, screenshots, and symbol -references. - -## Getting Started - -- [Add Firebase to your iOS / tvOS Project](https://firebase.google.com/docs/ios/setup). -- [Create a default Cloud Storage bucket](https://firebase.google.com/docs/storage/ios/start#create-default-bucket). -- [Replace your Storage Security Rules](https://firebase.google.com/docs/storage/security/get-started#access_your_rules) with the following: -``` -rules_version = '2'; -service firebase.storage { - match /b/{bucket}/o { - match /saliency_map.jpg { - allow create: if request.resource.contentType == 'image/jpeg' - } - } -} -``` -**Warning:** *these rules do not follow security best practices and are only intended for demonstration purposes. Please read more on why these rules are not secure [here](https://firebase.google.com/docs/rules/insecure-rules#open_access).* -- Run the sample on your iOS / tvOS device or simulator. - - If your build fails due to package errors, try resetting package caches (File > Swift Packages > Reset Package Caches). - - -## Support - -- [Firebase Support](https://firebase.google.com/support/) - -## License - -Copyright 2021 Google LLC - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.