Apple Fitness workout fixer + Strava uploader

Add app icon and register overrun:// URL scheme for Strava OAuth

+53
Overrun.icon/Assets/Overrun icon 2.png

This is a binary file and will not be displayed.

+38
Overrun.icon/icon.json
··· 1 + { 2 + "fill" : { 3 + "automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000" 4 + }, 5 + "groups" : [ 6 + { 7 + "layers" : [ 8 + { 9 + "glass" : true, 10 + "hidden" : false, 11 + "image-name" : "Overrun icon 2.png", 12 + "name" : "Overrun icon 2", 13 + "position" : { 14 + "scale" : 1.2, 15 + "translation-in-points" : [ 16 + 0, 17 + 0 18 + ] 19 + } 20 + } 21 + ], 22 + "shadow" : { 23 + "kind" : "neutral", 24 + "opacity" : 0.5 25 + }, 26 + "translucency" : { 27 + "enabled" : true, 28 + "value" : 0.5 29 + } 30 + } 31 + ], 32 + "supported-platforms" : { 33 + "circles" : [ 34 + "watchOS" 35 + ], 36 + "squares" : "shared" 37 + } 38 + }
+4
WorkoutEditor.xcodeproj/project.pbxproj
··· 13 13 06E7DFC32B3653F70025260F /* HealthKitManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06E7DFC22B3653F70025260F /* HealthKitManager.swift */; }; 14 14 06E7DFC52B3654500025260F /* WorkoutListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06E7DFC42B3654500025260F /* WorkoutListView.swift */; }; 15 15 06E7DFC72B3654D50025260F /* WorkoutEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06E7DFC62B3654D50025260F /* WorkoutEditView.swift */; }; 16 + 224660472F4F47C700A98FB5 /* Overrun.icon in Resources */ = {isa = PBXBuildFile; fileRef = 224660462F4F47C600A98FB5 /* Overrun.icon */; }; 16 17 AA000001AAAA000100000001 /* ActivityGraphView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA000001AAAA000100000002 /* ActivityGraphView.swift */; }; 17 18 AA000002AAAA000200000001 /* RangeSliderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA000002AAAA000200000002 /* RangeSliderView.swift */; }; 18 19 AA000003AAAA000300000001 /* StravaManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA000003AAAA000300000002 /* StravaManager.swift */; }; ··· 29 30 06E7DFC42B3654500025260F /* WorkoutListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkoutListView.swift; sourceTree = "<group>"; }; 30 31 06E7DFC62B3654D50025260F /* WorkoutEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkoutEditView.swift; sourceTree = "<group>"; }; 31 32 06E7DFC82B3668D10025260F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 33 + 224660462F4F47C600A98FB5 /* Overrun.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = Overrun.icon; sourceTree = "<group>"; }; 32 34 AA000001AAAA000100000002 /* ActivityGraphView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityGraphView.swift; sourceTree = "<group>"; }; 33 35 AA000002AAAA000200000002 /* RangeSliderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RangeSliderView.swift; sourceTree = "<group>"; }; 34 36 AA000003AAAA000300000002 /* StravaManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StravaManager.swift; sourceTree = "<group>"; }; ··· 59 61 06E7DFAA2B3608DD0025260F /* WorkoutEditor */, 60 62 06E7DFA92B3608DD0025260F /* Products */, 61 63 063E686A2B45161A0048778C /* Frameworks */, 64 + 224660462F4F47C600A98FB5 /* Overrun.icon */, 62 65 ); 63 66 sourceTree = "<group>"; 64 67 }; ··· 155 158 buildActionMask = 2147483647; 156 159 files = ( 157 160 06E7DFB32B3608E00025260F /* Preview Assets.xcassets in Resources */, 161 + 224660472F4F47C700A98FB5 /* Overrun.icon in Resources */, 158 162 06E7DFB02B3608E00025260F /* Assets.xcassets in Resources */, 159 163 ); 160 164 runOnlyForDeploymentPostprocessing = 0;
+11
WorkoutEditor/Info.plist
··· 6 6 <string>Overrun</string> 7 7 <key>UIBackgroundModes</key> 8 8 <array/> 9 + <key>CFBundleURLTypes</key> 10 + <array> 11 + <dict> 12 + <key>CFBundleURLName</key> 13 + <string>com.metafluff.overrun.strava</string> 14 + <key>CFBundleURLSchemes</key> 15 + <array> 16 + <string>overrun</string> 17 + </array> 18 + </dict> 19 + </array> 9 20 <key>NSHealthShareUsageDescription</key> 10 21 <string>Overrun needs to read your workouts so you can view and edit them.</string> 11 22 <key>NSHealthUpdateUsageDescription</key>